通过通知启动应用程序时使用推送通知负载

时间:2017-03-26 09:47:14

标签: ios swift apple-push-notifications

当用户通过打开该通知启动应用程序时,我想知道如何利用推送通知的有效负载。这可能吗?

我想实现在打开通知时发生的操作,但此操作需要部分有效负载工作。

干杯

1 个答案:

答案 0 :(得分:1)

只需在AppDelegate中实现application(_ application:, didReceiveRemoteNotification userInfo:)即可。 userInfo是推送通知的JSON表示(包括有效负载)。

此外,您可以检查该应用是否为" inactive",这意味着(在这种情况下)用户刚刚通过此推送通知进入应用

示例代码:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
    if (UIApplication.shared.applicationState == .active) {
        // you just got a PushNotification, but the app is running currently
    } else if (UIApplication.shared.applicationState == .inactive) {
        // Do your work in here, the User just opened the App via the Push Notification
        // check userInfo for the Payload
    }
}