【问题标题】:both firebase and flutter local notifications handle background notificaitonfirebase 和 flutter 本地通知都处理后台通知
【发布时间】:2022-01-16 09:39:24
【问题描述】:

当后台 firebase 中的应用程序首先处理通知然后颤动本地通知在屏幕上显示一个弹出窗口以使 firebase 不显示通知时,我遇到了显示双重通知的问题

p.s 删除
FirebaseMessaging.onBackgroundMessage(firebaseMessagingBackgroundHandler);

让应用不处理后台通知

FirebaseMessaging.onMessage.listen(
      (RemoteMessage? message) async {
      
        _showNotification(
            id: 0,
            title: message?.notification?.title ?? '',
            body: message?.notification?.body ?? '');
      },
    );

    FirebaseMessaging.onBackgroundMessage(firebaseMessagingBackgroundHandler);

firebaseMessagingBackgroundHandler:

Future<void> firebaseMessagingBackgroundHandler(RemoteMessage? message) async {

  _showNotification(
      id: 0,
      title: message?.notification?.title ?? '',
      body: message?.notification?.body ?? '');

}

即使应用在后台运行,firebase 包也会在通知标志中包含标题和正文 使通知仅由 flutter_local_notification 包处理的任何方式

【问题讨论】:

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


    【解决方案1】:
    • 一个可能的问题是 local_notification_package 的初始化

    应该是最顶层的初始化,即在调用_showNotification函数之前初始化flutter_local_notifications包和android通道

    • 另一个可能的问题是firebase的初始化。它应该在应用程序运行之前完成,因为它是一个前台通知

    【讨论】:

    • 已经这样做了
    【解决方案2】:

    你的 firebaseMessagingBackgroundHandler 看起来像......

    Future<void> firebaseMessagingBackgroundHandler(RemoteMessage? message) async {
      await Firebase.initializeApp(); //initialize firebase
      //INITIALIZE YOUR FLUTTER LOCAL NOTIFICATION PACKAGE 
      // INITIALIZE YOUR ANDROID CHANNEL
      //then show the notification
      _showNotification(
          id: 0,
          title: message?.notification?.title ?? '',
          body: message?.notification?.body ?? '');
    
    }

    【讨论】:

    • 同样它仍然显示两个通知。有什么方法可以停止颤动本地通知以在设备通知中心显示通知?这将是解决此问题的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2011-09-16
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 2020-05-30
    相关资源
    最近更新 更多