Android 注册管理
我正在尝试迁移到Android中的Android 注册管理,android,android-c2dm,google-cloud-messaging,Android,Android C2dm,Google Cloud Messaging,我正在尝试迁移到Android中的GCM,C2DM现在被弃用。所描述的注册过程与所描述的注册过程不同。两个注册相同吗?我们是否可以查看gcmregistar的代码以确定答案?它们实际上是相同的东西。第二个以静态方法封装第一个,并注册广播接收器。您可以将源代码附加到gcm.jar并亲自查看。您可以在~/android-sdks/extras/google/gcm/gcm-client/gcm-src.jar中找到源代码。gcmregistar只是一个助手,它完成了第一页中描述的腿部工作 你可以在这
GCM
,C2DM
现在被弃用。所描述的注册过程与所描述的注册过程不同。两个注册相同吗?我们是否可以查看gcmregistar
的代码以确定答案?它们实际上是相同的东西。第二个以静态方法封装第一个,并注册广播接收器。您可以将源代码附加到gcm.jar并亲自查看。您可以在~/android-sdks/extras/google/gcm/gcm-client/gcm-src.jar中找到源代码。gcmregistar只是一个助手,它完成了第一页中描述的腿部工作
你可以在这里看到班级
android sdk\extras\google\gcm\gcmclient\src\com\google\android\gcm
我已经成功地将我的C2DM项目迁移到了gcm。经过测试,效果良好。唯一的变化是:
- 在Android应用程序中-注册后更改
发送者的值
- 在服务器端-更改身份验证标头和URL
- 在Android应用程序中,注册ID缓存在其首选项中。升级后,我从首选项中删除注册ID以强制重新注册,这次是使用GCM
- 将reg ID传递给服务器的逻辑得到了一个额外的布尔参数-如果这是C2DM或GCM reg ID
- 发送消息的逻辑取决于所述参数
if($RegID_Is_GCM)
{
$Auth = GCM_Auth();
$URL = $GCM_URL;
}
else
{
$Auth = C2DM_AUTH();
$URL = $C2DM_URL;
}
我已经成功地从C2DM迁移到GCM。我还记录了如何在
我在GCM中最喜欢的东西是我们将从GCM服务器获得的RegID,它不仅是一个ID,也是此设备上此应用程序的地址。所以,这次您不需要按照C2DM中的was向服务器发送设备Id和注册Id 在C2DM中,每次您请求注册id时,您都将获得一个新id 但在GCM注册码中,使用您的应用程序包以及一些设备id生成的注册码,因此,如果您一次又一次地请求注册码,您将收到相同的注册码 如果您卸载应用程序并将再次安装,GCM服务器仍将为您提供相同的注册Id。 因此,一个注册Id不需要任何设备Id就可以发送到服务器。hi,“发送消息的逻辑取决于所述参数。”是什么意思?