Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.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
Firebase iOS脱机时的FCM行为_Firebase_Apple Push Notifications_Firebase Cloud Messaging - Fatal编程技术网

Firebase iOS脱机时的FCM行为

Firebase iOS脱机时的FCM行为,firebase,apple-push-notifications,firebase-cloud-messaging,Firebase,Apple Push Notifications,Firebase Cloud Messaging,当我向离线的iOS设备发送通知时(例如,在飞行模式下或关闭),我很难弄清楚FCM的行为 该属性的文档中提到,目前,iOS上的通知消息不支持time to live。但没有解释所执行的操作。我试过测试它,它看起来像推送通知有时通过,有时不通过,不管我将time\u to\u live属性设置为什么,尽管我不确定这是由于节流还是FCM端发生的其他事情 与此相关的是,我似乎无法让delay\u while\u idle属性在iOS上工作,尽管文档没有明确提到它不适用于iOS-即使我将delay\u w

当我向离线的iOS设备发送通知时(例如,在飞行模式下或关闭),我很难弄清楚FCM的行为

该属性的文档中提到,
目前,iOS上的通知消息不支持time to live。
但没有解释所执行的操作。我试过测试它,它看起来像推送通知有时通过,有时不通过,不管我将
time\u to\u live
属性设置为什么,尽管我不确定这是由于节流还是FCM端发生的其他事情

与此相关的是,我似乎无法让
delay\u while\u idle
属性在iOS上工作,尽管文档没有明确提到它不适用于iOS-即使我将
delay\u while\u idle
设置为true,在手机睡眠时发送的通知仍然会唤醒手机


有人知道这是怎么回事吗?

Android和iOS都可以使用
实时
。但是,由于向iOS设备发送FCM消息的过程如下:

应用服务器>FCM服务器>APNs>iOS设备

可以肯定地说,只有FCM服务器才使用
实时时间
,具体如下:

此参数指定如果设备脱机,消息应在FCM存储器中保留多长时间(秒)。支持的最长生存时间为4周,默认值为4周。有关详细信息,请参阅

环顾四周,APN发送到脱机设备时的行为是(从):

Apple推送通知服务包括一个执行存储转发功能的服务质量(QoS)组件。如果APNs尝试发送通知,而目标设备处于脱机状态,APNs将在有限的时间内存储通知,并在设备再次可用时发送通知。此组件仅存储每个设备和每个应用程序的最新通知。如果设备处于脱机状态,则发送针对该设备的通知请求会导致放弃以前的请求。如果设备长时间处于脱机状态,则将丢弃APN中存储的所有通知

到目前为止,已弃用

我知道,要唤醒一部iOS手机(在线/连接到一个像样的网络),你可以做的就是简单地