Thursday, July 17, 2014

My Research - Push Notification in Mobile Ecosystem in 2011 - Android - Part 7


Android C2DM (Cloud to Device Messaging) Framework


Here are the primary characteristics of Android Cloud to Device Messaging (C2DM):
  • It allows third-party application servers to send lightweight messages to their Android applications. The messaging service is not designed for sending a lot of user content via the messages. Rather, it should be used to tell the application that there is new data on the server, so that the application can fetch it.
  • C2DM makes no guarantees about delivery or the order of messages. So, for example, while you might use this feature to tell an instant messaging application that the user has new messages, you probably would not use it to pass the actual messages.
  • An application on an Android device doesn’t need to be running to receive messages. The system will wake up the application via Intent broadcast when the the message arrives, as long as the application is set up with the proper broadcast receiver and permissions.
  • It does not provide any built-in user interface or other handling for message data. C2DM simply passes raw message data received straight to the application, which has full control of how to handle it. For example, the application might post a notification, display a custom user interface, or silently sync data.
  • It requires devices running Android 2.2 or higher that also have the Market application installed. However, you are not limited to deploying your applications through Market.
  • It uses an existing connection for Google services. This requires users to set up their Google account on their mobile devices.


Components:
1) Mobile Device
2) Third Party Application Server
3) C2DM servers

Credentials
1) SenderId - developers emailId used during app registration
2) Application ID - app id
3) Registration Id - An ID issued by the C2DM servers to the Android application that allows it to receive messages.
4) Google User Account -
5) Sender Auth Token

Life Cycle Flow
Here are the primary processes involved in cloud-to-device messaging:
  • Enabling C2DM. An Android application running on a mobile device registers to receive messages.
  • Sending a message. A third-party application server sends messages to the device.
  • Receiving a message. An Android application receives a message from a C2DM server.



No comments: