2014-09-18 35 views
0

我正在使用Google云消息传递,并且每个设备的注册ID都没有问题。 但是,根据Google的文档,如果设备获得新操作系统或出于任何其他原因,注册ID可能会更改。GCM通知它收到一个新的注册ID,或该现有ID无效?

所以我的问题是,由于注册ID是由Google提供的,有没有办法获得某种形式的通知或回调,说现有的注册ID无效,或者有一个新的注册ID,而不必每次应用程序启动时都获得一个新的注册ID?

我也可以设置一个计时器,每隔X天只获取注册ID,但我想知道是否有人已经找到了一种方法来检查,而不用为注册ID调用谷歌,如果现有(存储)该设备的注册ID仍然有效。

谢谢。

回答

0

恐怕没有2件物品可能无法比较。我所做的是将GCM ID存储到SharedPreferences,然后比较Google在注册时提供给我的当前GCM ID,然后确定注册ID是否仍然有效,这就是GCM文档建议的操作。

+0

是的这显然是一个很好的选择,但我试图避免呼吁谷歌获得注册ID。我基本上想要假设我的当前注册ID是有效的,除非“某事”通知我不是。但我希望这个“东西”是本地的东西,而不是另一个额外的网络电话。 – TooManyEduardos 2014-09-18 17:19:23

+0

这就是我想要在我的回答中明确的:唯一可以确定您的ID是否仍然有效的是Google,并且您可能只知道通过调用注册方法。据记载,没有一个明确的事件可能会使现有的ID无效:没有近似的到期日期或类似的东西,所以我想剩下的唯一一件事就是这样做。 – nKn 2014-09-18 17:22:10

+0

好的。谢谢。 – TooManyEduardos 2014-09-18 17:25:37