到期令牌为gcm

时间:2015-11-10 19:50:37

标签: android notifications google-cloud-messaging push

我正在我的应用上实施GCM服务,但我有些疑惑。当用户第一次安装并打开我的应用程序时,它会给他一个令牌来接收通知,这将保存在我的站点的数据库中。当用户决定卸载我的应用程序时,我认为该令牌不再有用,所以我想知道是否可以知道过期的令牌并将其从我的数据库中删除。

1 个答案:

答案 0 :(得分:1)

当您的应用服务器向GCM服务器发送消息,尝试访问已取消应用该应用的客户端时,它(GCM服务器)应返回NotRegistered Error。因此,应用服务器应该从数据库中删除令牌。

通常(实际上取决于客户端平台)when the app is unistalled, what happens is

  
      
  1. 最终用户卸载客户端应用程序。
  2.   
  3. 应用服务器向GCM连接服务器发送消息。
  4.   
  5. GCM连接服务器将消息发送到设备上的GCM客户端。
  6.   
  7. 设备上的GCM客户端收到消息并检测到客户端应用程序已卸载;检测细节取决于   客户端应用程序运行的平台。
  8.   
  9. 设备上的GCM客户端通知GCM连接服务器已卸载客户端应用程序。
  10.   
  11. GCM连接服务器将注册令牌标记为删除。
  12.   
  13. 应用服务器向GCM发送消息。
  14.   
  15. GCM会向应用服务器返回NotRegistered错误消息。
  16.   
  17. 应用服务器应删除注册令牌。
  18.   

这意味着,如果没有人尝试向您的客户端(未应用该应用程序的人)发送消息,您应该永远无法理解是否仍然使用了令牌。

如果您删除所有未使用的令牌很重要,恕我直言,您可以解决此问题,从您的App Server创建一个触发的测试消息(例如每月一次):这应该引导您到达第2点。