我正嘗試創建一個使用推送通知的應用程序。我完成了第三方服務器和應用程序開發中的所有工作,並且通知已成功發送。如何正確更新應用程序中的GCM註冊ID
在這個應用程序的某個部分,用戶將通過特定的服務註冊到GCM和第三方服務器,然後向第三方服務器上傳他希望在完成。
我面臨的問題是,當我卸載應用程序時,GCM服務器(當我發送消息時)不會響應NotConnected錯誤。所以當我重新安裝應用時,GCMRegistrar會給我一個新的註冊ID,這使得我的服務器爲同一個用戶提供了兩個不同的註冊ID。
雖然我可以藉助規範的id來解決這個問題。尤其是谷歌表示
"canonical_ids": 1
"results": [{ "message_id": "1:2342", "registration_id": "32" }]
成功,但註冊ID應該在服務器數據庫進行更新(從23到32)
所以,如果我聽谷歌的建議,與變更註冊身份證到舊的(工作)身份證,這將導致應用程序的後綴和新的註冊ID將橄欖球比賽發送到具有該特定新的註冊ID的服務器,並且服務器將不知道在哪裏存儲該信息。
我知道註冊ID不是用戶的ID,而是註冊設備的ID。
我的第一個想法是讓服務器有不同的註冊ID。所以當我得到一個規範的id時,我會忽略它。我不喜歡這個主意雖然...
我的第二個想法是,當我更改註冊ID到舊之一,以某種方式更新到應用程序...
可有人告訴我這聽起來對我的情況更好?這是我第一次使用推送通知......