iOS: Focus modes and interruption levels
Understanding device settings and how they interact with push
Focus modes help iOS users control when and how they receive notifications by allowing separate modes like Work, Sleep, and Personal. Each mode adjusts notification visibility and delivery behavior.
To support important use cases like emergency alerts or account security, Apple introduced Interruption Levels to control how and when notifications appear—even when Focus modes are active.
Interruption levels
Interruption levels determine the urgency and delivery behavior of notifications. There are four levels:
Active (default)
Standard priority notifications. These include sound, vibration, and screen wake behavior. They do not bypass Focus modes.
Time Sensitive
Behaves like Active but includes a special banner. Time Sensitive notifications can break through Focus modes and scheduled delivery. Use only when urgent user attention is required.
Passive
Low-priority notifications. No sound or vibration. They do not interrupt the user and do not break through Focus modes.
Critical
Highest priority notifications. Bypass all device controls and Focus modes. Used for emergencies like severe weather or health alerts. Requires prior approval from Apple to enable. See Critical alerts setup for more details.
Example. Image showing notifications that are time-sensitive.
How to set interruption level in OneSignal
When sending a push from the OneSignal Dashboard, you’ll find Notification Interruption Level under Apple iOS Settings. The default is Active.
If using the Create notification API, use these parameters:
ios_interruption_level
: Set to"active"
,"time-sensitive"
,"passive"
, or"critical"
ios_relevance_score
: Optional numeric value from 0 to 1 to indicate importance for delivery ordering.
Critical alerts setup
Critical Alerts:
- Ignore Do Not Disturb and silent switch.
- Are reserved for high-priority cases (e.g., health, security).
- Require explicit approval from Apple, and users must opt in separately even if they’ve enabled normal push notifications.
Request Apple entitlement for critical alerts
- Review Apple’s documentation and click fill out the request form.
- Choose the Critical Alerts Entitlement request.
- Fill out the form and submit the request.
- Wait for Apple’s review and approval.
Add the Critical Alerts entitlement to your app
Once Apple approves your request:
- Open your
.entitlements
file in Xcode (or create one if you don’t have it). - Add:
- Ensure your provisioning profile includes this entitlement:
- Regenerate your provisioning profile in the Apple Developer portal if needed.
- Download and re-add it to Xcode.
Request Critical Alert permission in your app code
Critical Alert permission is separate from standard push permission and must be requested like this (using Swift):
You should request this after getting standard push permission, ideally in your onboarding flow.
Test Critical Alerts
- Build and run your app.
- Send a test push following the steps above in How to set interruption level in OneSignal.