我在理解Canonical Registration Id
并将其归还给Google时遇到问题。我故意注册了我的Android应用两次(以测试Canonical Registration Id
),但当我尝试向Registration Ids
同时发送消息时,我没有从Google Canonical Registration Id
获得回复。
此外,我想知道Google返回的消息ID的格式是什么意思。我可以在日志中看到它似乎由三部分<something>:<something2>%<something3>
组成。知道他们的意思吗?第三部分是否识别设备?
[INFO com.bipper.filters.PushUpdatesFilter] [messageId = 0:1349819220154718%921c249a6e2555b5] [INFO com.bipper.filters.PushUpdatesFilter] [messageId = 0:1349819220242456%921c249a6e2555b5]
答案 0 :(得分:21)
我设法通过这种方式从GCM获得规范注册ID:
初始状态:应用程序安装在Android设备上并注册到GCM。发件人服务器具有注册ID,并设法向该设备发送消息。
卸载该应用程序。
向原始(旧)注册ID发送两条消息。第一个似乎工作(服务器将从GCM服务器收到成功的回复)。第二次尝试将导致“NotRegistered”错误。
重新安装应用程序并注册到GCM。设备将获得新的注册ID。
使用旧注册ID发送消息。应用程序将收到该消息,但服务器将在回复时将新注册ID作为规范注册ID。