GCM stands for Google Cloud Messaging .
It is a free service that allows developers to send data from third party servers to their applications running on android devices.
2. About me
Research Scholar
Developer cum Corporate
Trainer at Xperia Technologies
Pvt. Ltd.
Workshop Event Organizer –
National Android Development
Challenge (NADC)
3. What we will be discussing today.
Google Cloud Messaging
What is
GCM?
Why do we
need GCM?
How it is
implemented
?
5. GCM definition
GCM stands for Google Cloud Messaging .
It is a free service that allows developers to send data from third
party servers to their applications running on android devices
Handles queuing of messages and delivery to the target
application running on the target device.
Intended use is not to send huge amount of data to the client
device
6. Things to keep in mind
Application on the android device DOES
NOT need to be running to receive
messages.
Requires user to set up a Google account
on the device.
It is purely a routing component
There is no guaranteed delivery of
messages to the device .
7. Focus of GCM
Ease of use. No
sign-up forms.
No quotas.
GCM stats are
available through
the Android
Developer
Console.
Battery efficiency.
Rich set of new
APIs
8. Difference between GCM and C2DM
Simple API Key from Google
APIs console page.
Sender id is the project id rather
than email address
Supports data in JSON format
and plain text
9. Difference between GCM and C2DM
Multicast message support
Multiple senders
Messages have time to live ( 0 ~
4 weeks ) eg. Expiring invitations
Payload up to 4kb
11. The need to use GCM
Client server architecture is the most common architecture .
Most application do all the heavy lifting and processing at
the servers and then use the processed data within the
applications .
Scalability & extensibility
More computing power
Background process polling server for information at regular
intervals is a bad design
Battery performance
System resource usage ( memory , CPU )
Complicated coding
12. The need to use GCM
Less coding required
Not need to worry about queuing of messages
Differed delivery
Simpler application flow
Application does not need to be running in the background for
receiving data messages.
Lower cost and better tracking than SMS.
15. Typical sequence of events
The application
server sends a
message to
GCM servers.
Google queues
and stores the
message in
case the device
is offline.
When the
device is
online, Google
sends the
message to the
device.
On the device,
the system
broadcasts the
message to the
specified
Android. This
wakes the
Android
application up.
The Android
application
processes the
message
16. Minimum requirements ( device side )
Android 2.2 +
Android market place should be installed
Emulator with Google APIs
Internet connection
Google account ( device version < 4.0.4 )
17. Minimum requirements ( server side )
HTTPS application server that should be
Able to communicate with your client.
Able to fire off HTTP requests to the GCM
server.
Able to handle requests and queue data as
needed. For example, it should be able to
perform exponential back off.
Able to store the user device registration id .