一个Android可以在GCM和C2DM上工作吗?

时间:2012-08-16 21:01:24

标签: android android-c2dm google-cloud-messaging

我有一个应用程序,目前使用C2DM进行推送通知。我想询问我是否将应用程序更新为GCM,如果某些用户不升级他们的应用程序,谷歌是否允许我同时使用C2DM和GCM两个版本的应用程序?

或者我以前的应用程序上的用户是否永远不会收到PUSH通知,尽管我仍然为C2DM实施推送逻辑?

3 个答案:

答案 0 :(得分:1)

只要您不删除任何授权密钥,ID等,他们仍会收到它们,因为GCM使用项目ID时C2DM使用已注册的电子邮件地址。

更多相关信息:C2DM to GCM Migration

答案 1 :(得分:1)

我在应用程序中完全用GCM替换了C2DM,并在服务器端保留了对这两种协议的支持。奇迹般有效;详情为here

答案 2 :(得分:0)

虽然不是原始问题,但有趣的是:一个应用程序可以同时使用C2DM和GCM。

C2DM使用发件人帐户,而GCM使用Project-ID进行注册。他们俩唯一可能分享的是App-package名称(显然是该设备的Google帐户,但这并不重要,因为有多个应用程序可以并行使用gcm / c2dm)。

根据我的经验,在同一个应用程序中注册C2DM和GCM会导致一些严重的问题。

在一个应用中同时使用GCM的原因可能是您希望在应用中使用GCM,但无法在任何地方使用GCM,因为旧版后端可能无法切换到GCM。可能是一种相当罕见的情况 - 但目前正在为我们的应用程序发生。