跳转到主要内容
专注模式帮助 iOS 用户通过允许工作、睡眠和个人等独立模式来控制何时以及如何接收通知。每种模式都会调整通知可见性和传递行为。 为了支持重要用例(如紧急警报或账户安全),Apple 推出了中断级别来控制通知的显示方式和时间——即使在专注模式激活时也是如此。

中断级别

中断级别决定通知的紧急程度和传递行为。有四个级别:

活跃(默认)

标准优先级通知。包括声音、振动和屏幕唤醒行为。不会绕过专注模式。

时间敏感

行为类似活跃模式,但包含特殊横幅。时间敏感通知可以突破专注模式和预定传递。仅在需要紧急用户注意时使用。

被动

低优先级通知。无声音或振动。不会打断用户,也不会突破专注模式。

关键

最高优先级通知。绕过所有设备控制和专注模式。用于紧急情况,如恶劣天气或健康警报。需要 Apple 的事先批准才能启用。有关更多详细信息,请参阅关键警报设置

示例。显示时间敏感通知的图像。


如何在 OneSignal 中设置中断级别

从 OneSignal 控制台发送推送通知时,您可以在 Apple iOS 设置下找到通知中断级别。默认值是活跃 如果使用创建通知 API,请使用这些参数:
  • ios_interruption_level:设置为 "active""time-sensitive""passive""critical"
  • ios_relevance_score:从 0 到 1 的可选数值,用于指示传递排序的重要性。

关键警报设置

关键警报:
  • 忽略勿扰模式和静音开关。
  • 保留用于高优先级情况(例如,健康、安全)。
  • 需要 Apple 的明确批准,即使用户已启用正常推送通知,也必须单独选择加入。

向 Apple 请求关键警报权限

  1. 查看 Apple 的文档并点击填写请求表单
  2. 选择关键警报权限请求。
  3. 填写表单并提交请求。
  4. 等待 Apple 的审查和批准。

将关键警报权限添加到您的应用

Apple 批准您的请求后:
  1. 在 Xcode 中打开您的 .entitlements 文件(如果没有,则创建一个)。
  2. 添加:
<key>com.apple.developer.usernotifications.critical-alerts</key>
<true/>
  1. 确保您的配置文件包含此权限:
  • 如需要,请在 Apple Developer 门户中重新生成您的配置文件。
  • 下载并重新添加到 Xcode。

在您的应用代码中请求关键警报权限

关键警报权限与标准推送权限是分离的,必须像这样请求(使用 Swift):
import UserNotifications

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge, .criticalAlert]) { granted, error in
    if let error = error {
        print("Authorization error: \(error)")
    } else {
        print("Critical alert permission granted: \(granted)")
    }
}
您应该在获得标准推送权限后请求此权限,最好在您的入门流程中。

测试关键警报

  1. 构建并运行您的应用。
  2. 按照上述如何在 OneSignal 中设置中断级别中的步骤发送测试推送。

相关文档


I