2017-02-27 54 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服務器得到通知並刪除相應的註冊令牌。在向特定用戶發送推送時,建議進行客戶端驗證,以確保該消息僅顯示給指定用戶。 –