如果 (n-1)-th 有错误的令牌,则未发送第 n-th Apple 推送通知

Posted

技术标签:

【中文标题】如果 (n-1)-th 有错误的令牌,则未发送第 n-th Apple 推送通知【英文标题】:n-th Apple push notification not sent if (n-1)-th has wrong token 【发布时间】:2012-09-18 14:45:01 【问题描述】:

我在使用简单格式时遇到了一些 apn 问题。这是场景:

1) 我与 apn 推送服务建立了持久连接。

2) 我连续发送 10 条消息,例如第 5 条可能有错误的设备令牌

3) 从 1 到 4 的所有消息都正确发送

4) 我从成功发送所有消息的套接字中收到一条消息(包括从第 5 到第 10 的消息)。

5) 第 6 到第 10 条消息不会推送给用户。

6) 一段时间后连接被 apn 服务器关闭

我做错了什么还是这是常见的行为?

【问题讨论】:

【参考方案1】:

您使用什么来发送推送通知?你能分享你的代码吗?我一直在使用APNS-Sharp,它运行得非常好。如果第 5 条消息有错误的令牌,则完全独立于下一条消息!确保您定期运行反馈服务​​并删除无效令牌并且令牌不想接受您的推送通知。也可以看看PushSharp。

【讨论】:

我认为这个问题的答案对我也有好处:***.com/questions/1759101/…你觉得呢? 嗯,我不确定 Apple 会在第一条消息或设备令牌损坏时立即关闭连接。当你继续做同样的事情时,它就会这样做。不确定,但我在 Apple 的推送通知文档中阅读了此内容。检查发送无效设备令牌后连接是否断开。如果它确实断开了连接,那么我将需要重新检查我的实现!我在发送到批量设备时遇到了问题,但现在可以正常工作了。我们会定期运行反馈服务​​并从数据库中删除无效令牌。 是的,我也实施了反馈......但这不是防弹的 您解决了这个问题吗?请问最后的结果是什么。这对像我们这样的其他人会有帮助。谢谢。 我没有明确的证据证明这一点,但就我的个人经验和我发现的一些网站而言,苹果似乎忽略了在带有错误令牌的消息之后到达的所有消息。奇怪的是,如果 json 比 apn 施加的限制长,则发送消息并且连接保持活动状态

以上是关于如果 (n-1)-th 有错误的令牌,则未发送第 n-th Apple 推送通知的主要内容,如果未能解决你的问题,请参考以下文章

如果设备空闲几分钟且没有充电状态,则未发送 Firebase 推送通知

继续发送推送通知,丢弃 ios 的失败设备

如果应用程序终止,则未收到 iOS FCM 推送通知

如何刷新 jwt 并重新发送失败的 http 请求?

当我发送超过过期日期的令牌时,为啥会收到 401 错误?

我需要帮助来验证 jwt 是不是有效或以其他方式创建一个新的,如果发送的令牌不正确,则在 nestjs 中间件中返回错误