我创建了一个简单的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中得到了回复。我没有。
我再次尝试了,但结果相同。任何人都可以建议问题是什么?
答案 0 :(得分:2)
在某些时候摆弄它之后,我终于找到了办法。想与大家分享同样的东西。
我做了一些改动来解决这个问题。
Apple返回的设备令牌将包含括号和空格。 Azure文档仅在使用令牌进行通知之前提及删除括号。但是,我们必须删除括号和空格。
我们不应该在服务器中保留任何非活动设备令牌。出于某种原因,当我向活动和非活动设备令牌触发通知时,我在任何活动设备上都看不到任何通知。当我删除非活动令牌然后触发通知时,我会在所有活动设备上看到通知。
那就说现在一切正常!