【问题标题】:Push notification - Firebase推送通知 - Firebase
【发布时间】:2018-09-19 13:33:35
【问题描述】:

我有一个应用程序,当它收到来自服务器的推送通知时,它会立即执行一段代码。我已经在应用程序中启用了后台模式,并且它在后台运行,即应用程序最小化模式。但在终止状态应用程序接收推送和调用

didReceiveRemoteNotification userInfo: fetchCompletionHandler completionHandler:

第一次。之后,如果它收到另一个推送,它将不会调用该方法。 我和我一起工作 xcode: 9.1 IOS:11.2 迅速: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
 }

请帮忙。

【问题讨论】:

    标签: ios swift firebase push-notification


    【解决方案1】:

    因为didReceiveRemoteNotification 仅适用于 iOS 9 及更低版本。

    使用下面的 2 个委托进行 Firebase 远程推送(iOS 10 及更高版本)。

    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) {}
    

    【讨论】:

    • 我认为当用户点击通知时这会调用。我的需求不一样。我需要在没有用户交互的情况下获得它。谢谢。
    • 如果您在服务器发送推送时处于前台,则无需用户交互即可知道。 @安居
    猜你喜欢
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 2018-12-17
    • 2018-06-18
    • 1970-01-01
    相关资源
    最近更新 更多