再次打开设备或 Internet 后,iOS 未收到待处理的 APNs 推送通知
Posted
技术标签:
【中文标题】再次打开设备或 Internet 后,iOS 未收到待处理的 APNs 推送通知【英文标题】:iOS not receiving pending APNs push notification after turn on device or Internet again 【发布时间】:2020-06-10 05:16:16 【问题描述】:我正在使用 react-native 开发一个 ios 聊天应用程序。启用远程通知功能。当应用程序与网络连接时会收到通知。一旦我关闭手机并在一夜后将其打开,就不会收到待处理的通知。知道为什么它没有收到吗?
我的通知负载看起来像,
pn_apns:
aps:
alert: "title": "test", body: "hello",
sound: "default",
content-available: 1
【问题讨论】:
【参考方案1】:关键是在向 APNs 发送通知的同时从提供商服务器发送 apns-expiration。根据文档,apns-expiration 是以秒 (UTC) 表示的 UNIX 纪元日期。此标头标识通知不再有效并且可以丢弃的日期。如果此值非零,APNs 存储通知并尝试至少传递一次,如果无法传递通知,则根据需要重复尝试第一次。如果值为 0,则 APNs 将通知视为立即过期,不会存储通知或尝试重新发送通知。apns-expiration 的默认值为零
来源:https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html#//apple_ref/doc/uid/TP40008194-CH11-SW1
【讨论】:
以上是关于再次打开设备或 Internet 后,iOS 未收到待处理的 APNs 推送通知的主要内容,如果未能解决你的问题,请参考以下文章
我们可以使用蓝牙重新连接断开的外围设备而无需再次扫描 ios