【问题标题】:Flutter/Firebase How to increment Badge number of App IconFlutter/Firebase 如何增加应用图标的徽章编号
【发布时间】:2021-02-19 18:54:48
【问题描述】:

我是在加拿大学习计算机编程的学生。 现在,我正在使用 Flutter/Firebase 将该应用程序作为我的副项目。

在我的应用程序中包含聊天功能。我面临的问题是如何增加徽章编号并在未阅读消息时保留它。

我在 firebase 中附上了我的 Message 数据结构的图片。

下面的代码是firebase函数代码。现在我正在使用此代码推送通知。 我成功收到通知,但问题是如何计算应用程序图标的徽章编号。正如您在通知徽章中看到的那样,编号是“1”。每当我推送通知时,该号码都会覆盖以前的号码。我认为这是错误的方式,我所期待的,如果值 isMessageRead 在firebase数据库增量徽章编号。我只是想知道逻辑方法,或者我可以研究的任何其他可以解释如何计算图标徽章编号的来源。

目前我不知道如何管理徽章编号。

感谢阅读,

我在等你的回复。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();


exports.onCreateMessage = functions.firestore.document('/Chat/{currentUserID}/UserList/{anotherUserID}/Messages/{message}')
    .onCreate(async (snap, context) => {
        const currentUserID = context.params.currentUserID;
        const anotherUserID = context.params.anotherUserID;
        console.log(currentUserID);
        console.log(anotherUserID);
        if (currentUserID == snap.data().recieverID) {
            return admin.messaging().sendToTopic(`${currentUserID}`, {
                notification: {
                    title: snap.data().senderID,
                    body: snap.data().message,
                    clickAction: 'FLUTTER_NOTIFICATION_CLICK',
                    sound: 'default',
                    badge: '1'
                }
            });
        }

    });

enter code here

【问题讨论】:

    标签: firebase flutter firebase-cloud-messaging


    【解决方案1】:

    要手动执行此操作,您必须将用户未读消息计数存储在 firebase 的某处(建议在用户节点中。)因此,当用户阅读或获取消息时,您需要更新该计数

    这是一个包,可帮助您在应用图标上显示徽章。 flutter_app_badger https://pub.dev/packages/flutter_app_badger

    FlutterAppBadger,可以更新您对应用图标的计数。像这样支持IOS和Android。

    FlutterAppBadger.updateBadgeCount(1);
    

    移除徽章

    FlutterAppBadger.removeBadge();
    

    【讨论】:

    • 就这么简单吗??非常感谢:)
    • 是的,@DaegilPyo 当您的应用打开时,使用 FlutterAppBadger 更新徽章计数,并且当再次发生任何更改时更新计数。您只需要维护用户徽章数量。
    • 使用定时本地通知如何使用?
    • 它不适用于某些 android 设备...请更新任何其他可能的解决方案..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    相关资源
    最近更新 更多