当前位置: 首页 > 知识库问答 >
问题:

GCM服务器刷新注册ID的时间频率以及如何在我的手机中获取regId changed事件?

翁凯定
2023-03-14

GCM服务器刷新注册ID的时间频率。如果注册ID发生更改,如何在我的手机中获取regId changed事件?

我的应用程序在第一次启动时在GCM上注册,并将regId Id存储在Sahred首选项文件中。然后,当用户手动完成某个事件时,它将从shared Pref获取regId并发送到我们的服务器。

我的问题是,如何找到reg Id刷新在GCM服务器。然后只有我可以在服务器上创建一个事件来更新reg Id。

共有3个答案

缪阎宝
2023-03-14

根据http://developer.android.com/google/gcm/client.html#sample-注册,不同于以前版本的GCM和C2DM,谷歌本身不刷新注册。一旦您从初始注册中获得注册id,您就可以开始了,除了一种情况:当用户升级到新版本时,您仍然需要重新注册(在上面链接的示例中也会处理这种情况)。

当应用程序被更新时,它应该使其现有的注册ID无效,因为它不能保证与新版本一起工作。由于在更新应用程序时没有调用生命周期方法,因此实现此验证的最佳方法是在存储注册ID时存储当前应用程序版本。

蒋培
2023-03-14

看见http://developer.android.com/google/gcm/gs.html.

您需要按照本页上的说明将BroadcastReceiver添加到应用程序中。然后创建一个gcminentservice类,它扩展了GCMBaseIntentService。让该服务将注册ID上载到您的应用程序服务器(或将其存储在共享首选项中以备以后使用)。

江向阳
2023-03-14

GCM服务器上的注册表发生变化时,则由您的服务器负责更新其数据库中的注册表。

这是唯一可能的,因为旧注册仍然工作(至少一次),并告诉您的服务器在其响应与旧注册发送的消息通过canonical_id,其中将包含您应该在未来使用的新注册。看看开发文档和高级主题,了解完整的解释

 类似资料:
  • 虽然我尝试了关于这个问题的其他答案,但它无法解决。发件人ID正确,权限已添加,API密钥为true。 我使用此帖子创建项目:http://developer.android.com/guide/google/gcm/gs.html#server-应用程序 它返回空字符串。

  • 下面是官方指南中的GCM Android集成示例。 特别是,我对上述链接类中的以下行感到困惑: 现在,每当我的主要活动启动时,我都会调用intent服务,我相信instanceID负责启动令牌刷新。 我是否应该在每次从我的主要活动启动此GCM注册意图时检查Shared Prefs值。但是,在这种情况下刷新将失败,因为在初始令牌获取之后,条件将始终为true。 我应该放弃共享prefs逻辑吗?这样每

  • 我想使用亚马逊 SNS 服务向Android设备发送推送通知。 但正如亚马逊官方网站上列出的: 您可以使用以下受支持的推送通知服务之一向移动设备和台式机发送推送通知消息: 亚马逊设备消息(ADM) 适用于iOS和Mac OS X的Apple推送通知服务(APNS) 百度云推送(百度) 适用于Android的谷歌云消息传递(GCM) 适用于Windows Phone的Microsoft推送通知服务(

  • 我有一个正在Eureka服务器上注册的服务“a”,我希望Eureka服务器在每次在Eureka内注册新服务时通知该服务。有什么办法吗?

  • 孤儿GCM注册ID何时过期? 复制步骤: 并接收注册ID 验证推送通知的接收 工厂重置 并接收注册ID 验证推送通知的接收 但是,现在您仍然可以发送到旧的注册ID并接收“成功: 1”。该注册ID何时过期,在何种情况下过期?

  • 如何使用ruby获得服务器响应时间? get_response(URI. parse(url))到URL的响应代码和响应时间。实际上我的代码是: 它工作得很好,但我的响应时间太高,例如:Twitter。com(630.52ms)。如果我尝试ping推特。com,我收到70/120毫秒的回复。 这是计算此服务器响应时间的最佳方法吗?