再次打开设备或 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 推送通知的主要内容,如果未能解决你的问题,请参考以下文章

你的计算机配置似乎是正确的 但该设备或资源 怎么回事

通过 Internet 打开和保存 Word 文件

我们可以使用蓝牙重新连接断开的外围设备而无需再次扫描 ios

火花:java.io.IOException:设备上没有剩余空间[再次!]

“Internet高级重置了找不到高拍仪

各位大佬ios12怎么屏蔽再次更新系统