Google Cloud Messaging

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