Requirements
Note: If you do not already have a GCM-enabled Android application, see GCM: Getting Started for an overview on how to write an Android application utilizing Google Cloud Messaging services.
When configured, a Google Cloud Messaging subscriber can send notifications to your target application installed on an Android device. To accomplish this scenario, the Google Cloud Messaging subscriber uses two requirements from your target application, both of which require developer access to the application:
- The developer's API key—The authentication mechanism when connecting to GCM cloud servers.
- The Android device’s unique GCM registration ID—Provides the Google Cloud Messaging Service with the target device for sending notifications.
Note: The registration ID is different for each unique Android device/application pair, so it cannot be shared between different applications. When configuring the Google Cloud Messaging subscriber to work with a new application, new registration IDs must be acquired.
For more information, see Architectural Overview.
Acquiring the Developer API Key
The developer API key authorizes applications (in this case, FME Server) to use the Google Cloud Messaging service to send notifications to Android devices. The API key is associated with the Android application developer, and generating it is a one-time process. To do so, follow the instructions in Obtaining an API Key.
The developer API key will be required when configuring the subscriber.
Acquiring the GCM Registration ID for the Target Device
Each Android device can register itself to the Google Cloud Messaging service, and when doing so, acquires a registration ID that uniquely identifies the device.
After acquiring the registration ID, the Android application on the device must distribute it to FME Server. Typically, the registration ID is sent to a processing workspace on FME Server that records the token and updates the subscriber. This flow is illustrated below.
An Android application can register to Google Cloud Messaging service by sending the com.google.android.c2dm.intent.REGISTER intent, and the registration ID is returned to the application in an intent extended string field registration_id. This process is detailed in Writing Android Applications that Use GCM.
What's Next?