没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Android Cloud to Device Messaging Framework
Android Cloud to Device Messaging(C2DM)是一个能够帮助开发者从服务器端发送数据到
运行在 Android 手机上的程序的服务。这个服务提供了一个简单,轻量级的机制使得服务
器端可以告诉移动端的程序与服务器端建立直接的联系,来获取更新的程序或者用户的数
据。C2DM 服务可以处理所有的消息队列的问题并且可以把消息发送到目标机器上运行的
目标程序。
简介
C2DM 的主要特点:
1. 它允许第三方的程序服务端发送少量的消息到程序的客户端。这个消息服务不是设计
成可以发送大量的内容。这个服务应该用在告诉客户端服务器端有新的数据,然后服
务器端去获取新的数据。
2. C2DM 不能保证消息的分发和消息的顺序。所以,当你使用这个服务来告诉即时通讯程
序用户有新的消息时,你很可能收不到这个的消息。
3. 手机端的程序不需要一直运行来接收消息。系统会通过 Intent broadcast 来唤醒程序当
有新的消息到来时。当然程序需要设置适当的 broadcast receiver 和 permission。
4. 它不提供任何的用户界面或者其他的东西来处理消息。C2DM 只是简单的把收到的原始
消息传递给程序。这个程序提供了处理这个消息的方法。比如,这个程序可能抛出一
个通知,显示一个自定义的界面或者只是同步数据。
5. C2DM 要求手机必须运行 Android2.2 或者更高版本,并且要有 market。但是,你不仅限
于通过市场部署你的程序。
6. C2DM 使用一个现有的 google 服务连接。这就要求用户需要在他们的手机上登录 google
账户。
C2DM 如何工作?
这一节给你一个 C2DM 如何工作的概况。
下面这张表总结了 C2DM 里面关键的术语和概念。它们分成下面两类:
1. Components:C2DM 里面包含的组件
2. Creden"als:用在不同阶段来确认各方都已经被认证的 IDs 和 tokens。这样消息才
能发到正确的地方。
Components
Mobile
Device
运行着需要使用 C2DM 的 android 程序的手机.这个手机
需要运行 Android2.2 或者更高版本,需要有 market,
并且有一个登录的 google 账户。
Third-Party
Application
Server
第三方程序服务端通过 C2DM 服务器发送消息到运行
Andoird 程序的手机。
C2DM
Servers
Google 服务器,从第三方程序服务器收消息并发到目标
手机上的目标程序。
Credentials
Sender ID
和程序开发者相关的 gmail 账户。Sender ID 用在注册阶
段去识别被允许发送消息到手机的 android 程序。 这个
ID 通常不是基于个人的账户,而是基于程序。比如,my-
app@gmail.com。
Application
ID
注册了用来接收消息的程序。 这个程序是通过 manifest
的包名来识别的。 这样确保消息会发送到正确的程序。
Registration
ID
这个 ID 是 C2DM 服务器分发的,用来允许程序接收消
息。 当程序有了 registration ID, 就把这个 ID 发送到第
三方程序服务器, 第三方服务器用 ID 来识别每一个注册了
来接收消息的手机。换句话说,registration ID 是和运行
在某个手机上的摸个程序绑定的。
Google User
Account
如果 C2DM 要工作,手机就至少有一个已经登录的
google 账户。
Sender Auth
Token
ClientLogin Auth 是保存在第三方程序服务器上用来让程
序服务器可以被授权获得 google 服务。当服务器发送消
息的时候这个 token 包含在 post 的 header 里面。更多
关于 ClientLogin Auth tokens, 查看 ClientLogin for
Installed Applications。
生命周期流程
下面是 C2DM 的主要过程:
1. Enabling C2DM:运行在手机上注册了来接收消息的 Android 程序。
2. Sending a message:发送消息到手机的第三方程序服务器。
3. Receiving a message:从 C2DM 服务器接收消息的 Android 程序。
下面是上面 3 个步骤的详细描述。
Enabling C2DM
下面是运行在手机上的 Android 程序注册接收消息的步骤:
1. 程序第一次要使用消息服务时,应该设置一个 registra"on intent 去 C2DM 服务器。这个
registra"on intent(com.google.android.c2dm.intent.REGISTER)包括 sender ID(通常是程序开
发者设置的 gmail 账户,用来授权发送消息给程序)和 applica"on ID。
2. 如果注册成功,C2DM 服务器 broadcasts 一个给予程序 registra"on ID 的 REGISTRATION
Intent。程序应该保存这个 ID 留待后用。google 可能定期的刷新 registra"on ID,所以你
的 REGISTRATION Intent 必须可以多次调用。程序应该能够做出相应的反应。
3. 为了完成注册,程序要把 registra"on ID 发送给第三方服务器端。第三方程序服务器通
常把这个 ID 存在数据库中。
registra"on ID 一直有效,直到程序明确的解除注册,或者 google 刷新了 registra"on ID。
Sending a Message
如果第三方程序服务器要发送消息,下面的事情必须就位:
1. 对某个特定的设备,这个程序有一个允许它接收消息的 registra"on ID。
2. 第三方程序服务器存储了这个 registra"on ID。
还有一件事情必须做: ClientLogin authorization token。这个是开发者必须在第三方程序
服 务 器 上 为 程 序 设置 的 东 西 ( 更 多 信 息 , 看 这 里 Role of the Third-Party Application
Server)。现在它被用来发送消息到手机。
ClientLogin token 授权第三方程序服务器发送消息给特定的 Android 程序。第三方程序服
务器有第三方程序的一个 ClientLogin token 和很多的 registration IDs。每一个 registration
ID 代表一个特定的注册了可以为第三方程序使用消息服务的手机。
下面是第三方程序服务器发送消息的步骤:
1. 第三方程序服务器发送消息到 C2DM 服务器。
2. 如果用户的手机当前不在线,google 会把这个消息入队并存储这个消息。
剩余10页未读,继续阅读
资源评论
- luochangyou2013-10-06只能说还可以
jaylingspot
- 粉丝: 5
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5ffd9193f6aec31bbf16030a46680dc7.avi
- DA14531-蓝牙传感器连接传输数据固件
- logisim实验MIPS运算器(ALU)设计(内含4位先行进位74182、四位快速加法器、32位快速加法器)-Educoder_logisim里面连线,实现4位先行进位74182和4位快速加法器-C
- 高等数学第一章第二节数列的极限
- Python 版冒泡排序算法源代码
- tensorflow-gpu-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
- tensorflow-2.7.3-cp39-cp39-manylinux2010-x86-64.whl
- tensorflow-2.7.2-cp39-cp39-manylinux2010-x86-64.whl
- Python版本快速排序源代码
- 精品源码基于JSP实现的酒店管理系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功