在应用启动时获取推送通知详细信息

Posted

技术标签:

【中文标题】在应用启动时获取推送通知详细信息【英文标题】:Getting push notification details on app launch 【发布时间】:2016-10-09 08:43:37 【问题描述】:

当应用程序启动(从终止状态)时,是否有任何方法可以从推送通知中获取信息,方法是点击其图标,而 PUSH 没有被点击?

【问题讨论】:

您是否尝试在应用代理的didFinishLaunchingWithOptions 方法中使用launchOptions![UIApplicationLaunchOptionsRemoteNotificationKey] 当然!不幸的是 launchOptions != nil 仅当用户点击推送时 Elena : 如果没有 PUSH TAPPED,您将无法收到推送通知。其他方式可以在启动时从服务 API 获取相同的信息 :) @kaushal:非常感谢,我猜是这样,只是想在转向后端人员之前排除任何幻觉的可能性 =) 【参考方案1】:

我不是 100% 确定,但我认为您可以在收到通知后处理它(您设置 content-available 标志以便您的代码可以运行),在 UserDefaults 上存储一个标志以及推送信息,一旦打开应用程序,您就可以使用这些信息。

有关“静默”推送通知的更多信息,请查看here

【讨论】:

实际上问题不在于“无声”推送——这种我已经可以处理了。问题在于收到推送到“已终止”应用程序并从图标启动它。但似乎没有别的办法,只能用 API 获取它【参考方案2】:

如果没有用户点击通知中心的通知,您将无法从通知中获取信息。

但是,如果您尝试实现不可见的通知,这是可能的,但应用程序不会在前台启动。

【讨论】:

这并不完全正确。无论用户是否点击通知,我都可以在应用程序运行时或在后台获取通知信息。唯一无法读取通知信息的情况是应用程序被终止并且用户从图标而不是推送通知启动它。

以上是关于在应用启动时获取推送通知详细信息的主要内容,如果未能解决你的问题,请参考以下文章

ios 如何在推送通知中启动应用程序

如果用户不接受,也使用推送通知

应用启动后如何获取 iOS 推送通知令牌

Cordova windows 8 手机 WNS 推送通知和应用发布流程及详细信息

如何在收到推送通知后让 android 应用程序在后台启动,以便它可以从服务器获取数据?

Worklight 6.2 Android 应用程序未在推送通知上启动