对于 Android Web 推送通知,徽章是指显示在通知上的小图标——而不是应用图标——并且可以自定义。请参阅 Web 推送徽章。
Android 徽章
Android 应用图标徽章行为可以通过 Android 通知类别 来管理。您可以控制某个类别(通道)是否显示徽章,并在每个类别的基础上设置徽章行为。iOS 徽章
要确保徽章计数在 iOS 上正确递增,您必须配置:OneSignalNotificationServiceExtension
- 应用组(App Groups)
- 在应用打开时清除应用图标徽章。
- 从通知中心移除通知。
- 在应用启动或恢复时重置徽章
- 在前台接收通知时递增徽章
- 在消息被阅读或关闭时递减
- 通过应用组或您的后端在设备或应用扩展间同步徽章状态
禁用自动通知和徽章清除
在您的应用的info.plist
中,添加键:OneSignal_disable_badge_clearing
,布尔类型,值为 YES

关闭 `OneSignal_disable_badge_clearing`(设置为 `YES`)的示例 info.plist。
iOS 原生徽章管理
如果您禁用 OneSignal 的自动徽章清除,您可以使用 Apple 的原生 API 来控制徽章行为。Apple 在 iOS 17 中弃用了
UIApplication.shared.applicationIconBadgeNumber
。您现在应该使用来自 UserNotifications 框架 的以下方法:Swift
UserDefaults
、应用的数据模型或与后端同步)。
Swift
Swift
Swift
发送带有徽章的 iOS 推送
您可以在 OneSignal 控制面板中或使用 API 设置徽章计数。- 控制面板
- API
- 转到 消息 > 推送 或 模板
- 在 平台设置 > 发送到 Apple iOS > 徽章 下
- 选择任一选项:
- 设置为特定数字
- 按相对数量增加

在 OneSignal 控制面板消息表单中设置徽章。
徽章教程完成!
下一步: