我有一个关于 Google Cloud Messaging 的问题...
我将 GCM 发送给 Google 以获取 3 个注册 ID,然后 Google 回复说其中 2 个注册 ID 已成功发送,一个未成功发送,因为注册 ID 错误!
但它没有告诉我还没有发送哪个注册ID...
现在我的问题是: 我如何解析 Google GCM 响应以获取尚未发送的注册 ID? Google 是否有 API 或其他东西,以便我可以给它“multicat_id”并告诉我哪个注册 ID 有问题?
非常感谢任何帮助,我只是很困惑:)
最佳答案
它是基于顺序的:
假设你发送这个:
{ "collapse_key": "score_update",
"time_to_live": 108,
"delay_while_idle": true,
"data": {
"score": "4x8",
"time": "15:16.2342"
},
"registration_ids":["4", "8", "15", "16", "23", "42"]
}
并从 Google 获得此响应:
{ "multicast_id": 216,
"success": 3,
"failure": 3,
"canonical_ids": 1,
"results": [
{ "message_id": "1:0408" },
{ "error": "Unavailable" },
{ "error": "InvalidRegistration" },
{ "message_id": "1:1516" },
{ "message_id": "1:2342", "registration_id": "32" },
{ "error": "NotRegistered"}
]
}
这意味着您发送的第 3 个注册 ID (15) 无效,第 6 个 (42) 未注册。两者都应从您的数据库中删除。
关于php - 如何解析 GCM 响应以使用 php 从服务器中删除无效的注册 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16921189/