GCM with Pushbots

Post on 10-May-2015

581 views 0 download

Tags:

description

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.

Transcript of GCM with Pushbots

Ashish RajStudent- MIMIT MALOUT

About me

Research Scholar Developer cum Corporate

Trainer at Xperia Technologies Pvt. Ltd.

Workshop Event Organizer –National Android Development Challenge (NADC)

What we will be discussing today.

Google Cloud Messaging

1What is GCM?

2Why do we

need GCM?

3How it is implemented

?

What is GCM?

1

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

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 .

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

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

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

2 Why do we need GCM?

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

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.

3 How it is implemented?

Major Components

Your application server

GCM servers

Mobile device

Typical sequence of eventsThe 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

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 )

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 .

PushBots application

Creating

GCM Sender

ID

Creating

GCM API Key

Add API

Key to your

PushBots

Application

Create your

Android

project

Implement PushB

ots framework

Send your first Push

Snapshots1 Creating GCM Sender ID

Sender ID

2. Creating GCM API Key

3. Add API Key to your PushBots Application

4. Create your Android project

5. Implement PushBots framework

6. Send your first Push

Thank you