【问题标题】:Custom notification channel for FCM in flutterFlutter中FCM的自定义通知通道
【发布时间】:2020-08-26 02:57:12
【问题描述】:

我正在尝试自定义 firebase_messaging 的通知声音。在前台,我正在实施 flutter_local_notifications 包以在我设置了自定义声音和振动的地方提供通知。但在后台的情况下,通知由默认通知通道处理。有什么方法可以创建通知通道或使用我刚刚使用 flutter_local_notifications 包创建的通知通道?

【问题讨论】:

    标签: flutter firebase-cloud-messaging


    【解决方案1】:

    如果您在 Firebase 控制台中查看,在发送通知时,您可以在“其他选项”中指定一个频道 ID,在那里您可以使用 flutter_local_notifications 写入您已经创建的频道。

    希望这会有所帮助!

    【讨论】:

      【解决方案2】:

      对于那些因为在您的应用处于后台时您的 FCM 消息未按您喜欢的方式运行而到达这里的人:

      如果您想要在应用程序处于后台时发出“提醒”通知并且您希望有自己的自定义声音伴随它,您可能需要创建一个通知通道。 FCM 使用的默认通知通道未启用“屏幕弹出”设置,而是使用默认系统声音。您可以通过转到设备上的应用设置来查看此信息。

      OP 正在使用 flutter_local_notifications 包,它几乎是 Flutter 中通知处理的“首选”包。您可以通过createNotificationChannel 方法创建自己的通知通道并分配您想要的参数(包括声音和优先级)。这是让您的通知按照您的意愿行事的快捷方式。

      如果您想在没有 flutter_local_notifications 包的情况下创建自己的通知通道,那么您将必须修改您的 MainActivity.kt(或 Java)文件的本机形式。它并不过分复杂,但它比仅仅使用 flutter_local_notifications 包更底层。 This Medium post 描述了如何做到这一点(对于 Android)。

      【讨论】:

      • 对 ios 有什么想法吗?
      • @Shalabyer 这个 Q/A 应该对此有所帮助——这就是我设置我的方式:stackoverflow.com/questions/54002617/…
      • 感谢您的回复,我一定会尝试的。
      • 我刚刚修改了 Q/A,在我看来它只能在前台工作,因为在他没有创建通知渠道的答案中,我们需要一个通知渠道来制作背景中的自定义声音我说对了吗?
      • @Shalabyer 您没有像在 Android 上那样在 iOS 上创建通知通道——您是否按照 Q/A 中的说明将资产添加到捆绑包中?您可能需要修改您的 JSON 有效负载,我经过反复试验才得到它,不幸的是我现在没有它可以提供给您。也许这个 Q/A 会指导你? stackoverflow.com/questions/41562823/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 2023-02-25
      • 2018-11-08
      • 2021-05-22
      • 2020-04-10
      相关资源
      最近更新 更多