2017-02-27 53 views
0

假设客户端应用程序已重新注册gcm本身,但服务器不知道这一点,现在服务器发送通知给特定客户端,我想要的是通知不应该与旧的注册ID一起发送。如何才能做到这一点?停止gcm发送旧的注册ID通知

回答

0

如果您的服务器向无效的注册令牌发送消息,它可能会收到NotRegistered错误响应。您应该通过删除相应的标记来相应地处理此错误。根据上面链接的文档:

对于所有这些情况,请从应用程序服务器中删除此注册令牌并停止使用它来发送消息。

+0

听着,如果我的服务器在旧的注册令牌上发送消息,但gcm服务器有新的消息,那么gcm服务器会发送消息替换旧的令牌(不是总是,最终旧的令牌会停止工作)但我想要的是,如果gcm服务器发现注册ID是旧的,那么gcm服务器只是不发送消息并返回响应指示。 – nurulnabi

+0

让我解释一下我的问题可能是你可以更好地理解。 user1当前已登录,然后user2进入并重新安装应用程序并登录。在这种情况下,如果服务器向user1发送消息时user1和服务器都不知道user1的注册令牌已更改, user1它将被传递给user2。 – nurulnabi

+0

到目前为止,我确实得到了你想要解释的内容。当应用程序被卸载时,预计注册令牌被刷新*。有了这些,开发者有责任确保他们的App服务器得到通知并删除相应的注册令牌。在向特定用户发送推送时,建议进行客户端验证,以确保该消息仅显示给指定用户。 –