iOS 13 - 静默推送通知不再可靠

iOS 13 - silent push notifications are no longer reliable

提问人:Segev 提问时间:9/10/2019 最后编辑:Segev 更新时间:9/10/2019 访问量:8264

问:

iOS 13 更改:

变化 1:在 iOS 13 Beta 6 中,操作系统不再处理优先级为 10 的静默远程通知(又名后台通知)并被丢弃。这在过去有记录,但从未强制执行。

文档

为有效负载包含 content-available 键的通知指定此优先级 (10) 是错误的。

日志:

错误 14:11:19.224387 +0300 DASD 不支持:高优先级静默推送。(应用=)

默认值 14:11:19.224713 +0300 dasd 守护程序取消活动:{( com.apple.pushLaunch.com.some.bundle:64660B )}

默认 14:11:19.225032 +0300 dasd 已取消:com.apple.pushLaunch.com.some.bundle:64660B 优先级为 10 !

默认值 14:11:19.225363 +0300 dasd 按活动删除应用程序的启动请求

更改 2:向运行 iOS 13 的设备发送通知时,需要一个新键 apns-push-type,其值为 或 。backgroundalert

在遵守上述规定后,我仍然看到有关静默远程通知的随机行为。我可以看到通知到达设备,在某些情况下(即使设备连接到电源),操作系统也会丢弃通知。

故障日志:

默认 12:19:33.450155 +0300 dasd 提交的活动:com.apple.pushLaunch.some.bundle:3B0049,优先级为 5 <§private>

默认值 12:19:33.457216 +0300 dasd 不允许推送 <§private>

默认 12:19:33.457355 +0300 dasd 守护程序取消活动:{( com.apple.pushLaunch.some.bundle:3B0049 )}

成功日志:

默认 14:37:33.633462 +0300 dasd 提交活动: com.apple.pushLaunch.com.some.bundle:D1EEDF 优先级为 5 <§private>

默认值 14:37:33.639191 +0300 dasd 添加启动请求 (<§private>) 按活动申请 <§private>

默认值 14:37:33.639240 +0300 dasd 启动请求 <§private>: <§私人>

回到文档:

指定 5 以根据用户设备上的电源注意事项发送通知。对于有效负载包含 content-available 键的通知,请使用此优先级。具有此优先级的通知可能会被分组并批量传送到用户的设备。它们也可能受到限制,在某些情况下无法交付。

据我所知,静默通知是受限制的,而不是随机发送的(即使电池已充满并且设备已连接到电源)

仍在试图弄清楚这是正确的行为还是Apple将要修复的错误。

iOS 推送通知 apple-push-notifications ios13

评论

0赞 matt 9/10/2019
请参阅 stackoverflow.com/questions/57578083/...
0赞 Segev 9/10/2019
谢谢,马特。最后一条评论说:“好消息:亚马逊昨晚推动了这个问题的修复。静默通知在 SNS 和 iOS 13 上可靠运行。这不是我所看到的。
0赞 matt 9/10/2019
是的,我注意到了。不过,这表明有一个解决方案。:)
1赞 karthikeyan 9/30/2019
你得到解决方案了吗?你能添加样本有效载荷吗?
1赞 Boaz Saragossi 12/4/2019
@MoFarhand我在 iOS 13.2.3 上有相同的行为

答: 暂无答案