并非所有应用程序都在通知号码徽章列表中

Not all apps are in the notification number badge list

大家好 Android / 华为的朋友们!

我正在为 Android 设计一个应用程序。我已经利用 Firebase 向安装了该应用程序的设备发送推送通知。一切都很好,工作正常 - 我可以将通知视为带有标题、Body 和图标的磁贴。当我点击它时,我可以导航到应用程序。

但我对应用程序图标通知徽章有疑问。默认设置为点(HUAWEI P30 Pro、EMUI 11)。当我收到通知时,会出现该点。一切顺利。

但是当我将通知徽章类型更改为数字时,它不会显示 (1)。我可以看到其他一些应用程序是一样的。主要区别在于 DOT BADGE 列表包含所有应用程序(包括我的应用程序),而 NUMBER BADGE 列表包含相当少的应用程序(Phone、消息和一些其他第 3 方应用程序,但不是全部)。

所以我的问题是 - 我是否应该在应用程序清单或其他地方设置一些设置才能看到编号徽章?

建议您使用华为Push Kit

按照document , Push Kit provides an API for setting badges on the server. A badge number indicates the number of unread messages. You can encapsulate badge parameters in messages. For notification messages, Push Kit will display the badge number on the app icon. For data messages, your app needs to call the getBadgeNumber方法从每条消息中获取徽章参数并显示徽章编号。

在服务器上设置徽章的示例代码:

{
    "validate_only": false,
    "message": {
        "notification": {
            "title": "message title ",
            "body": "message body"
        },
        "android": {
            "notification": {
                "click_action": {
                    "type": 2,
                    "url": "https://example.com"
                },
                "badge": {
                    "add_num": 1,
                    "class": "com.huawei.codelabpush.MainActivity",
                    "set_num": 10
                }
            },
            "ttl": "1000"
        },
        "token": [
            "pushtoken1"
        ]
    }
}

客户端徽章开发详见Interface Description for Badging on Huawei Desktop

注意:如果您对推送套件有任何疑问,请随时与我们联系。