关于 c2dm是什么? 不就多说了,从youtube下载 Google I/O 2010 – Building push applications for Android (C2DM) 转发到youku 方便观看, 地址为:http://v.youku.com/v_show/id_XMjQ3MTg1NzA0.html
c2dm开发组提供的两个demo,似乎不是那么容易上手,可以试试最简单的的实例, Mark Murphy __The Busy Coder’s Guide To Advanced Android Development__ 的一个例子:https://github.com/commonsguy/cw-advandroid/tree/master/Push/C2DM
程序跑起来了,才有个直观的感受。c2dm整个流程是这样的:

简要说明一下:Android 客户端收到 registration_id 后,给你的app server发个http post,保存registration_id起来。然后你的appserver 给 https://android.apis.google.com/c2dm/send 这个url发送一些参数,就行了。
Mark Murphy的例子用到了Chrome
to Phone一个可重用的包com.google.android.c2dm 用于处理底层的 C2DM 交互事务 (例如配置,任务队列管理等)。但是这个包也是有一些问题的,遇到 “C2DM E Registration error SERVICE_NOT_AVAILABLE” 这个的Error,默认是没有去处理,你需要在AndroidManifest.xml 里声明处理 com.google.android.c2dm.intent.RETRY。
在申请google c2dm 记得ssh 注册就行了,firefox + autoproxy, 在规则添加 .google.com 即可。不然会遇到: “Sign Up for Android Cloud to Device Messaging” 链接被重置,提交时总是说还有一两项信息没有填写(其实都填全了)。
服务器端的实现
就是给 c2dm 服务器发 https post 请求,加上一些参数。 写得最简单明了,是这个帖子Android
push notifications (tutorial)例子中的脚本可以再改进的, Google Auto Token 过一段时间才会失效,我测试所知道的是1个多月,所以可以把它保持起来,提供下次发送数据时使用。我自个儿也写了php实现的版本。关于发送效率,我也是感到比较头疼的,发送数据到几万个终端,如何并发处理?c2dm不支持并发发送数据。目前我只做到重用
http 连接,把registerIds放到队列里,发送失败了,放到队列尾部,重发。
除此之外,c2dm服务在国内很不稳定,把 app server 放在在国外才比较靠谱。
参考:
1.http://goobr.blogspot.com/2010/11/c2dm-sending-messages.html
相关帖子:
分享到:
相关推荐
Android C2DM 从服务器端将数据push到客户端
### Android C2DM 云推送技术总结 #### 一、C2DM 介绍与背景 C2DM(Cloud to Device Messaging)是Google为Android设备提供的一种推送服务,它允许开发者向用户的应用程序发送数据消息。这项服务使得应用程序能够...
这篇博客文章“Android中关于C2DM开发的一点总结”可能是作者在实际开发过程中对C2DM使用经验的分享,虽然描述为空,但我们可以基于C2DM的基本概念和使用流程进行详细的阐述。 1. **C2DM服务概述**: C2DM是Google...
C2DM(Cloud to Device Messaging)是Google提供的一种服务,用于帮助开发者从服务器向Android设备上的应用程序发送数据。该服务不仅仅是一个简单的推送通知服务,而是与Android系统紧密集成的。 C2DM框架的一个...
- **专为Android设计**:C2DM仅支持Android平台,不支持其他操作系统。 - **数据包大小限制**:单个消息的最大大小为512字节。 - **有限的API支持**:提供的API相对较少,对于复杂的推送需求可能不够用。 - **依赖于...
基于Android云计算消息框架(C2DM)的FoxNews_MID手持移动系统的研究,涉及了现代移动通讯技术与云计算结合下的信息推送系统设计与实现。在本文中,我们将深入探讨这一系统的功能、特点及其关键技术,同时分析C2DM在...
Android Cloud to Device Messaging (C2DM) 是一种由谷歌提供的服务,用于支持开发者从服务器向运行Android操作系统的设备发送数据。C2DM旨在为应用程序提供一个简单、轻量级的通信机制,允许服务器通知客户端有新...
`AndroidC2DMDemo`项目是一个用于学习和实践Android推送通知服务的示例,它展示了如何使用C2DM进行设备注册、消息发送和接收的全过程。尽管C2DM已经过时,但理解其工作原理对于掌握GCM和FCM仍然是有益的。在实际开发...
C2DM是Android平台早期的一种推送通知服务,允许服务器向注册的Android设备发送消息,从而实现远程唤醒应用或者更新数据的功能。在本文中,我们将深入理解C2DM服务器端的开发流程,以及如何与Android客户端进行通信...
### Android C2DM 云端推送服务详解 #### 一、基础知识与重要性 在移动应用开发过程中,特别是在Android平台上,为了使应用能够实时地获取服务器端的最新信息,开发者通常面临两种选择:Pull(拉取)和Push(推送...
**Android C2DM (Cloud to Device Messaging) 是Google推出的一种推送通知服务,它允许服务器向Android设备发送简短的消息,从而触发应用的某些操作。在本文中,我们将深入探讨Android C2DM服务的客户端代码开发,...
总结来说,Java-C2DM-master这个项目展示了如何使用Java和C2DM技术在Android上实现推送通知。通过这个项目,开发者可以学习到如何注册设备、接收和处理来自服务器的推送消息,以及如何构建和显示通知,这些都是...
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 ...
在这个“C2prog使用资料”的压缩包中,我们预计会找到关于如何使用C2prog进行C++编程的相关教程、文档、示例代码和其他辅助资源。由于没有提供具体的文件内容,我将根据C2prog的可能功能和C++编程的一般实践来提供...
《Android推送服务的应用开发》 Android推送服务是手机应用开发中的关键组成部分,它使得开发者能够实时地将信息从服务器传递到用户的设备上...了解并掌握C2DM的原理和使用方法,对于Android应用开发者来说至关重要。
这份《KUKA C2机器人使用手册》是一份重要的学习资源,其中涵盖了对KUKA C2机器人从基础操作到高级应用的全方位介绍,其中包括了手动操作、轨迹调整等关键知识领域。 【知识点】 1. 手动操作 手动操作是机器人操作...
Google 提供了 C2DM(Cloud to Device Messaging)服务,但它存在一些问题,如仅适用于 Android 2.2 及以上系统,需要依赖于 Google 官方提供的 C2DM 服务器,限制了其使用。 为了解决这些问题,我们需要自己实现 ...
【标题】"Baidu-TTS-Android-2.3.5.2.20180713_6101c2a.zip" 是一个包含百度在线文字转语音(Text-to-Speech, TTS)API的Android开发资源包。这个版本号表示这是2018年7月13日的一个特定构建,版本号为2.3.5.2,内部...
我们分别使用来自最敏感的实验XENON1T和SuperCDMS的可用数据来分析DM质子和DM中子的耦合强度,以得到更高(> 10 GeV / c2)和更低质量(<10 GeV / c2)的范围 DM颗粒。 随后,我们使用CsI计算受DAMA要求和类似...