我正在为我的应用程序实现GCM服务,但我有些疑虑。当用户第一次安装并打开我的应用程序时,它会给他一个接收通知的令牌,这个令牌保存在我的网站数据库中。当用户决定卸载我的应用程序时,我认为这个令牌就没有用了,所以我想知道是否可能知道过期的令牌并将其从我的数据库中删除。
我正在为我的应用程序实现GCM服务,但我有些疑虑。当用户第一次安装并打开我的应用程序时,它会给他一个接收通知的令牌,这个令牌保存在我的网站数据库中。当用户决定卸载我的应用程序时,我认为这个令牌就没有用了,所以我想知道是否可能知道过期的令牌并将其从我的数据库中删除。
NotRegistered Error
。因此,应用服务器应从数据库中删除标记。
- 终端用户卸载客户端应用程序。
- 应用服务器向GCM连接服务器发送一条消息。
- GCM连接服务器将消息发送到设备上的GCM客户端。
- 设备上的GCM客户端接收到消息并检测到客户端应用程序已被卸载;检测细节取决于客户端应用程序运行的平台。
- 设备上的GCM客户端通知GCM连接服务器客户端应用程序已被卸载。
- GCM连接服务器标记要删除的注册令牌。
- 应用服务器向GCM发送一条消息。
- GCM向应用服务器返回一个NotRegistered错误消息。
- 应用服务器应删除注册令牌。
这意味着如果没有人尝试向您的客户端(卸载应用程序的客户端)发送消息,则您永远无法了解令牌是否仍在使用。
如果对您来说重要的是删除所有未使用的令牌,则可以通过从应用服务器创建一个测试消息来克服此问题:例如,每个月触发一次,这应该会将您带到第2步。