【问题标题】:Android C2DM sending issuesAndroid C2DM 发送问题
【发布时间】:2011-07-14 07:46:52
【问题描述】:

我在使用 C2DM 服务测试推送通知时遇到问题。

我使用Lars' 示例直到“3.4。注册您的应用程序”来设置我的 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,但是一旦它们一起使用,我就会得到上面的未注册错误,并且没有推送通知。

想法?如果您需要更多信息,请发表评论,我会更新帖子。谢谢。

【问题讨论】:

  • 您有没有 1) 使用您的电子邮件在 android c2dm 页面注册 2) 尝试注销并重新注册?
  • @howa.wong - 是的,我注册了,并被列入白名单。如何注销?

标签: android android-c2dm


【解决方案1】:

如果您按照我的示例进行操作,则应在 RegisterActivity 的文本字段中维护您的注册 C2DM 用户(电子邮件地址)。这必须与 CURL 事物中的相同。还要确保正确复制身份验证字符串。

【讨论】:

    【解决方案2】:

    你看到previous question 了吗?这个问题也经常在android-c2dm 邮件列表中讨论。这是searchNotRegistered

    一个常见问题是您在应用程序上使用的发件人 ID 与用于生成身份验证令牌的发件人 ID 不同。请注意,在 C2DM 注册表单中,您提供了两个电子邮件地址:一个只是在您被接受时通知您,另一个是“角色帐户”。后者也称为发件人 ID,必须在手机应用程序和用于生成身份验证令牌的帐户中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 1970-01-01
      相关资源
      最近更新 更多