2014-09-18 79 views
0

我正在使用Google雲消息傳遞,並且每個設備的註冊ID都沒有問題。 但是,根據Google的文檔,如果設備獲得新操作系統或出於任何其他原因,註冊ID可能會更改。GCM通知它收到一個新的註冊ID,或該現有ID無效?

所以我的問題是,由於註冊ID是由Google提供的,有沒有辦法獲得某種形式的通知或回調,說現有的註冊ID無效,或者有一個新的註冊ID,而不必每次應用程序啓動時都獲得一個新的註冊ID?

我也可以設置一個計時器,每隔X天只獲取註冊ID,但我想知道是否有人已經找到了一種方法來檢查,而不用爲註冊ID調用谷歌,如果現有(存儲)該設備的註冊ID仍然有效。

謝謝。

回答

0

恐怕沒有2件物品可能無法比較。我所做的是將GCM ID存儲到SharedPreferences,然後比較Google在註冊時提供給我的當前GCM ID,然後確定註冊ID是否仍然有效,這就是GCM文檔建議的操作。

+0

是的這顯然是一個很好的選擇,但我試圖避免呼籲谷歌獲得註冊ID。我基本上想要假設我的當前註冊ID是有效的,除非「某事」通知我不是。但我希望這個「東西」是本地的東西,而不是另一個額外的網絡電話。 – TooManyEduardos 2014-09-18 17:19:23

+0

這就是我想要在我的回答中明確的:唯一可以確定您的ID是否仍然有效的是Google,並且您可能只知道通過調用註冊方法。據記載,沒有一個明確的事件可能會使現有的ID無效:沒有近似的到期日期或類似的東西,所以我想剩下的唯一一件事就是這樣做。 – nKn 2014-09-18 17:22:10

+0

好的。謝謝。 – TooManyEduardos 2014-09-18 17:25:37