View
336
Download
1
Category
Tags:
Preview:
Citation preview
GCM
Agenda
• Polling Mechanism • What is GCM• Need / advantages of GCM• GCM Architecture• Working of GCM• GCM – Send to Sync [ HTTP ] and Send Data [ XMPP ]• Google Cloud Messaging – APIs• Implementation
2
Existing FCM uses Polling
3
Polling is simple to implement,But Polling consumes lot of battery , resource.Extra Network Usages.
Any new updates ?
No
Any new updates ?
No
Any new updates ?
YES
GCM
4
What is GCM
5
• GCM stands for Google Cloud Messaging.
• It is a free service that allows you to send data from your servers to your users and vice versa.
• Handles queuing of messages and delivery to the target application.
Need / advantages of GCM
6
• Application does not need to be running in the background for receiving data messages. The system will wake up the Android application via Intent broadcast when the message arrives.
• Lower cost and better tracking than SMS
• Scalability & extensibility
• GCM is completely free no matter how big your messaging requirements
7
GCM Architecture
Working of GCM
8
Mobile App
GCMGCM
1.Request for Registration
2.Reply with Registration Id
5. Send Message
3.Send Registration Id 4. Send message {RegId, msg }
GCM – Send to Sync [HTTP]
9
Mobile App
GCMGCM2. Send Notification message
3. Download data 1. Send Notification message
GCM – Send Data [ XMPP ]
10
Mobile App
GCMGCM
Send message
Send message
Persistent XMPP connection
11
Google Cloud Messaging – APIs
Time To Live and Delay While Idle
Multiple Senders
Message Multicasting
Implementation
• Creating a Google API project
• Enabling the GCM Service
12
GCM Server
Implementation
13
Mobile App
Implementation
• Expose Service to receive and store user information and GCM registration Id.
• Send message to GCM service.
14
Application Server
Minimum requirements ( device side )
• Android 2.2 +
• Google Play Store application should be installed
• Internet connection
• Google account ( device version < 4.0.4 )
• For Developer Emulator with Google APIs
15
References
• https://developer.android.com/google/gcm/index.html
• Presentation by Francesco Nerieri
https://developers.google.com/events/io/sessions/324893448
16
Thank you
Any questions?
Recommended