我在我的應用程序中使用gcm。 在谷歌開發者控制檯頁面,我創建了一個項目,並獲得項目編號:爲什麼當應用程序更新時重新註冊到gcm?
在我的應用程序中使用這個項目ID,用戶被註冊到GCM服務器並獲得registeration ID。然後它被髮送到我的第三方服務器進行存儲。
當第三方服務器想要向用戶發送消息時,它會使用我在帖子動作頭部的Google Developer Console頁面中獲得的apikey,並使用爲該特定用戶存儲的註冊ID 。我使用的API密鑰爲:
請注意,這是針對服務器應用程序,我使用該信息的方式,關鍵是因爲,正如我解釋。
一切工作正常,消息由正確的用戶檢索等。我打算在谷歌播放部署我的應用程序,但部分寫的是什麼:GCM advanced topics混淆了我。它說:
當一個應用程序更新,應該廢止其現有的註冊ID,因爲它不能保證與新版本
,並在示例代碼的註釋部分工作Implementing GCM client sample code有此評論:
// Check if app was updated; if so, it must clear the registration ID
// since the existing regID is not guaranteed to work with the new
// app version.
這兩個解釋是什麼意思?我想,除非我在這裏按再生關鍵:
我的API密鑰不會改變。當我更新我的應用程序時,它爲什麼要改變(或者真的改變了)?還是我錯了?
嗨@Eran,但我的問題是在每次更新時我收到一個通知額外的,如果我釋放3更新,那麼我會得到3通知。我如何控制這個? – Uday
@Uday如果您在每次更新時註冊GCM,則可以獲得與以前相同的註冊ID或新註冊ID。無論哪種方式,你應該在你的服務器中替換新的ID。這樣每個設備在您的數據庫中將有一個註冊ID,並且您不會爲同一設備獲得多條消息。 – Eran
hooo好的,謝謝指導。 – Uday