Android Device to Device Messaging using Google Cloud Messaging (GCM)

Author: Varsha Dubey

 

Abstract

 Android is an operating system for smartphones, tablets and now will be used for Personal Computers also. It includes a touch screen user interface, widgets, camera, network data monitoring and all the other features that enable a cell phone to be called a smartphone. Basically, Multi-Purpose chat application allows users to send asynchronous messages, and enable sharing image files with other peers on the JXTA world using JXME. Instant messaging has become so ubiquitous, an entire generation of internet users is probably unaware there was ever life without it. The use of instant messaging nowadays is more than the calling function itself. The main objective of this paper is to introduce a methodology to provide instant Messaging Service over the Google Cloud Messaging  which is addressed to android based smartphone and tablet users connected over intranet via Wi-Fi. The proposed method is based on sending/receiving messages in intranet through intranet server via Wi-Fi connection without the need of taking any service from mobile service provider .

Keywords: Android, Instant Messaging, Google Cloud Messaging .

Instant Messaging

 The instant message application allows a user to register to the system in order to use the application. After a user has logged into the system, he/she can add another registered user to be his/her friend. The user can then send or receive a text message while the friend is on-line. A MySQL database is used as a backbone to store the user information.

The proposed Instant Message Application uses a Client/Server architecture. The database and web server are on the same machine in this project, but it can also be hosted on different machines. The client can run the application in any other computer, communicate with the server via the network.

This Android paper will help to learn Android device to device messaging (Instant Messaging) using Google Cloud Messaging (GCM) via a GCM Http server. This is just an improvisation of downstream messaging using GCM server. Communication flow originates from an Android device and the message to be communicated will be sent to GCM application server. From that server the message will be relayed to the Google Cloud Messaging server with the RegId of the device to send the notification. Then this message will be sent to the another Android device by the Google Cloud Messaging server as a notification.

 

Google Cloud Messaging (GCM)

   (GCM) is a service that allows you to send data from the App Engine or other backends to your users’ Android-powered device. This could be a lightweight push notification telling the Android application that there is new data to be fetched from the server (for instance, a movie uploaded by a friend), or it could be a message containing up to 4kb of payload data (so apps like instant messaging can consume the message directly).

The GCM service handles all aspects of queueing of messages and delivery to the target Android application running on the target device. Furthermore, GCM is completely free no matter how big your messaging needs are, and there are no quotas.

To enable GCM for your Android apps:

  1. Add an App Engine + GCM moduleinto your Android project which will communicate with a GCM server.
  2. Modify this module to suit your needs. Your Android app will communicate with this module using Cloud Endpoints, so you can use Endpoints’code validationand quick-fixes in Android Studio to ensure that your module stays syntactically correct.
  3. Once you have implemented the business logic for your App Engine + Cloud Endpoints + GCM module,run, test and deploy your GCM-enabled Android app.

  

Refernce:

 [1]http://www.micsymposium.org/mics2012/submissions/mics2012_submission_2 5.pdf

[2]http://javapapers.com/android/android-device-to-device-messaging-using-google-cloud-messaging-gcm-via-http/

[3] https://cloud.google.com/tools/android-studio/messaging/

 

Click to View and Download Research Paper in PDF:

Android Device to Device Messaging using Google Cloud Messaging (GCM)