APNS-注册消息无效



我创建了一个简单的iOS应用程序并启用了推送通知。

我正在使用Windows Azure作为我的服务器。

我按照步骤启用了推送通知(使用开发证书),并成功创建了设备令牌。

然后我从服务器推送了一个通知。我收到下面的错误消息。

Push notification sent:  { multicast_id: "some random number",
  success: 0,
  failure: 1,
  canonical_ids: 0,
  results: [ { error: 'InvalidRegistration' } ],
  invalidIds: [ "my device token" ],
  updatedIds: {} }

我删除了我的应用程序并重新创建了设备令牌。但是,我得到了相同的设备令牌。我还检查了我是否在didReceiveRemoteNotification中得到了响应。我没有。

我又试了一遍,但结果还是一样。有人能提出问题可能是什么吗?

经过一段时间的摸索,我终于找到了一种方法。想和每个人分享同样的东西。

为了解决这个问题,我做了一些改动。

  1. 苹果返回的设备令牌将同时包含方括号和空格。Azure文档只提到在使用令牌进行通知之前删除方括号。但是,我们必须去掉括号和空格。

  2. 我们不应该在服务器中保留任何非活动的设备令牌。出于某种原因,当我触发对活动和非活动设备令牌的通知时,我在任何活动设备上都看不到任何通知。当我删除非活动令牌并触发通知时,我会在所有活动设备上看到通知。

也就是说,现在一切都很好!

最新更新