首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >InstanceID返回无效令牌

InstanceID返回无效令牌
EN

Stack Overflow用户
提问于 2016-04-11 10:39:58
回答 2查看 563关注 0票数 1

我在安卓上使用GCM

我使用InstanceID.getInstance(...).getToken(...)来接收推送令牌,但是在某些情况下(在应用程序更新或重新安装之后),我会收到一个无效的令牌。

当服务器返回一个NotRegistered错误时,我已经连接了一个调试器并调用了InstanceID.getInstance(...).getToken(...)。但是这个令牌无效(我试图使用这个令牌通过curl -s "https://android.googleapis.com/gcm/send" ...发送推送),我收到了NotRegistered错误。

为什么instanceID可以返回无效令牌?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-13 10:18:32

最后,我找到了一个解决办法。

我使用来自两个不同线程的instanceID。我同时给getToken(...)打了两次电话。如果实例没有缓存,则从网络中获取令牌。我想,在我的情况下,它发出了两次请求,而且无法保证它的订单。因此,instanceID缓存了一个令牌,而谷歌云了另一个令牌。

票数 0
EN

Stack Overflow用户

发布于 2016-04-11 11:03:58

它不应该给出无效的令牌。

你申请了所有的程序了吗?

  • InstanceIDListenerService:当令牌通过应用程序更新时,等等。
  • RegistrationIntentService:当令牌改变时,您通过InstanceIDListenerService接收它,并调用这个意图来获得一个新的令牌。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36546376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档