什么时候android gcm令牌到期

时间:2015-05-04 07:25:44

标签: android google-cloud-messaging push token

我对android Gcm Token Expire策略感到好奇。 当我想要使用Gcm服务注册的设备能够接收Gcm推送消息时,我会将其注册到API。

然后我会得到一个Gcm令牌“A”。 如果我从未在Play商店中升级我的应用版本代码。 谷歌会用“B”刷新它并自动过期“A”吗?

如果是的话,什么时候会这样做。 我看过一些文章说一旦“A”用“B”刷新,那么当服务器尝试向“A”发送消息时,服务器将获得新的注册ID“B”。我现在想知道客户端如何知道gcm令牌“A”已过期并被“B”替换

有人可以回答我的问题吗?

由于

2 个答案:

答案 0 :(得分:2)

是的,使用doc

实施onTokenRefresh()
  

系统确定需要刷新令牌时调用。应用程序应调用getToken()并将令牌发送到所有应用程序服务器。这不会被频繁调用,需要进行键旋转和处理特殊情况。系统将限制所有设备上的刷新事件,以避免使用令牌更新使应用程序服务器过载。

答案 1 :(得分:0)

该令牌会定期过期,但Google发布的确切时间尚未发布。但是,还有一些令牌可能会过期的其他实例。

来自Android Implementation Guide on Instance ID

  

Instance ID服务定期启动回调(例如,每6个月),请求您的应用刷新其令牌。它还可能在以下情况下启动回调:

     
      
  • 存在安全问题;例如,SSL或平台问题。
  •   
  • 设备信息不再有效;例如,备份和恢复。
  •   
  • 实例ID服务会受到影响。
  •   

此外,我在一段时间内回答了同一主题时提出了一个大问题(更像是一系列问题)。这可能会对您有所帮助:When do GCM Tokens Expire and What is the InstanceID?