{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","settings":"","results":{"codes":[]},"params":[]},"next":{"description":"","pages":[]},"title":"iOS: Interruption Levels","type":"basic","slug":"ios-interruption-levels","excerpt":"A guide to interruption levels in iOS push notifications.","body":"From iOS 15, Apple has introduced the `interruption-level` field for iOS push notification payloads. It is designed to allow iOS devices to properly display notifications with respect to the user's Focus mode and Notification Summary settings. There are four possible interruption level values:\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"Passive\",\n    \"h-0\": \"Interruption Level\",\n    \"h-1\": \"Payload Value\",\n    \"h-2\": \"Description\",\n    \"0-1\": \"passive\",\n    \"1-0\": \"Active (Default)\",\n    \"1-1\": \"active\",\n    \"2-0\": \"Time Sensitive\",\n    \"2-1\": \"time-sensitive\",\n    \"3-0\": \"Critical\",\n    \"3-1\": \"critical\",\n    \"0-2\": \"Minimal interruption, used for information with no urgency attached.\",\n    \"1-2\": \"Similar to push functionality in previous iOS versions, used for information that the user may wish to consume as it arrives.\",\n    \"2-2\": \"Requires an app entitlement. Appears immediately, breaking through Focus mode and Notification Summary settings (if permitted by user). Used for information that requires immediate attention.\",\n    \"3-2\": \"Requires an approved entitlement. Appears immediately, overriding ring/silent settings. Used for health and public safety updates.\"\n  },\n  \"cols\": 3,\n  \"rows\": 4\n}\n[/block]\nApple has a guide to interruption levels, the situations in which they should be used for and how they will be handled on the device [here](https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/notifications).\n\n## Adding Interruption Levels\n### Notification Builder Interface\nInterruption Levels can be added when building a push notification by selecting 'Interruption Level' from the iOS Only options:\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/b9ebf0d-Screen_Shot_2021-11-09_at_10.51.37.png\",\n        \"Screen Shot 2021-11-09 at 10.51.37.png\",\n        470,\n        650,\n        \"#333\"\n      ]\n    }\n  ]\n}\n[/block]\n\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/da913c4-Screen_Shot_2021-11-09_at_11.00.47.png\",\n        \"Screen Shot 2021-11-09 at 11.00.47.png\",\n        470,\n        730,\n        \"#333\"\n      ]\n    }\n  ]\n}\n[/block]\nThe desired Interruption Level can then be selected from the dropdown:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/1bbc5c4-Screen_Shot_2021-11-09_at_11.02.29.png\",\n        \"Screen Shot 2021-11-09 at 11.02.29.png\",\n        470,\n        730,\n        \"#333\"\n      ]\n    }\n  ]\n}\n[/block]\n### REST API\nInterruption Levels can be added to notifications sent through our [Notifications](doc:notifications), [Transactional Notifications](doc:transactional-notifications) and [Messages](doc:messages) API endpoints by using the key `interruption_level` with the correct 'Payload Value' listed above. This should be added to the `notification.payload` field:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n  \\\"notification\\\": {\\n    \\\"payload\\\": {\\n\\t    \\\"title\\\": \\\"hello\\\",\\n      \\\"alert\\\": \\\"there\\\",\\n\\t    \\\"interruption_level\\\": \\\"time-sensitive\\\"\\n    }\\n  }\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]","updates":[],"order":999,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"6143fbeebdc0c7007293a0d2","createdAt":"2021-09-17T02:22:38.710Z","user":"5b0b7a46a26e6400036604fd","category":{"sync":{"isSync":false,"url":""},"pages":[],"title":"iOS Techniques","slug":"ios-techniques","order":9999,"from_sync":false,"reference":false,"_id":"5e6986ca2c6652006791b6e8","createdAt":"2020-03-12T00:48:10.039Z","version":"5e6156bf5e4a51006dcd818c","project":"55e67aaa9cc7c62b00c4a1ea","__v":0},"version":{"version":"1.5","version_clean":"1.5.0","codename":"ST Rebrand","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["5e6156bf5e4a51006dcd8120","5e6156bf5e4a51006dcd8121","5e6156bf5e4a51006dcd8122","5e6156bf5e4a51006dcd8123","5e6156bf5e4a51006dcd8124","561c61b4ad272c0d00a892df","586c014c0abf1d0f000d04d4","58991d2ad207df0f0002186b","5e6156bf5e4a51006dcd8125","5e6156bf5e4a51006dcd8126","5af0fe494ca2730003cbc98a","5af0fe55ec80af0003804ca2","5e69868cbd5dcb006b35867b","5e6986ca2c6652006791b6e8"],"_id":"5e6156bf5e4a51006dcd818c","project":"55e67aaa9cc7c62b00c4a1ea","__v":2,"forked_from":"5b720760c44b7600034b7a08","createdAt":"2015-09-02T04:27:23.612Z","releaseDate":"2015-09-02T04:27:23.612Z"},"project":"55e67aaa9cc7c62b00c4a1ea","__v":0}

iOS: Interruption Levels

A guide to interruption levels in iOS push notifications.

From iOS 15, Apple has introduced the `interruption-level` field for iOS push notification payloads. It is designed to allow iOS devices to properly display notifications with respect to the user's Focus mode and Notification Summary settings. There are four possible interruption level values: [block:parameters] { "data": { "0-0": "Passive", "h-0": "Interruption Level", "h-1": "Payload Value", "h-2": "Description", "0-1": "passive", "1-0": "Active (Default)", "1-1": "active", "2-0": "Time Sensitive", "2-1": "time-sensitive", "3-0": "Critical", "3-1": "critical", "0-2": "Minimal interruption, used for information with no urgency attached.", "1-2": "Similar to push functionality in previous iOS versions, used for information that the user may wish to consume as it arrives.", "2-2": "Requires an app entitlement. Appears immediately, breaking through Focus mode and Notification Summary settings (if permitted by user). Used for information that requires immediate attention.", "3-2": "Requires an approved entitlement. Appears immediately, overriding ring/silent settings. Used for health and public safety updates." }, "cols": 3, "rows": 4 } [/block] Apple has a guide to interruption levels, the situations in which they should be used for and how they will be handled on the device [here](https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/notifications). ## Adding Interruption Levels ### Notification Builder Interface Interruption Levels can be added when building a push notification by selecting 'Interruption Level' from the iOS Only options: [block:image] { "images": [ { "image": [ "https://files.readme.io/b9ebf0d-Screen_Shot_2021-11-09_at_10.51.37.png", "Screen Shot 2021-11-09 at 10.51.37.png", 470, 650, "#333" ] } ] } [/block] [block:image] { "images": [ { "image": [ "https://files.readme.io/da913c4-Screen_Shot_2021-11-09_at_11.00.47.png", "Screen Shot 2021-11-09 at 11.00.47.png", 470, 730, "#333" ] } ] } [/block] The desired Interruption Level can then be selected from the dropdown: [block:image] { "images": [ { "image": [ "https://files.readme.io/1bbc5c4-Screen_Shot_2021-11-09_at_11.02.29.png", "Screen Shot 2021-11-09 at 11.02.29.png", 470, 730, "#333" ] } ] } [/block] ### REST API Interruption Levels can be added to notifications sent through our [Notifications](doc:notifications), [Transactional Notifications](doc:transactional-notifications) and [Messages](doc:messages) API endpoints by using the key `interruption_level` with the correct 'Payload Value' listed above. This should be added to the `notification.payload` field: [block:code] { "codes": [ { "code": "{\n \"notification\": {\n \"payload\": {\n\t \"title\": \"hello\",\n \"alert\": \"there\",\n\t \"interruption_level\": \"time-sensitive\"\n }\n }\n}", "language": "json" } ] } [/block]