我正在使用推送通知开发应用程序。
当发送方正在发送消息时接收方未连接到WIFI /互联网时,接收方是否会在接收方重新连接到互联网时收到所有已发送的消息?
答案 0 :(得分:8)
一旦他/她获得互联网访问权限,就会有一个队列发送给用户。但是,如果用户没有网络“很长时间”,则无法保证通知将被发送/接收。
Apple文档对于很长时间所花费的时间非常模糊。 (见documentation)
Apple推送通知服务包括执行存储转发功能的默认服务质量(QoS)组件。
如果APN尝试发送通知但设备处于离线状态,则通知会在一段有限的时间内存储,并在设备可用时传送给设备。
仅存储特定应用程序的最近通知。如果在设备脱机时发送多个通知,则每个新通知都会导致先前通知被丢弃。仅保留最新通知的这种行为称为合并通知。
如果设备长时间处于离线状态,则会丢弃为其存储的所有通知。
但是我听说APNS会尝试重新发送通知大约25-30天。但是没有官方文件支持这个!
答案 1 :(得分:1)
没有APNS和其他消防基地无法获得所有通知。 我们只能接受应用程序发送的最后一个通知。
另一种可能的解决方案是在数据库中保存,并在一段时间限制后写一个调度程序以发出通知。
答案 2 :(得分:0)
当设备通过WiFi连接到APN时,确保没有防火墙通过端口5223阻止入站和出站TCP数据包。 5223端口与APNS通信。以下是其他解决方案。
TCP端口5223与APN通信。 TCP端口2195向APN发送通知。 用于APN反馈服务的TCP端口2196。 设备激活期间需要TCP端口443,之后如果设备无法通过端口5223到达APN,则需要使用TCP端口(仅限Wi-Fi)。 请咨询您的网络管理员,确保端口可以访问。