FCM Workflow using GCM.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
Attie Naude 14 May 2013 Windows Azure Mobile Services.
Gateway Agent Product & Architecture
1 SMS at the University of Hong Kong Libraries William Ko, HKU Libraries Dr Frank Tong, ETI, HKU.
Multi-criteria infrastructure for location-based applications Shortly known as: Localization Platform Ronen Abraham Ido Cohen Yuval Efrati Tomer Sole'
© 2010 MindTree Limited CONFIDENTIAL: For limited circulation only Slide 1 CONFIDENTIAL: For limited circulation only An automaton that is created from.
Cross Platform Web Based Home Inventory System Project Team: Jon Garibay, Firas Assaad Faculty Advisor: Dr. Lawrence Thomas.
School location collector
Lexmark Print Management
Responding to an Everbridge Notification
CEO, Tech IT Easy Lab of Pervasive VM Computing A Beginner’s Guide to XMPP.
Responding to an Everbridge Notification. Internet based notification system available 24/7/365 Multijurisdictional emergency and non-emergency notifications.
SMS Gateway OZEKI NG Document version: v Adding SMS functionality to SysAid.
Google AppEngine. Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast.
Google App Engine Google APIs OAuth Facebook Graph API
INTEGRATION OF MOBILE COMMUNICATION IN ENGINEERING APPLICATIONS Kamlesh Koladiya Supervisor: Dr. Eike Schallehn 1.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Live MobiCast using node.js Ajay Narayan ( ) Deepak Kumar Agarwal ( ) Nishchint Raina ( )
By Mihir Joshi Nikhil Dixit Limaye Pallavi Bhide Payal Godse.
Confidential - © 2012 StreamWIDE © StreamWIDE
Operating system for mobile devices with a Java programming interface. Provides tools, e.g. a compiler, debugger, device emulator, and its own Java Virtual.
Google Cloud Messaging for Android (GCM) is a free service that helps developers send data from servers to their Android.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Developer TECH REFRESH 15 Junho 2015 #pttechrefres h Strategies for Developing Cross-Platform Applications Dinis Vieira.
Mobile Application Development using Android Lecture 2.
16 Services and Broadcast Receivers CSNB544 Mobile Application Development Thanks to Utexas Austin.
NEARBY: HYBRID NETWORK MOBILE APPLICATION Shuai Zhang, Ziwen Zhang, Jikai Yin.
MeDi Access Technology & Innovation Colombia. OUR IDEA : MeDi Access The Problem: the difficulty that people have in order to be able to access properly.
4BP1 Electronic & Computer Engineering Paul Gildea th Year Interim Project Presentation.
DATA NOTIFICATIONS AUTH SERVER LOGIC LOGGING DIAGNOSTICS PLATFORMS: SCHEDULER SCALE.
The Smart watch 1. ① Introduction ② ADVT.&DISADVT. ③ Examples ④ Future ⑤ Conclusion Agenda 2.
SafeTracks Theme: Women’s Safety. Background In the last few decades, there has been an increase in women professionals in India. Globalised businesses.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
© 2015 AT&T Intellectual Property. All rights reserved. AT&T, the AT&T logo and all other marks contained herein are trademarks of AT&T Intellectual Property.
Android - Location Based Services. Google Play services facilitates adding location awareness to your app with automated location tracking Geo fencing.
Grace Cheung William mac. Taxi Best Inspirations Difficult in getting a taxi Simplify the life of driver and passenger Choosing multiple cab company instead.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Poster Print Size: This poster template is 50” high by 30” wide and is printed at 120% for a 60” high by 36” wide poster. It can be used to print any poster.
Optimized File Uploads in Mobile Cloud Computing Yash Sheth Vishal Sahu Swapnil Tiwari
குறுச்செயலிகள் உறுவாக்க தொழில்நுட்பம் தி. ந. ச. வெங்கடரங்க ன் Blog: venkatarangan.com உத்தமம் செல்பேசிக் கணிமை பிப்ரவரி
Dextrosoft SCHEDULED PHONE BACKUP Backup your mobile life Version Copyright © 2015 Dextrosoft Private Limited. All Rights Reserved.
© 2014 IBM Corporation Mobile Customization & Administration IBM Connections 5.0 Workshop Author: Paul Godby IBM Ecosystem Development Duration: 30 minutes.
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
BLACKBERRY TECHNOLOGY PRESENTED BY SHAIK TABREZ (09J01A1225 )
How to Use an Android Tablet Well Come To You few Steps For How to Use an Android Tablet?
INTERNET PROTOCOL TELEVISION (IP-TV)
Mobile Application Solution
Track School Bus About TrackSchoolBus.com is web version enterprise edition software which will be configured to meet the requirements of school transport.
REDCap Mobile Application
Unit 3 Virtualization.
Tracking device movements
Leveraging Social Collaboration in ITSM 8.0 and Custom Applications
Android Runtime – Dalvik VM
System Design of Internet-of-Things for Residential Smart Grid
Android.
APK Downloader
Tracking and Booking Taxi
Notifications and Services
Mobile Application Solution
The GoogleMap API By Cody Littley.
Firebase Cloud messaging A primer
INTERNET PROTOCOL TELEVISION (IP-TV)
eNanny: Child Tracking App
Application Development A Tutorial Driven Course
Zicheng Wan and Yuan Gao CPSC 6820, Clemson University
Technical Capabilities
Google Cloud Messaging (sort of)
Mobile Reference Diagram Template
Sessions about to start – Get your rig on!
Presentation transcript:

FCM Workflow using 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

Existing FCM uses Polling Any new updates ? No Any new updates ? No Any new updates ? YES Polling is simple to implement, But Polling consumes lot of battery , resource. Extra Network Usages. Polling is about checking periodically for updates on your server and is bad for several reasons: 1) it consumes lot of battery, periodically waking up the mobile device network stack. 2) it consumes a lot of useless resources on the server as most of this resource lead to a “no update” reply. 3) it introduces latency as the request for new data can happen long after the data availability (unless you put a very low polling interval, which is even worse for the mobile battery). You can get your news alert hours after every one already knows about it, which defeat the purpose of the alert in the first place.

GCM Google Cloud Messaging have been announced last year as a replacement of Google Cloud to Device Messaging. This is a service that allows mobile developer to notify mobile devices (but also Chrome browser) about important changes on the server-side component of the application. It makes it possible for the device to stay up to date, without the need to use polling.

What is GCM 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 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

GCM Architecture Google-provided GCM Connection Servers take messages from a 3rd-party application server and send these messages to a GCM-enabled Android application (the "client app") running on a device. Currently Google provides connection servers for HTTP and XMPP. The 3rd-Party Application Server is a component that you implement to work with your chosen GCM connection server(s). App servers send messages to a GCM connection server; the connection server enqueues and stores the message, and then sends it to the device when the device is online. The Client App is a GCM-enabled Android application running on a device. To receive GCM messages, this app must register with GCM and get a registration ID. If you are using the XMPP(CCS) connection server, the client app can send "upstream" messages back to the connection server.

Working of GCM 1.Request for Registration GCM 2.Reply with Registration Id 5. Send Message Mobile App 3.Send Registration Id 4. Send message {RegId, msg }

GCM – Send to Sync [HTTP] 2. Send Notification message Mobile App 3. Download data 1. Send Notification message Give example of Email application. Give example of sending notification to the users to download videos or pictures.

GCM – Send Data [ XMPP ] GCM Send message Mobile App Send message Persistent XMPP connection Mobile App Send message Give example of Instant Messaging Application. Give example of my favourite location on surf application.

Time To Live and Delay While Idle Google Cloud Messaging – APIs Time To Live and Delay While Idle Multiple Senders Message Multicasting A) Time to live: allows you to set expiration date for a message. For example the surf application identify that my favourite location due to wind and tidy weather is a place which is perfect for surfing from this hour to next hour. So if GCM discovers that time is expired before device comes online, it simply drop that message. By Default time is 4 weeks. B) Delay when idle: can be use for less urgent notifications. Device will get it when becoming active again. Multiple Sender: GCM is even powerful when multiple senders want to send data to the same application. Multicasting: To send message via GCM, you need to use open http connection. When you want to connect to all of your users, it is difficult to open these many http connections. For 1000 recipeints 1 http request per message(GCM provides this facility).

Implementation Creating a Google API project Enabling the GCM Service GCM Server Creating a Google API project Enabling the GCM Service

Implementation Copy the required libs Make changes to the manifest Mobile App Copy the required libs Make changes to the manifest Add a broadcast receiver Add an Intent service Wire it up in your activity

Implementation Application Server Expose Service to receive and store user information and GCM registration Id. Send message to GCM service.

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

References https://developer.android.com/google/gcm/index.html Presentation by Francesco Nerieri https://developers.google.com/events/io/sessions/324893448

Thank you Any questions?