Brandon Brandon - 11 months ago 67
Android Question

GCM defaultSenderID

Could somebody please help me understand what the gcm_defaultSenderId is in the following code (found in onHandleIntent in

InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
// [END get_token]
Log.i(TAG, "GCM Registration Token: " + token);

This is from the Google sample app for implementing GCM into your app, and it doesn't even compile in their app! I'm sure it's something specific to each app. I've already added the GCM API to my application, just don't know what this string is supposed to be! Thanks!


Quoting THIS document, where you can find details about that implementation:

String authorizedEntity = PROJECT_ID; // Project id from Google Developers Console
String scope = “GCM”; // e.g. communicating using GCM, but you can use any
                      // URL-safe characters up to a maximum of 1000, or
                      // you can also leave it blank.
String token = InstanceID.getInstance().getToken(authorizedEntity,scope);

So as you can see, the first param you should pass to getToken() is the authorizedEntity, which should be your project id from Google Developers :)

Even if the project in GitHub had that string, it wouldn't server you any good, as this authorizedEntity is something unique for each app.