C2DM和&amp ;;上的InvalidRegistration都是无效的。 GCM

时间:2014-09-29 16:42:48

标签: php android push google-cloud-messaging android-c2dm

我正在尝试通过PHP将推送通知通过C2DM / GCM发送到Android应用程序。 无论我使用哪种,我都会得到以下内容:

对于GCM: { “multicast_id”:7672049265453358197, “成功”:0, “失败”:1, “canonical_ids”:0 “结果”:[{ “错误”: “InvalidRegistration”}]}

对于C2DM:错误= InvalidRegistration

在整天阅读关于这个问题的分配之后,我仍然一无所知,为什么这是一个InvalidRegistration,好像我采用registatoin_id并使用它通过Urban Airship发送测试推送消息它是有效的。

  • 请注意,这不是身份验证问题,因为我收到[http_code] =>从谷歌返回200而不是401。
  • 如果我发送一个空的registatoin_id,或者甚至只省略一个字符,则错误消息将变为“MissingRegistration”。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果您从UrbanAirship复制了apid那么问题就出现了:

http://docs.urbanairship.com/reference/glossary.html#term-apid

  

飞艇推送标识符

     

APID

     

APID识别具有临时注册ID的设备,例如Windows设备。   这些标识符是版本4 UUID,长度为36个字符,包括短划线。

您需要从"gcm_registration_id"属性中的http://docs.urbanairship.com/api/ua.html#get--api-apids-(APID)获取设备信息。这是所需的注册ID。

似乎您需要跟踪该注册ID,因为它是UrbanAirship建议的瞬态。但这是另一个话题。