如何使用Firebase获取通知响应数据?

时间:2018-07-31 11:40:41

标签: ios swift firebase firebase-cloud-messaging

我已经实施了FCM通知来发送通知。 当我从Firebase控制台发送通知时,我会收到通知。但是,当我从服务器发送通知时,我获得了成功,但没有出现通知。

第二,如何获取通知响应数据?

我的didReceiveRemoteNotification函数也不起作用。这是我的代码:

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {

 print("Recived: \(userInfo)")
    print("success")
}

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

    print("Recived: \(userInfo)")
    print("success")
}

func application(application: UIApplication,  didReceiveRemoteNotification userInfo: [NSObject : AnyObject],  fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {

    print("Recived: \(userInfo)")
    print("success")
}

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {

    self.application(application, didReceiveRemoteNotification: userInfo) { (UIBackgroundFetchResult) in

       print("Recived: \(userInfo)")
    print("success")
    }

   print("Recived: \(userInfo)")
    print("success")

    let state: UIApplicationState = application.applicationState
    // user tapped notification while app was in background
    if state == .inactive || state == .background {
        print("Inactive")
    }
    else {
        print("Active")
    }
}

2 个答案:

答案 0 :(得分:0)

我发现以下消息最适合我在Android和iOS上使用(我使用firebase函数发送该消息,但这没关系)。请注意,要使此方法起作用,您需要使用send方法,而不要使用不推荐使用的方法,因此类似:Integer

要发送到r.intValue() == p的消息:

import sys
s = ""
print(sys.getsizeof(s))

答案 1 :(得分:0)

我解决了一个与此类似的问题,将其添加到Firebase通知中:

"apns" : {
  "payload" : {
    "aps" : {
        "content-available" : 1
     }
  }
}