when I launch a fresh and clean Cordova app (I am unable to reproduce this on our native Android HelloWorld), and open it the first time for registration, I am receiving a 400 status code from the server.

Uninstalling the app, and launching it again, show the the problem again, ONLY on Cordova...

This means either the deviceToken from Android is null or invalid (according to the pattern):

Doing some debugging, on the server, I see the provided token is actually null.

Is there a race condition or so on the client, for the initial launch of the app ? 

I added some logging on the client (see [1]), and indeed, it looks like, on Cordova, it is actually null:

Now... a few lines above... I see 'outdated' c2dm packages/permissions, and a GCM: "Missmatched messenger", it looks like something is still not correct.

Any thoughts ? 


[1] https://github.com/matzew/aerogear-android-push/commit/1fa6aad53da4e1b9c44c59edd3086025b32a12d5