【问题标题】:Apple Push Notification - all messages get sent but not all get deliveredApple 推送通知 - 所有消息都已发送,但并非所有消息都已发送
【发布时间】:2013-09-09 10:13:22
【问题描述】:
我在发送 Apple 推送通知时遇到问题。
当我只向两台设备发送消息时,一切正常。
但是当我向数据库中的所有设备发送消息时,并不是所有的推送消息都被传递,但我没有收到任何设备的错误。发送成功!
当我将消息发布到所有设备时,其中一个在第一次测试中收到消息的设备没有收到消息。
发送程序正在运行,因为我在第一次测试时在手机上收到一条消息,当我发送到所有设备时它也可以正常工作。是否还有其他问题导致此问题?或者这是 Apple 的错误/问题。
我不知道问题可能是什么。
有没有人也有这个问题??
【问题讨论】:
标签:
ios
push
apple-push-notifications
apns-php
【解决方案1】:
当您为 1 台设备工作时,我猜您正在使用开发配置文件。对于多个设备,您必须使用分发配置文件。因此,只需根据配置文件检查您的所有配置文件和注册设备。删除您不使用的配置文件,这应该可以解决您的问题。
【解决方案2】:
如果您在某个时间从同一个设备令牌多次发送相同的消息,那么最后一条消息将被发送,我认为苹果会删除后端中的重复记录。
【解决方案3】:
- APNS 基于 Apple 服务器,Apple 不保证消息传递成功。
- 如果通知到达时应用处于打开状态(即用户正在使用应用),iOS 不显示通知消息,需要您处理。
- 仅当应用程序被后台或终止时才会显示通知。
- 也在你的服务器端实现反馈服务;将帮助您摆脱旧的不需要的令牌(通过设置删除应用或禁用通知的用户)。
- 不要在短时间内向设备发送太多通知,因为 APNS 仅缓存 1 条消息/设备(如果设备离线)。因此,它可以在设备上线时传递消息。我不确定消息被缓存了多长时间。
- 检查您在其他设备中使用的证书。