对于 Android Web 推送通知,徽章是指显示在通知上的小图标——而不是应用图标——并且可以自定义。请参阅 Web 推送徽章。
Android 徽章
Android 应用图标徽章行为可以通过 Android 通知类别 来管理。您可以控制某个类别(通道)是否显示徽章,并在每个类别的基础上设置徽章行为。华为徽章
在华为设备上,徽章可以在应用图标上显示为数字或圆点,具体取决于用户的设备设置。徽章有助于指示未读消息或待处理操作,鼓励用户打开应用。OneSignal 允许您通过仪表板或 API 直接控制华为徽章计数。华为徽章的工作原理
徽章在应用图标上显示为数字计数或圆点,具体取决于用户的设备设置(设置 > 通知 > 应用图标徽章)。您的 API 调用控制底层计数;设备决定视觉样式。参数
| 参数 | 类型 | 范围 | 描述 |
|---|---|---|---|
huawei_badge_class | string | — | (必需) 您应用启动器 Activity 的完全限定类名(例如,com.example.myapp.MainActivity)。告知华为系统要显示徽章的应用图标。 |
huawei_badge_set_num | integer | 0–99 | 将徽章设置为精确数字。0 清除徽章。 |
huawei_badge_add_num | integer | 1–99 | 将现有徽章计数增加此数量。 |
行为规则
huawei_badge_class对于任何徽章操作都是必需的。- 如果同时提供
huawei_badge_set_num和huawei_badge_add_num,huawei_badge_set_num优先。 - 如果两者都未提供(但已设置
huawei_badge_class),徽章计数默认增加 1。
发送带徽章的华为推送
- 仪表板
- API
- 转到 消息 > 推送 或 模板
- 在 平台设置 > 发送到华为 Android > 徽章 下
- 选择以下任一选项:
- 不设置 — 此通知不影响徽章
- 设置为 — 将徽章设置为特定数字(0-99)
- 增加 — 增加现有徽章计数(1-99)
清除徽章
华为不会在用户打开应用或点击通知时自动清除徽章。要清除徽章,您有两个选项:- 通过 API 或仪表板:发送
huawei_badge_set_num设置为0的通知(或在仪表板中使用 设置为 > 0)。如果您不想显示可见通知,可以使用数据/后台通知。 - 通过客户端代码:您的应用可以使用华为徽章 API 在本地清除徽章。这需要在您的
AndroidManifest.xml中添加com.huawei.android.launcher.permission.CHANGE_BADGE权限。有关实现详情,请参阅华为徽章开发指南。
huawei_badge_set_num 参数需要 EMUI 10.0.0 或更高版本以及 Push SDK 10.1.0 或更高版本。在较旧的设备上,仅支持 huawei_badge_add_num。iOS 徽章
要确保徽章计数在 iOS 上正确递增,您必须配置:OneSignalNotificationServiceExtension- 应用组(App Groups)
- 在应用打开时清除应用图标徽章。
- 从通知中心移除通知。
- 在应用启动或恢复时重置徽章
- 在前台接收通知时递增徽章
- 在消息被阅读或关闭时递减
- 通过应用组或您的后端在设备或应用扩展间同步徽章状态
禁用自动通知和徽章清除
在您的应用的info.plist 中,添加键:OneSignal_disable_badge_clearing,布尔类型,值为 YES

iOS 原生徽章管理
如果您禁用 OneSignal 的自动徽章清除,您可以使用 Apple 的原生 API 来控制徽章行为。 设置徽章计数 要将应用图标上的徽章设置为特定值:UserDefaults、应用的数据模型或与后端同步)。
发送带有徽章的 iOS 推送
您可以在 OneSignal 控制面板中或使用 API 设置徽章计数。- 控制面板
- API
- 转到 消息 > 推送 或 模板。
- 在 平台设置 > 发送到 Apple iOS > 徽章 下。
- 选择任一选项:
- 设置为特定数字。
- 按相对数量增加。

常见问题
为什么 iOS 上的徽章计数没有递增?
确保您已配置OneSignalNotificationServiceExtension 和应用组(App Groups)。没有这些,徽章计数无法正确递增。请参阅 移动 SDK 设置 获取完整说明。
如何清除华为上的徽章?
发送huawei_badge_set_num 设置为 0 的通知,或在仪表板中使用 设置为 > 0。您也可以使用数据/后台通知在不显示可见通知的情况下清除徽章。或者,使用华为徽章 API 在客户端清除徽章。
我可以为 Web 推送设置徽章吗?
不可以。应用图标徽章仅在 iOS、Android 和华为上受支持。对于 Android Web 推送,“徽章”是指通知本身上显示的小图标——请参阅 Web 推送徽章。相关页面
Android 通知类别
在 Android 上按通知渠道控制徽章显示和行为。
华为授权
使用 OneSignal 设置华为推送消息。
推送概述
推送通知功能的完整参考,包括 Web 推送徽章。
移动 SDK 设置
配置 OneSignal SDK,包括 iOS 的徽章先决条件。