Android GCM SENDER_ID, how to get it?

2020-01-27 19:26发布

问题:

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.

回答1:

No, the SENDER_ID is the project ID you signed up at Google API console, it should a numeric string. e.g. on your browser URI, you should see this:

https://code.google.com/apis/console/#project:4815162342

The Sender ID is 4815162342

Updated Answer:

Google has not updated its docs completely. The above answer is old and its based on this documentation and it seems that its still not updated.

According to updated Google docs, it seems that Project Number on Google API Console is used as SENDER ID



回答2:

I have done for Latest Google API Console.

How to get SenderId:

Steps:

  1. Open Google api console
  2. Create project
  3. Click on Left hand side menu icon
  4. Click on Google cloud Platform
  5. You would get SenderId form there

Reference:

Hope this will help you.



回答3:

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 the SENDER_ID you have to use

Another 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



回答4:

An updated answer as of Nov 2014 IF YOU'VE CREATED AN API PROJECT RECENTLY.

First of all, correct, you should absolutely go to the Google Developers Console and find the Project that you have GCM enabled on. When looking at the Overview section (left-hand nav panel), you'll see Project ID and Project Number listed on the right hand side. Project ID was failing for me (which is what led me here), but when I tried the Project Number, I'm able to register my clients correctly now.

Note that this is different because Google modified how they assign project IDs recently. In October I made a project and was given an all numerical Project ID, which I assume would work fine. But the one I created today was given a two-word and a number id (like Hamster-Party-420) and a numeric Project Number. The URL to my project contains Hamster-Party-420, and the Project Number is only visible on the Overview screen.



回答5:

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.



回答6:

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)



回答7:

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



回答8:

We spent hours trying to figure this out. The problem was that our android manifest did not include the sender id!



回答9:

If you came here because you are doing web push, Android push, or the like, there is a different answer.

Source: https://firebase.google.com/docs/cloud-messaging/js/client



回答10:

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