经常查看APNS的反馈意见?

Jus*_*cis 9 apple-push-notifications ios

要检测无效令牌,我应该多久检查一次反馈服务?

我使用APNS服务实现了广播系统.我打开一个连接,发送所有APNS消息,然后断开连接.然后我在广播完成后立即打开反馈连接,并读取任何无效的令牌.

我确实在反馈连接上获得了无效令牌.但是,我的广播通常只会部分成功(某些设备接收而其他设备不接收),当我删除除已知好的令牌以外的所有设备时,我的测试设备会始终收到消息.

我认为这意味着Apple在收到前几个无效令牌后停止广播.

所以我没有正确地听取反馈意见吗?

pgr*_*ton 2

您应该在每次发送推送时检查反馈响应并删除不活动的设备。不过,这看起来不像你现在的问题。

您的问题看起来像是数据库中有一些无效的令牌。如果您发送无效令牌,Apple 将断开您的连接。发送非活动令牌不会产生任何效果,但如果您发送格式错误/无效的令牌,Apple 将终止您的套接字。

另一个问题可能是您这边缺少重试方案。如果您在按下按钮时连接断开,您是否实施了任何例程来重新打开与 Apple 的连接?您必须预测连接可能会失败,如果失败,您必须将其恢复并从停止的地方重新开始推送。

你应该寻找的是:

  • 确保您的数据库中只存储有效的代币
  • 确保您有适当的重试计划
  • 看看Notnoop,它是一个非常简单的 Java API,可以为你处理很多事情