Ios 是否可以在交付时获取远程推送通知的交付收据?

Ios 是否可以在交付时获取远程推送通知的交付收据?,ios,Ios,如果手机已关闭接收远程推送通知,或推送通知未能送达,推送的发起人能否得到通知,告知推送通知未能送达 我知道有反馈服务可以查询失败的交付尝试,但这听起来像是拉式反馈,而不是每次推送通知都发送收据 因此,假设我们向100000台设备发送推送通知,那么我们是否可以连接到反馈服务并查看哪些失败?这有多准确?在反馈信息可用之前是否有时间延迟?您无法判断推送是否已发送 反馈服务旨在通知您一段时间内无法提供推送的设备。您应该对其中的数据进行操作,并停止向该设备发送推送。不过,进入反馈服务可能需要时间,因为只有

如果手机已关闭接收远程推送通知,或推送通知未能送达,推送的发起人能否得到通知,告知推送通知未能送达

我知道有反馈服务可以查询失败的交付尝试,但这听起来像是拉式反馈,而不是每次推送通知都发送收据


因此,假设我们向100000台设备发送推送通知,那么我们是否可以连接到反馈服务并查看哪些失败?这有多准确?在反馈信息可用之前是否有时间延迟?

您无法判断推送是否已发送


反馈服务旨在通知您一段时间内无法提供推送的设备。您应该对其中的数据进行操作,并停止向该设备发送推送。不过,进入反馈服务可能需要时间,因为只有当苹果认为该设备已卸载你的应用程序,或该设备不再使用,或类似事件发生时,才真正需要进入反馈服务,而不仅仅是该设备目前超出范围且与APNS没有连接。

只是补充了Matt的说法,APNS提供了第二种更直接的机制,用于了解某些类型的错误:错误响应包。推送通知时会立即返回这些数据包,在发生支持的错误时为您提供实时反馈,并让您有机会立即采取行动。如果APN接受通知且未返回错误响应数据包,则反馈服务将成为以后知道通知是否到达设备的唯一途径(即使如此,反馈服务列出的条件也不是那么简单)

反馈服务和错误响应包报告不同类型的错误,因此您不能单独依赖其中任何一个:您必须处理这两种机制报告的错误


有些库会自动处理错误响应数据包。

实时反馈数据包中包含哪些信息?其中列出了什么类型的错误?这在苹果的官方APNS文档中有完整的记录。APNS返回的错误代码列表见表5-1: