Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设备联机后在iOS中出现推送通知的异常行为_Ios_Parse Platform_Apple Push Notifications_Ionic - Fatal编程技术网

设备联机后在iOS中出现推送通知的异常行为

设备联机后在iOS中出现推送通知的异常行为,ios,parse-platform,apple-push-notifications,ionic,Ios,Parse Platform,Apple Push Notifications,Ionic,我在一个Ionic应用程序中使用推送通知解析。虽然当设备在线时推送通知在iOS和Android中都能正常工作,但当设备先离线后在线时,Android和iOS中的行为有很大不同 在Android中,设备脱机时发送的所有通知都会被接收。在iOS中,发生以下任一情况: 我收到所有推送通知 我没有收到推送通知 我从队列中收到一个随机推送通知 我从队列中收到最后一个通知 这似乎是APNS中预期的随机行为,还是我在解析中缺少了一些设置?我还读到,在这种情况下,不应依赖APN Apple推送通知服务包括服

我在一个Ionic应用程序中使用推送通知解析。虽然当设备在线时推送通知在iOS和Android中都能正常工作,但当设备先离线后在线时,Android和iOS中的行为有很大不同

在Android中,设备脱机时发送的所有通知都会被接收。在iOS中,发生以下任一情况:

  • 我收到所有推送通知
  • 我没有收到推送通知
  • 我从队列中收到一个随机推送通知
  • 我从队列中收到最后一个通知
这似乎是APNS中预期的随机行为,还是我在解析中缺少了一些设置?我还读到,在这种情况下,不应依赖APN

Apple推送通知服务包括服务质量(QoS) 执行存储转发功能的组件

如果APNs试图发送通知,则目标设备 如果处于脱机状态,APNs将在有限的时间内存储通知 并在设备再次可用时交付

此组件仅存储每个设备的最新通知 和每个应用程序。如果设备处于脱机状态,则发送通知请求 以该设备为目标会导致放弃以前的请求。如果 设备长时间处于脱机状态,所有存储的通知 在APN中,将丢弃这些APN。

Apple推送通知服务包括服务质量(QoS) 执行存储转发功能的组件。如果APNs尝试 要传递通知且目标设备处于脱机状态,APNs 在有限的时间段内存储通知并发送 当设备再次可用时。此组件仅存储 每个设备和每个应用的最新通知。如果一个设备是 脱机时,发送针对该设备的通知请求会导致 要丢弃的上一个请求。如果设备保持脱机状态达 很长一段时间,APN中存储的所有通知都被丢弃

对于GCM,您可以通过以下方式实现类似的行为:

此参数标识一组消息(例如 折叠键:“可用更新”),可以折叠,以便 最后一条消息将在可以恢复传递时发送。这是 旨在避免在 设备恢复联机或变为活动状态(请参阅空闲时延迟)

请注意,无法保证消息获取的顺序 已发送。


iOS上的随机行为似乎很奇怪,但可能只是因为推送通知不能100%保证发送,而且也不能按照发送顺序发送。

知道这一点真是太遗憾了,我还猜测,随机行为是因为推送通知是通过开发人员配置文件调用的,我将使用分发版1进行测试,并查看结果。