我正试图通过C2DM/GCM通过PHP向Android应用程序发送推送通知。无论我使用哪种,我都会得到以下信息:
对于GCM:{"multicast_id":7672049265453358197,"成功":0,"失败":1,"规范_ids":0、"结果":[{"错误":"无效注册"}]}
对于C2DM:错误=注册无效
在读了一整天关于这个问题的文章后,我仍然不知道为什么这是无效注册,就好像我取了registatoin_id并用它通过Urban Airship发送测试推送消息一样,它是有效的。
- 请注意,这不是身份验证问题,因为我从谷歌得到了一个[http_code]=>200,而不是401
- 如果我发送一个空的registatoin_id,甚至只省略其中的一个字符,则错误消息将变为"MissingRegistration"
如有任何帮助,我们将不胜感激。
如果您从UrbanAirship复制了apid
,那么这就是问题所在:
http://docs.urbanairship.com/reference/glossary.html#term-apid
飞艇推送标识符
APID-
APID识别具有临时注册ID的设备,例如Windows设备。这些标识符是版本4的UUID,长度为36个字符,包括短划线。
您需要从http://docs.urbanairship.com/api/ua.html#get--api apids-(APID)在"gcm_registration_id"
属性中。这是需要的注册id。
然后你似乎需要跟踪该注册id,因为它是UrbanAirship建议的瞬态id。但这是另一个话题。