0

我有一个注册 C2DM 的 Gmail 帐户。

我想要的是我的应用程序,多亏了这个帐户(在为每个设备请求了注册 ID 和身份验证令牌之后),可以向安装了该应用程序的所有设备提供消息。

我想知道是否可以以这种方式使用 C2DM..

非常感谢

(任何细节,只要问我..)

ps 我让 c2dm 在模拟器上工作,但是我当然不能尝试以前写的,因为我需要几部手机..

4

3 回答 3

0

如果我正确理解你的问题,答案是:你不能。

对于您想要访问的每台设备,您必须向谷歌服务器发送一个 http 请求。

无法向所有注册您的服务的用户广播消息。

这很令人沮丧,因为在我的情况下,我会为我的所有用户发送一份时事通讯,因此打开与数百万用户的连接非常昂贵。

为了解决可伸缩性问题,我创建了一个简单的 appengine map-reduce 任务,该任务循环遍历所有用户注册并创建到 google 服务的 http 连接,这是您可以做到的最快速度,因为它会根据您的交付需求动态实例化新服务器。

于 2012-02-06T17:19:38.850 回答
0

离开您的问题和评论,听起来您只是想知道是否可以仅使用一个发件人 ID 将 c2dm 通知发送到数量不定的设备。

这正是 c2dm 应该工作的方式。您创建一个发件人 ID 以在您的后端服务器上使用,并且该发件人 ID 在您的应用程序中用于注册 c2dm 通知。然后,您的后端会收集所有注册 ID,并使用您的一个发件人 ID 来推送通知相关方。

于 2012-02-06T17:48:38.710 回答
0

C2DM 已被弃用。GCM 已经取代了它,它允许您通过一个 HTTP POST 向 1000 台设备发送消息。

C2DM->GCM 迁移指南:http: //developer.android.com/guide/google/gcm/c2dm.html

于 2012-09-26T23:19:19.817 回答