Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GCM API key vs Sender ID

I am confused about GCM Sender ID and API key. I'm responsible for building 3rd party server that will send notifications to Android app.

Which one do I have to store on server side? API key or Sender ID? Who is responsible for creating both, Android developer or me?

like image 857
Admir Tuzović Avatar asked Dec 26 '12 17:12

Admir Tuzović


People also ask

What is a GCM message ID key?

Google Cloud Messaging (GCM) Sender ID: A unique numerical value which is created when you configure your Project in the Google Developers Console/ Google Cloud Console.

What is Sender ID in Firebase?

A sender ID: set in the code of your app. Android Studio uses automatically the Sender ID of your Firebase Project. If you are still using GCM, you have probably set manually the sender ID in the code of your app. The sender ID identifies your app to Firebase Cloud Messaging when it asks for a token.

What is GCM API?

Google Cloud Messaging (GCM) was a mobile notification service developed by Google that enables third-party application developers to send notification data or information from developer-run servers to applications that target the Google Android Operating System, as well as applications or extensions developed for the ...


2 Answers

I've kinda figured it out on my own:

  1. API key is generated on console and is used by 3rd party server to authenticate/authorize with GCM.
  2. Sender ID is used by Android app to register a physical device with GCM to be able to receive notifications from GCM from particular 3rd party server.
  3. Registration ID is a result of registration of physical device to GCM with Sender ID.
like image 142
Admir Tuzović Avatar answered Sep 17 '22 19:09

Admir Tuzović


It depends on how your thirds party server is going to work, but in general it works like this:

  1. The app sends one or more sender Ids which are Google Project Numbers to the GCM servers.
  2. GCM returns a registration Id, which the app uses to register with the server.
  3. The server uses the registration Id and the API key to send a message to the device via GCM.
  4. When sending the message GCM will ensure that the Google Project Number and API key match and match what was used to create the registration Id. If they do it sends the message.

Information on how the developers get this information can be found in the GCM documentation: http://developer.android.com/google/gcm/gs.html

Depending on your needs there are third party commercial sever solutions available.

like image 44
selsine Avatar answered Sep 20 '22 19:09

selsine