iOS 应用程序是不是可以通过编程方式知道 APNS 警报何时到达设备?

Posted

技术标签:

【中文标题】iOS 应用程序是不是可以通过编程方式知道 APNS 警报何时到达设备?【英文标题】:Is it possible for an iOS app to programmatically know when an APNS alert arrived on device?iOS 应用程序是否可以通过编程方式知道 APNS 警报何时到达设备? 【发布时间】:2011-10-23 19:14:38 【问题描述】:

我们有一个以通知为中心的应用程序,它通过 APNS 从服务器接收通知。服务器在时间 T0 发送警报。当应用程序不在前台时,ios 将在时间 T1 使用任何一种通知样式(包括 iOS 5 中的 Alerts 或 Banner 样式)提醒用户。然后用户点击通知,应用程序启动,我们使用通知负载中的详细信息在时间 T2 从服务器等获取更多详细信息。

很容易识别 T0(将其包含在通知负载中)和 T2(在设备上可用)。有没有办法让应用程序以编程方式知道 T1 - 设备收到通知的时间?

【问题讨论】:

【参考方案1】:

不,没有 API 可以获取消息实际传递到设备的时间。

您知道 T1 的唯一情况是您在应用程序处于前台时收到推送通知。然后 iOS 不会显示任何 UI,它只会在您的应用程序委托上调用 application:didReceiveRemoteNotification: 方法。 T1 将与 T2 相同。

【讨论】:

以上是关于iOS 应用程序是不是可以通过编程方式知道 APNS 警报何时到达设备?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 应用程序是不是可以通过编程方式知道 APNS 警报何时到达设备?

我是不是需要注册 APN 才能在 iOS 中使用 GCM 推送通知?

iOS:是不是可以通过编程方式从 iOS 应用程序获取 iTunes 应用程序链接?

node-apn 是不是提供持久连接?

从 APN 迁移到 Firebase 后未重新生成 iOS 设备令牌

phonegap-plugin-push 获取不是 FCM 令牌的 APN 令牌