2012-10-09 29 views
8
  1. 我有認識Canonical Registration Id問題,得到它由谷歌返回。我有意註冊我的Android應用兩次(測試Canonical Registration Id),但是當我嘗試將消息推送到Registration Ids時,我並沒有從Google返回一個Canonical Registration Id規範註冊ID和消息ID格式

  2. 另外,我想知道Google返回的消息ID的格式是什麼意思。我可以在日誌中看到它似乎由三部分組成<something>:<something2>%<something3>。任何想法是什麼意思?第三部分是否識別設備?

    [INFO com.bipper.filters.PushUpdatesFilter] [MESSAGEID = 0:1349819220154718%921c249a6e2555b5] [INFO com.bipper.filters.PushUpdatesFilter] [MESSAGEID = 0:1349819220242456%921c249a6e2555b5]

回答

21

我設法從GCM得到一個規範的註冊ID:

  1. 初始狀態:應用程序安裝在Android設備上並註冊到GCM。發件人服務器具有註冊ID並管理將消息發送到該設備。

  2. 卸載應用程序。

  3. 向原始(舊)註冊ID發送兩條消息。第一個似乎工作(服務器將收到來自GCM服務器的成功答覆)。第二次嘗試將導致「未註冊」錯誤。

  4. 重新安裝應用程序並註冊到GCM。該設備將獲得一個新的註冊ID。

  5. 使用舊的註冊ID發送消息。應用程序將收到消息,但服務器將在回覆中將新的註冊ID作爲規範註冊標識符。

+0

這看起來很奇怪,該死的谷歌。 –

+0

對我的情況不起作用,我已將郵件發送到舊應用'reg_id'並重新安裝應用'reg_id',但對於舊應用GCM顯示{error:'NotRegistered'}}和'canonical_ids:0,仍然沒有獲得canonical_ids你能告訴我爲什麼它不適合我嗎? –