简介
Android Cloud to Device Messaging (C2DM) 作为 Android 2.2 的一部分已经发布了。C2DM 允许第三方开发者开发相关的应用来推送少量数据消息(1024bytes)到用户的手机上。C2DM 创造了一个良好的机会,允许我们使用多种 Google 开发工具来创建一种简单但相当实用的应用类型。用户可以使用该类型的应用把各种各样的信息从他们的台机或者笔电直接 push 到自家的手机上。
基础
当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如《地震及时通》就需要及时获取服务器上最新的地震信息。要获取服务器上不定时更新的信息一般来说有两种方法,第一种是客户端使用Pull(拉)的方式,隔一段时间就去服务器上获取信息,看是否有更新的信息出现。第二种就是服务器使用Push(推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上。 虽然Pull和Push两种方式都能实现获取服务器端更新信息的功能,但是明显来说Push is better than pull。因为Pull方式更费客户端的网络流量,更主要的是费电量。 Android从2.2版本开始增加了Cloud to Device Messaging(C2DM)框架,在系统中支持了Push功能,基于Android平台使用Push功能更加简单了。虽然C2DM目前还处在实验室阶段,不过小规模的使用应该没问题。
C2DM框架的使用
使用Android的C2DM功能有几个要求: 1. 需要Android2.2及以上的系统版本。 2. 使用C2DM功能的Android设备上需要设置好Google的账户。 3. 需要在这里注册使用C2DM功能的用户邮箱账号(最好为C2DM单独注册一个Gmail邮箱账号)。 要使用C2DM来进行Push操作,基本上要使用以下6个步骤: (1)注册:Android设备把使用C2DM功能的用户账户和App名称发送给C2DM服务器。 (2)C2DM服务器会返回一个registration_id值给Android设备,设备需要保存这个registration_id值。 (3)Android设备把获得的registration_id和C2DM功能的用户账户发送给自己的服务器,不过一般用户账户信息因为和服务器确定好的,所以不必发送。 这样Android设备就完成了C2DM功能的注册过程,接下来就可以接收C2DM服务器Push过来的消息了。 (4)服务器获得数据。这里图中的例子Chrome To Phone,服务器接收到Chrome浏览器发送的数据。数据也可以是服务器本地产生的。这里的服务器是Google AppEngine(很好的一项服务,可惜在国内被屏了),要换成自己的服务器。服务器还要获取注册使用C2DM功能的用户账户的ClientLogin权限Auth。 (5)服务器把要发送的数据和registration_id一起,并且头部带上获取的Auth,使用POST的方式发送给C2DM服务器。
(6)C2DM服务器会以Push的方式把数据发送给对应的Android设备,Android设备只要在程序中按之前和服务器商量好的格式从对应的key中获取数据即可。
分享到:
相关推荐
### Google第二代云推送服务GCM与C2DM对比分析 #### 一、引言 随着移动互联网技术的发展,信息的即时传递变得越来越重要。在众多的信息推送方式中,云推送服务因其高效、便捷的特点而受到广泛欢迎。Google Cloud ...
Android C2DM 从服务器端将数据push到客户端
C2DM(Cloud to Device Messaging)是Google提供的一种服务,用于帮助开发者从服务器向Android设备上的应用程序发送数据。该服务不仅仅是一个简单的推送通知服务,而是与Android系统紧密集成的。 C2DM框架的一个...
Android Cloud to Device Messaging (C2DM) 是一种由谷歌提供的服务,用于支持开发者从服务器向运行Android操作系统的设备发送数据。C2DM旨在为应用程序提供一个简单、轻量级的通信机制,允许服务器通知客户端有新...
### Android C2DM 云推送技术总结 #### 一、C2DM 介绍与背景 C2DM(Cloud to Device Messaging)是Google为Android设备提供的一种推送服务,它允许开发者向用户的应用程序发送数据消息。这项服务使得应用程序能够...
在Android系统中,实现推送通知通常依赖于云对设备消息(C2DM)服务,它是Google提供的一个免费服务,用于帮助开发者向Android设备发送消息。本文将深入探讨Java和C2DM在实现Android推送通知中的应用。 首先,我们...
这篇文章主要探讨的是如何开发一个基于Google的Cloud to Device Messaging(C2DM)服务的服务器端程序。C2DM是Android平台早期的一种推送通知服务,允许服务器向注册的Android设备发送消息,从而实现远程唤醒应用...
在Android平台上,C2DM(Cloud-to-Device Messaging)是一种由Google提供的远程推送通知服务,它允许服务器向Android设备发送消息,从而实现后台数据同步、应用更新或用户通知等功能。这篇博客文章“Android中关于C2...
基于Android云计算消息框架(C2DM)的FoxNews_MID手持移动系统的研究,涉及了现代移动通讯技术与云计算结合下的信息推送系统设计与实现。在本文中,我们将深入探讨这一系统的功能、特点及其关键技术,同时分析C2DM在...
This is a very simple android application to test out the new C2DM feature from Google. The code is open source and free to use and abuse. The simplest way to build and install the application is to ...
**Android C2DM (Cloud to Device Messaging) 是Google推出的一种推送通知服务,它允许服务器向Android设备发送简短的消息,从而触发应用进行某些操作。在本文中,我们将深入探讨Android C2DM的工作原理、实现步骤...
### Android C2DM 云端推送服务详解 #### 一、基础知识与重要性 在移动应用开发过程中,特别是在Android平台上,为了使应用能够实时地获取服务器端的最新信息,开发者通常面临两种选择:Pull(拉取)和Push(推送...
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用
jar包,亲测可用