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