当应用程序未运行或处于后台状态时,如何处理推送通知有效负载而不点击它

时间:2018-12-19 11:56:43

标签: ios swift

我必须在本地存储我的iOS应用中出现的所有通知的标题和正文,并将其显示在通知屏幕中。我可以使用这些存储所有点击的通知-

当应用处于未运行状态或点击推送通知时被终止时,此调用被调用-

    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {...}

当应用在前台或后台运行并且点击了推送通知时,会调用此方法-

    func userNotificationCenter(_ center: UNUserNotificationCenter,
                            didReceive response: UNNotificationResponse,
                            withCompletionHandler completionHandler: @escaping () -> Void) {...}

我的问题是如何在不点击通知的情况下存储通知。 即使用户拒绝/清除了通知,我也要存储通知。

我知道当应用程序处于活动状态并且在前台且推送通知到来时会调用此方法-

func userNotificationCenter(_ center: UNUserNotificationCenter,
                            willPresent notification: UNNotification,
                            withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {..}

当应用程序处于后台或未运行状态时,如何在不点击推送通知数据的情况下进行处理?

1 个答案:

答案 0 :(得分:1)

1-如果应用未运行,则无法仅通过(VOIP)唤醒应用

2-如果在后台,则将此密钥添加到发送的有效载荷中

  

“ content_available”:是

并从应用程序功能中启用 RemoteNotifications