C2DM到谷歌云端通讯(GCM)(C2DM TO Google Cloud Messaging (G

2019-06-25 20:03发布

正如你可能已经看到,谷歌正在迁移的推送通知系统。

谷歌开发者指南GCM

我想我不是一个人想知道:从C2DM获得的令牌仍然有效GCM?

如果没有,那就意味着我需要我的所有用户提供一个新的版本更新在我的服务器令牌来更新我的应用程序...

要么

我可以保持并行系统这是一件好事,我不认为这是一个很好的解决方案

要么

继续使用C2DM,直到它完成,然后我就死了:-)

Answer 1:

虽然客户端迁移很容易(只是改变电子邮件地址中的“发件人”的项目ID),如果你的应用程序已经使用C2DM了一段时间,你会仍然面临转型难题。 看到这里,我的问题: 发布GCM通知现有的C2DM注册ID

基本上,问题是过渡期间,您需要从旧的C2DM应用维护设备注册ID,并从较新的应用程序,使用GCM新章IDS。 除非你可以强制所有用户都一次全部升级,你必须建立额外的逻辑(即在数据库表中添加一个新列,以指示GCM REG ID)的服务器来处理发送通知到两个C2DM和GCM的可预见的未来。

如果你的服务器只发送通知到所有设备,那么这应该是很容易迁移,你可以爆炸都C2DM和GCM通知所有设备在你的数据库,并逐步从旧的C2DM注册删除无效的或那些NotRegistered设备。 随着时间的推移,你会看到在你的数据库越来越少C2DM设备注册ID。



Answer 2:

我已经迁移我的应用程序从C2DM到GCM。 不,我不应该说迁移。 正确的说法是“并存”两个C2DM和GCM。 因为我不能强迫我所有的当前用户升级到GCM。 我的目标是确保两个新的(参见GCM)和存在(参见C2DM)用户能够获得推送消息。

对于客户端:

  1. 更改发件人ID项目

对于服务器端:

  1. 在数据库中添加一个新列来存储GCM注册ID。
  2. 如果有GCM注册ID的用户记录>然后推到GCM服务器>否则C2DM服务器

到目前为止,我能够实现我的反对意见。 但是我唯一担心的是,当C2DM即将全面停产? 如果哪天真的来了,我怎么想逼我的老用户升级到GCM?



Answer 3:

有一个迁移指南在Android开发者文档网站。

C2DM将继续给予了支持的同时,最好是我们的应用程序移植在GCM并发布我们的应用程序的更新版本。 (按我的想法)



文章来源: C2DM TO Google Cloud Messaging (GCM)