【问题标题】:Flutter - myBackgroundMessageHandler never called in push notificationFlutter - myBackgroundMessageHandler 从未在推送通知中调用
【发布时间】:2021-02-24 13:33:25
【问题描述】:

我正在使用带有 firebase 的 firebase_messaging 库在颤动中推送通知。文档说 myBackgroundMessageHandler 在应用程序处于后台时被调用。但这并没有发生。

我想在显示通知之前对其标题和正文进行格式化。当应用程序在后台但未调用该特定方法时,我会收到通知。目前它只显示后端在标题和正文中发送的确切文本。 我需要做些什么来启用(?)这个方法吗?我在我的 fcm.configure 方法中有它:

_fcm.configure(
    onBackgroundMessage: myBackgroundMessageHandler,
)
static Future<Map<String, dynamic>> myBackgroundMessageHandler(Map<dynamic, dynamic> message) async {
  //some code here
  return message;
}

提前致谢!

【问题讨论】:

    标签: flutter dart push-notification firebase-cloud-messaging


    【解决方案1】:

    我遇到了同样的问题。 onBackgroundMessage 显然为数据消息触发。

    在这里查看区别: https://firebase.google.com/docs/cloud-messaging/concept-options

    使用 FCM,您可以向客户端发送两种类型的消息:

    • 通知消息,有时被认为是“显示消息”。 这些由 FCM SDK 自动处理。
    • 数据消息,其中 由客户端应用处理。

    在我的情况下,我必须删除通知(主题、正文等),而且还要完全像 bigpicture 一样设置样式。尝试只发送一个数据对象。

    【讨论】:

    • 感谢您的回复。我试过这个,但是当我只发送数据对象时,onMessage、onLaunch 和 onResume 方法没有按预期调用。无论如何,我试图使用 myBackgroundMessageHandler 方法,因为我必须本地化通知。我这样解决了:stackoverflow.com/a/64825247/6393618
    猜你喜欢
    • 2022-12-24
    • 2015-09-30
    • 2020-02-14
    • 1970-01-01
    • 2019-09-11
    • 2021-05-13
    • 2021-06-26
    • 1970-01-01
    • 2023-04-11
    相关资源
    最近更新 更多