推送通知 - Firebase

时间:2018-04-10 03:52:16

标签: ios swift firebase push-notification

我有一个应用程序,当它从服务器收到推送通知时立即执行代码块。我已在应用程序中启用了后台模式,并且它在应用程序最小化模式的后台中按预期工作。但在终止状态的应用程序接收推送和调用

didReceiveRemoteNotification userInfo:fetchCompletionHandler completionHandler:

这是第一次。之后,如果它接收到另一个推送,它将不会调用该方法。 我一直在努力 xcode:9.1 ios:11.2 swift:4

推送有效载荷

{
   registration_ids: to,
   data: {
     title : 'xxxxx',
     notify_id : xxxxxx,
     created_on : createdTime,
     body: body
   },
   notification: {
     title: 'xxxxxx',
     body: body,
     sound: 'xxxx.caf'
   },
   priority: 'High',
   content_available: true
 }

请帮忙。

1 个答案:

答案 0 :(得分:0)

因为didReceiveRemoteNotification仅适用于iOS 9及以下版本。

在Firebase远程推送(iOS 10及更高版本)中使用以下代理2。

<强> 1。接收背景推送

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

<强> 2。接收前景推送

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