I try to migrate to GCM
and I have an issue with the SENDER_ID
I need to provide. I use the demo project from google. In this project I need, if I understand this well, to provide a SENDER_ID
to the application in the CommonUtilities.java file.
The SENDER_ID I provided is the API key I registered on https://code.google.com/apis/console/ and has this form: AIzaSyAxxxxxxx_xxxxxxxxxxxnoGZw
(total 40 chars).
Using this string as SENDER_ID
I get on "BroadcastReceiver mHandleMessageReceiver" an error message: From GCM: error (INVALID_SENDER)..
Where is the mistake? The string I provide is not the SENDER_ID
?
Thank you.
Go to "Dashboard" in the latest version of the developers console, click the drop down arrow under "Project: Turtle Power" and you can see the Project number right there! Use that as your SENDER_ID
(fake project so don't even try it =P)
Go to your Google APIs Console page. Select the project you use from the drop down menu on the left. Select Overview and now you can see you
project number
. It is theSENDER_ID
you have to useAnother way to get your project number is to get the value of "project" from your url. Your url has to be like this: "https://code.google.com/apis/console/b/0/#project:886025556782". Here the project number is "886025556782". this number is SENDER_ID
Maybe you haven't activated Google Cloud Messaging for Android in API COnsole. Here is the instructions:
http://developer.android.com/google/gcm/gs.html
the SENDER_ID you are using is nothing but the authorization key. you can find the SENDER_ID at your projects Google APIs Console pages URL
https://code.google.com/apis/console/#project:8543162367
here 8543162367 will be your SENDER_ID , and also the Project Id is no longer numeric its alpha-numeric or only numeric or only alphabetic anything but its position is same as shown by me
Yet another updated answer with little more explanation for the confused(..like I was).(with due credit to @azgolfer, @PankajAndroid and @Adam)
1- If you create a project at https://console.developers.google.com, you can see two things "PROJECT ID" and "PROJECT NUMBER" in project overview. Project Id is no longer numeric but alpha numeric like master-xxxxx-1234. Project number is a 11 digit number like 123456789100.
2- Even when you inspect the browser link you can find it as: https://console.developers.google.com/project/master-xxxxx-1234
So is master-xxxxx-1234 is the SENDER_ID (at some places referred as PROJECT ID)? NO.
You have to use the project number as project id in GCM.
3- Where can you cross check that project id is being used as project id?
On API Dashbaord. (url: https://code.google.com/apis/console/b/0/?noredirect#project:12345678900 - where 12345678900 is your project number on project dashboard.
SUMMARY: Project Id in Project Dashboard and API Dashboard are different. The project number in project dashbaord is used as project id in API Dashboard and Project Id in project dashbaord as Project name in API Dashboard. So the project number shown in the Project Dashboard when we create project in developer console is used as SENDER_ID in GCM.
We spent hours trying to figure this out. The problem was that our android manifest did not include the sender id!