我无法使用 C2DM 服务测试推送通知。
在“3.4。注册您的应用程序”之前,我一直在使用Lars 的示例来设置我的 android 测试项目。我成功地从设备获取了注册 ID。
然后我使用以下 curl 通过我的服务器成功获取了 Auth 令牌:
curl https://www.google.com/accounts/ClientLogin -d Email=theEmailYouWhitelisted -d Passwd=pass****word -d accountType=HOSTED_OR_GOOGLE -d source=Google-cURL-Example -d service=ac2dm
所以现在我有两个主要的组件要推动。所以为了测试的目的,我发出另一个 curl 来发送消息(我将实现 auth 令牌生成,并在我得到它的功能后在 php 中发送消息)。
我用:
curl --header "Authorization: GoogleLogin auth=**authFromRegistrationAbove**" "https://android.apis.google.com/c2dm/send" -d registration_id=**phoneRegistrationId(reciever)** -d "data.message=HelloPush" -d collapse_key=something -k
回复:
错误=未注册
这就是我所在的地方,很困惑。我使用我的白名单电子邮件/密码成功获得了我的身份验证令牌,并通过我的客户端服务器注册并接受了 C2DM 程序。然后编译了 Lars 的项目来生成我的设备注册 id,但是一旦它们一起使用,我就会得到上面的未注册错误,并且没有推送通知。
想法?如果您需要更多信息,请发表评论,我会更新帖子。谢谢。