当前位置: 首页 > 知识库问答 >
问题:

Flutter推送通知应用程序背景:firebase_messaging

师谦
2023-03-14

我想在我的应用程序处于后台时显示推送通知
我正在使用flatter\u local\u通知包和firebase\u消息包。

推送通知在firebase_消息和我的应用程序为后台时非常有效
但是,以下方法:

 // The following handler is called, when App is in the background.
 FirebaseMessaging.onBackgroundMessage(firebaseMessagingBackgroundHandler);

如果通过远程消息传递远程通知对象,则不会调用:

Future<void> firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  print('message from background handler');
  print("Handling a background message: ${message.messageId}");
  
  // If this is null, then this handler method is called
  RemoteNotification remoteNotification = message.notification; 

  showNotificationFromData(message.data);
}

因此,我必须传递消息。数据对象,它是一个映射

我的问题是,当调用此firebaseMessagingBackgroundHandlerhandler方法时,我不再收到推送通知。

因此,我一直在尝试使用flatter\u local\u notification包来显示推送通知,但正如所说,它是“local”的,因此它在前台工作正常,但在后台显然不工作(相同的代码,具有相同的数据,不会作为推送通知显示在后台)。

问题:

我需要调用的FirebasMessagingBackground Handler处理程序来处理我的应用程序中的事件。所以我可以做仍然有推送通知时,我的应用程序是在后台请?

谢啦


共有1个答案

鱼恩
2023-03-14

好吧我已经找到解决办法了。它是在服务器端代码中将content_available值设置为True

替换firebase\u消息。通知项,我们需要覆盖到androidapnsconfigs。

这在python中看起来像这样:

apnsConfig = messaging.APNSConfig(
            payload=messaging.APNSPayload(
                aps=messaging.Aps(
                    content_available=True,
                )
            ),
     
        )

我现在收到推送通知,并在dart代码中调用后台处理程序。

 类似资料:
  • 我想用Xamarin格式的C#创建一个基于文本的Android游戏。 在故事中,我想设置角色任务,这需要一些时间,例如“我去挖这个洞,完成后给你打电话。” 如何将通知设置为在设置的时间之后显示?例如,上述声明可能需要10分钟,然后用户收到继续游戏的通知? 我一周前才开始做C#,所以如果这是noobish,或者已经被问到了,我道歉。我到处都找过,但有几种类型的通知,当我试图理解它时,似乎我在读法语。

  • 我已经创建了发送推送通知的应用程序。一切正常。如果应用程序正在运行或未关闭,它会直接将我带到第二页。但问题是,运行我的应用程序后,如果我把我的应用程序在后台或关闭,然后发送通知。点击notification后,我会进入主页面,而不是第二页。我想它必须带我到第二页,即使应用程序关闭或在后台。下面是我的代码: MyFireBaseInstanceIDService.java

  • 我正在iOS8+上使用最新的试用版PubNub,Xcode7.3,试图建立一个聊天应用程序。我正在评估PubNub作为另一个聊天服务器的替代方案。 我遵循了PubNub文档中关于苹果推送通知的说明,但我的应用程序在后台时从不接收推送通知。 我已经创建了p12证书并将其导入到PubNub密钥集中。我在Xcode常规设置中启用了推送通知。我已经编写了PubNub文档中指定的Swift代码。我能够成功发

  • 我有一个Sencha Touch Phonegap应用程序,需要处理推送通知。当应用程序未运行时,或在后台,通知到达时,用户点击通知,应用程序打开,并正确导航到Sencha Touch应用程序中的相应页面。 问题是当应用程序已经在前台时。 我也在这个应用程序中使用Urbanairship Library。在Urbanairship配置中,我必须指定用户点击通知时应打开的活动。 并且配置如下: 现在

  • 我正在尝试构建一个实时聊天应用程序。 我已经整合了https://pub.dev/packages/flutter_local_notifications用于推送通知的软件包,这是有效的。 我没有使用Firebase,我正在使用我自己的自定义后端,使用https://socket.io/进行实时聊天。 我想在用户发送聊天信息时接收推送通知。推送通知在应用程序处于前台或后台时起作用。但是,当我从进程

  • 我开发了一个React Native应用程序,当应用程序处于活动状态时,每次收到来自OneSignal的消息推送时都会崩溃。 错误是。 如果我在应用程序处于后台时收到通知,则没有问题。 这是我的身材。gradle文件: 还有我的应用/构建。gradle文件: 你知道问题来自哪里吗?