C2DM TO Google Cloud Messaging (GCM)

六月ゝ 毕业季﹏ 提交于 2019-11-30 05:01:53
azgolfer

Although client side migration is easy (just change the 'sender' from email address to a project id), you will still face transition headaches if your app has been using C2DM for a while. See my question here: Posting GCM notification to existing C2DM registration ids

Basically the problem is during the transition, you need to maintain device registration ids from the old C2DM app, and the new reg ids from your newer app that uses GCM. Unless you can force all your users to upgrade all at once, you have to build additional logic (i.e. add a new column in the database table to indicate GCM reg id) in the server to deal with sending notifications to both C2DM and GCM for a foreseeable future.

If your server only send notifications to all devices, then this should be easy migration, as you can just blast both C2DM and GCM notifications to all devices in your database, and progressively remove stale or those NotRegistered devices from the old C2DM registrations. As time goes by you should see less and less C2DM device registration ids in your database.

Jason

I had migrated my app from C2DM to GCM. No, I shouldn't say migrated. The correct term to be 'co-exist' for both C2DM and GCM. Because I can't force all my current user upgrade to GCM. My goal is to make sure both new(refer to GCM) and exist(refer to C2DM) user able to get push messaging.

For the client side:

  1. Change sender to project id

For the server side:

  1. Add a new column in the db to store GCM registration id.
  2. If user record with gcm register id > then push to gcm server > else c2dm server

So far I am able to achieve my objection. But my only concern is, when the c2dm going to fully shutdown? If the day really coming, how I suppose to force my old user upgrade to gcm?

rajpara

There is a migrating guide on the Android developer documentation site.

C2DM will continue to give support for a while, It is better to migrate our application in GCM and publish a updated version of our application. (As per my thinking)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!