应用程序在前台时未收到推送通知

Posted

技术标签:

【中文标题】应用程序在前台时未收到推送通知【英文标题】:Push Notification not received when app is in foreground ios flutter 【发布时间】:2020-12-23 10:40:12 【问题描述】:

我已经为 Flutter 中的推送通知集成了 firebase。如果应用程序在前台,我会显示一个包含通知详细信息的对话框。我在android中正确接收通知。此外,ios 通知在后台和设备锁定时工作正常。我也启用了推送通知和后台获取。有什么解决办法吗?有人遇到过这样的问题吗?

我正在使用这个 firebase 插件 https://pub.dev/packages/firebase_messaging

【问题讨论】:

【参考方案1】:

    在 AppDelegate 中导入 UserNotifications。

    UNUserNotificationCenter.current().delegate = self in didFinishLaunch

    在AppDelegate中实现下面的方法。

func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping(UNNotificationPresentationOptions) -> Void) print("Push notification received in foreground.") completionHandler([.alert, .sound, .badge])

【讨论】:

正在接收通知。仅在应用运行时不接收 是的,它会起作用,当应用程序在前台时显示通知,需要为 iOS 实现 UserNotification 框架 谢谢。在哪里调用该方法 userNotificationCenter? 收到通知,但几秒钟后它会从通知托盘中消失。如果有任何新通知,我会在其中显示一个对话框 没有正确获取您的场景,如果您想显示警报,请编写代码以在打印语句下方显示对话框,它将起作用

以上是关于应用程序在前台时未收到推送通知的主要内容,如果未能解决你的问题,请参考以下文章

应用程序在 iOS 11 中处于后台时未收到推送通知

应用程序在android中终止时未收到通知

应用程序被终止时未收到推送通知 - iOS

单击通知区域中的消息时未打开应用程序

企业应用程序处于生产状态时未收到推送通知

应用关闭时未收到 Android 推送通知