32

我正在寻找一种在用户收到推送通知时显示应用程序图标徽章的方法。

我正在使用 Firebase_messaging 插件来处理推送通知,并使用 flutter_app_badger 来处理应用程序图标徽章。但我想将两者结合起来,以便在不打开应用程序的情况下在图标上设置数字。有可能做到这一点吗?还是我从 firebase_messaging 插件中忽略了一些明显的东西?

对不起,可怕的解释。我希望有人可以帮助我解决这个问题。

4

5 回答 5

1

应用程序图标徽章取决于应用程序启动器

某些 Android 应用程序启动器默认包含此功能,您可以在Settings->Apps->Notification Attached image上进行检查

供参考

于 2020-09-22T11:10:24.593 回答
0

我没有直接的答案,因为我以前没有遇到过这个问题,但这可能会解决你的问题

确保您已正确定义应用程序的图标 - 对于颤动,以下是您应该具有的步骤:

  1. 将包导入到您的 pubsec.yaml 文件中 - 它应该被称为 flutter_launcher_icons: "^0.8.0" 并在 pubspec.yaml 文件的 dev-dependencies 部分下导入。

  2. 在 dev-dependencies 部分之后,为颤振图标添加一个新部分,如下所示:flutter_icons: ios: true android: true image_path_ios: "{Icon File Path}" image_path_android: "{Icon File Path}"

希望这会有所帮助,并祝您解决问题好运!

于 2021-04-07T21:10:55.503 回答
0

我认为您在运行应用程序以实时监听 Firestore 中的文档更改时尝试创建流。阅读此处如何使用 Flutter 监听 Cloud Firestore 中的文档更改?

而且图标可以在后台更新,但我认为不打开应用程序是不可能的。

于 2021-03-08T11:02:59.610 回答
0

使用https://pub.dev/packages/firebase_messaging进行通知,对于 Android 后台通知,您可以将其添加到应用程序标记中的 AndroidManifest.xml 文件中。并确保您的可绘制文件夹中存在 androidlogo.png(这是示例名称)。

<application>
<meta-data
        android:name="com.google.firebase.messaging.default_notification_icon"
        android:resource="@drawable/androidlogo" />
</application>

在前台通知的情况下,您必须使用Flutter Local Notifications,因此您可以在初始化时提供相同的信息

var initializationSettingsAndroid = new AndroidInitializationSettings('androidlogo');
flutterLocalNotificationsPlugin.initialize(initializationSettings, onSelectNotification: onNotificationClicked);

对于应用程序图标,您可以使用此库https://pub.dev/packages/flutter_launcher_icons上面的答案也建议使用此库。

对于 iOS,您的启动器图标将是您的通知图标。

为了显示徽章图标,您可以使用https://pub.dev/packages/flutter_app_badger。(对于支持的手机)。

因此,使用所有这些,您将获得带有徽章的应用程序图标和通知图标作为您的应用程序图标(或由您指定)。

于 2021-04-15T15:03:24.503 回答
0

我怀疑您的图标与设备中的图标指南不兼容。我建议尝试https://pub.dev/packages/flutter_launcher_icons为您的设备制作图标。

于 2020-08-26T04:08:56.923 回答