GCM Invalid sender error
android, google-cloud-messaging
Solution
Finally got around this. Was accidentally trying to use the the 'Project ID' instead of the 'Project Number'. Google Developer Console provides both on the Overview page, make sure you are using the correct one.
Problem
I'm stuck for a while on a mysterious problem. So I implemented GCM in my android app, but i receive an INVALID_SENDER error. - My SENDER_ID is the id from the url of the google project. - The Android push notifications are ON The weird thing about this is that i already have a registration id to send notifications to. So my console looks like this: ``` 03-26 09:39:20.233: I/<test>(19761): Already registered: APA91bG6- O3OnZt50EAjYvJ5KETv3qAlPOn2SfOPXez7SLAmaAOkHTN6EMDJb91gFIWkftZkJiub6UoEk4O- WQP7kk2oZGQjZ1VCZZS0WddQtjFaCfYfZfb7SEw3IS1sd4caJcdZE4LA1F0hxzc7Ss1UiYHXX-XXXX 03-26 09:48:23.522: I/<test>(19925): GCMIntentService 03-26 09:39:20.670: I/<test>(19761): on Error INVALID_SENDER ``` Inside the onCreate: ``` GCMRegistrar.checkDevice(this); GCMRegistrar.checkManifest(this); final String regId = GCMRegistrar.getRegistrationId(this); if (regId.equals("")) { Log.i("<test>", "registering"); GCMRegistrar.register(this, "2194354949XX"); } else { Log.i("<test>", "Already registered: " + regId); } ``` broadcastreceiver: ``` public class GCMBroadcastReceiver extends com.google.android.gcm.GCMBroadcastReceiver{ @Override protected String getGCMIntentServiceClassName(Context context){ return "be.XXX.XXX.system.GCMIntentService"; } } ``` GCMIntentService: ``` public class GCMIntentService extends GCMBaseIntentService { @Override protected void onError(Context arg0, String errorId) { Log.i("<test>","on Error " + errorId); } @Override protected void onMessage(Context arg0, Intent intent) { Log.i("<test>","onMessage " + intent.getExtras().toString()); } @Override protected void onRegistered(Context arg0, String regId) { Log.i("<test>","Registration id: " + regId); } @Override protected void onUnregistered(Context arg0, String regId) { Log.i("<test>","onUnregistered " + regId); } public GCMIntentService() { super("2194354949XX"); Log.i("<test>","GCMIntentService "); } } ``` Manifest: ``` <permission android:name="com.XX.XX.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.smstiming.hezemans.permission.C2D_MESSAGE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.VIBRATE" /> <receiver android:name="be.XX.XX.system.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <category android:name="com.smstiming.hezemans" /> </intent-filter> </receiver> <service android:name="be.XX.XX.system.GCMIntentService" /> ```