Skip to main content

Что такое уровень прерывания уведомлений в iOS

Обновлено: 12 апреля 2023

Начиная с iOS 15 изменилась логика показа пуш-уведомлений. Раньше пуш-уведомления всегда отображались мгновенно после получения, но начиная с iOS 15 пользователь может настроить отложенный показ уведомлений по собственному расписанию и режим Фокусирования (Focus Mode) – в этих случаях iOS поместит уведомление в сводку Notification Summary и покажет согласно расписанию или после окончания режима Фокусирования.
Статус Пуш доставлен будет отправлен пуш-библиотекой сразу же после доставки, а не в момент показа уведомления – это значит, что и перехода к резервному шагу доставки не будет.

Уровни срочности

Apple даёт разработчикам возможность указать уровень прерывания (срочности) уведомления – Notification Interruption Level.

Всего доступно 4 уровня срочности:

  • Active (по умолчанию),
  • Passive,
  • Time-Sensitive, 
  • Critical.

Critical

Уведомления уровня Critical всегда показываются сразу после получения, но этот уровень зарезервирован для оповещений о чрезвычайных ситуациях и других срочных правительственных сообщений. Приложению нужно пройти специальное ревью Apple, чтобы iOS учитывала этот уровень.

Time-Sensitive

Time-Sensitive тоже показываются сразу после получения. Этот уровень подходит для уведомлений, которые пользователь ожидает получить без промедления.

К ним можно отнести:

  • уведомления о совершенных транзакциях
  • уведомления об одноразовых паролях. 

Для использования этого уровня вместе с уведомлением должен быть передан параметр aps/interruption-level со значением time-sensitive, а в Xcode-проекте приложения должна быть добавлена capability Time Sensitive Notifications.

После первого показа уведомления уровня Time-Sensitive, iOS запросит у пользователя разрешение на дальнейший показ таких уведомлений. Если пользователь откажет, iOS больше не позволит приложению показывать пользователю Time-Sensitive пуши – все следующие пуши для этого пользователя будут отображаться с уровнем срочности Aсtive.

Active

Уровень Active также подходит для уведомлений, которые пользователь хотел бы получить сразу же. Но в отличие от Time-Sensitive, на Active распространяются правила режима Фокусирования и отложенного показа.

Этот уровень применяется ко всем уведомлениям, для которых не указан параметр уровня срочности aps/interruption-level.

Passive

Уровень Passive рекомендуется для всех прочих уведомлений. При показе уведомления этого уровня не воспроизводится звук, вибрация и не включается экран.

На телефонах с версиями iOS ниже 15 параметр interruption-level будет проигнорирован и уведомления будут показаны как раньше.

Итоги

Раньше пуш-уведомления в iOS отображались мгновенно после получения, но начиная с iOS 15 пользователь может настроить отложенный показ.

На процент доставки пуш-уведомлений отложенный показ не влияет – пуш-библиотека подтверждает доставку сразу же, а не в момент показа уведомления.

Apple даёт разработчикам возможность указать уровень срочности уведомлений. Для транзакций и одноразовых паролей лучше всего подходит уровень срочности Time-Sensitive – уведомления этого уровня показываются сразу же после получения. Для маркетинговых уведомлений подходит уровень Active, на который распространяются правила отложенного показа.

После первого показа уведомления уровня Time-Sensitive, iOS запросит у пользователя разрешение на дальнейший показ таких уведомлений, поэтому важно указывать уровень Time-Sensitive только для срочных уведомлений, чтобы увеличить шанс получения пользовательского разрешения.

Если не указывать уровень срочности, то применяется уровень Active.

На телефонах с предыдущими версиями iOS уровень срочности будет проигнорирован и уведомления будут показаны как раньше.