2013-02-03 73 views
1

我有一個奇怪的問題與谷歌通知服務器。當我安裝/註冊應用程序時,我會從Google獲取一個設備ID,我將用它從服務器發送通知。我從服務器發送通知到所有註冊的設備。問題在於,無論何時設備取消註冊應用並重新註冊,設備都會收到2條通知。發生這種情況是因爲現在我有兩個不同的設備ID。當我第一次安裝應用程序時,我得到了第一個,而當我取消註冊並再次註冊應用程序時,我獲得了第一個。停止Android註銷應用程序後發送通知?

+0

如果您可以創建一個示例項目和過程以進行復制,請在http://b.android.com上提交錯誤報告。 – CommonsWare

回答

2

如果您使用舊設備令牌發送通知,則回覆應該包含規範註冊ID,它會告訴您應該從數據庫中刪除舊的註冊ID。 另外,當應用程序取消註冊時,它應該向您的服務器發送一個取消註冊消息,服務器應該從數據庫中刪除註冊ID。如果用戶卸載了應用程序(在這種情況下無法通知您的服務器),那麼您只應依賴規範註冊ID,然後再次安裝它。 最後一件事 - 如果您嘗試在用戶未註冊並且再次註冊之前將通知發送到舊的註冊ID,那麼您應該收到來自Google的錯誤消息,指出註冊ID不再註冊(我不記得是否第一次在取消註冊後發送通知或第二次發送通知時會出現該錯誤)。

+0

問題是,谷歌不斷地發送通知與舊的設備ID沒有提示服務器是我認爲的牀。順便說一句,當用戶取消註冊時,我應該刪除設備ID是個好主意。 – user960567

+0

當您使用舊ID發送通知時,您是否在Google的回覆中獲得了規範註冊ID? – Eran

+0

我不確定,但Google連續發送通知 – user960567

相關問題