Перейти к содержанию

Тег Push Permission Status

Push Permission Status — это тег по умолчанию, который хранит состояние разрешения на push-уведомления на устройстве. С его помощью можно строить сегменты по достижимости — разделять пользователей, которых не различает простой флаг «включено/выключено», например тех, у кого еще можно запросить разрешение, и тех, кто уже отказался.

Значения Push Permission Status

Anchor link to

Это тег типа String, который хранит одно из значений ниже для каждого устройства в каждом приложении. Каждая платформа передает только часть из них. См. Какие значения передает каждая платформа.

Значение
Что оно означает
not_determinedПользователь еще не ответил на запрос разрешения, поэтому приложение еще может его запросить
granted_explicitПользователь разрешил уведомления в запросе разрешения
granted_defaultУведомления разрешены, но не ответом на запрос разрешения Pushwoosh SDK. Только Android
provisionalУведомления разрешены условно (provisional). Они тихо попадают в Центр уведомлений — без оповещений, звуков и баннеров. Только iOS
ephemeralУведомления разрешены на ограниченное время, как для App Clip. Только iOS
deniedПользователь отключил уведомления — в запросе разрешения или позже в настройках устройства или браузера
unsupportedБраузер не может получать веб push-уведомления. Только Web

Тег не имеет значения на tvOS и macOS, а также на устройствах с версией SDK ниже:

ПлатформаМинимальная версия SDK
iOS7.2.10
Android6.17.0
Web3.95.0

Когда обновляется тег

Anchor link to

SDK передает текущий статус в следующие моменты:

  • Каждый раз при открытии приложения.
  • При регистрации устройства для получения push-уведомлений.
  • Сразу после того, как пользователь ответит на запрос разрешения.

Если пользователь меняет разрешение в настройках устройства или браузера, тег обновляется позже — в зависимости от платформы:

ПлатформаКогда обновляется тег
iOSПри следующем открытии приложения
AndroidПри следующем открытии приложения или его возврате на передний план
Web: браузеры на базе Chromium и FirefoxКак только браузер сообщит об изменении
Web: SafariПри следующей загрузке страницы

Если запрос приходит без статуса, например от более старой версии SDK, тег сохраняет последнее значение.

Какие значения передает каждая платформа

Anchor link to

Каждая платформа считывает разрешение через собственный системный API, поэтому набор значений зависит от платформы.

iOS SDK напрямую сопоставляет системный статус авторизации приложения со значением тега.

Статус авторизации iOSPush Permission Status
Not determinednot_determined
Authorizedgranted_explicit
Provisionalprovisional
Ephemeralephemeral
Denieddenied

Android 13 и новее требуют, чтобы пользователь разрешил уведомления в запросе разрешения. Более ранние версии разрешают их по умолчанию после установки, поэтому Android SDK отличает явный ответ от разрешения по умолчанию:

  • granted_explicit: пользователь разрешил уведомления в запросе разрешения, который показывает Pushwoosh SDK, на Android 13 или новее, в приложении, нацеленном на Android 13 (API level 33) или новее.
  • granted_default: уведомления разрешены любым другим способом. Сюда относятся Android 12 и более ранние версии, приложения, нацеленные на API level ниже 33, разрешение, которое уже было выдано, когда SDK впервые его проверил, и разрешение, выданное через ваш собственный запрос или в системных настройках.
  • not_determined: на Android 13 и новее уведомления выключены, а пользователь еще не ответил на запрос, в том числе если он закрыл запрос, ничего не выбрав.
  • denied: уведомления выключены после того, как пользователь отклонил запрос или после того, как они ранее были разрешены. На Android 12 и более ранних версиях любое устройство с выключенными уведомлениями передает denied.

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

Разрешение в браузереPush Permission Status
Еще не запрашивалось (default)not_determined
Разрешено (granted)granted_explicit
Заблокировано (denied)denied
Браузер не поддерживает веб push-уведомленияunsupported

Создание сегментов по достижимости

Anchor link to

Объедините значения в одном фильтре Push Permission Status с оператором один из, чтобы выбирать пользователей по тому, как до них можно достучаться. Подробнее о создании сегментов по тегам.

СегментФильтрКак использовать
Пользователи, которые видят push-оповещенияодин из granted_explicit, granted_defaultОтправляйте срочные push-уведомления
Только тихая доставкаодин из provisional, ephemeralУчитывайте меньшую заметность и предложите этим пользователям разрешить полноценные уведомления
Пользователи, у которых еще можно запросить разрешениеодин из not_determinedПокажите in-app перед запросом разрешения на push-уведомления
Пользователи, которые отказалисьодин из deniedСвяжитесь с ними через email, SMS или in-app сообщения или запустите всплывающее окно для восстановления подписки
Браузеры без веб push-уведомленийодин из unsupportedИспользуйте другие каналы для этих веб-пользователей

Чтобы найти устройства, которые еще не передают тег, используйте оператор не задано. На таких устройствах установлена более старая версия SDK, поэтому для них используйте тег Push Alerts Enabled. О разнице между двумя тегами см. Push Permission Status и Push Alerts Enabled.

Push Permission Status и Push Alerts Enabled

Anchor link to

Эти два тега отвечают на разные вопросы:

  • Push Alerts Enabled (Boolean): может ли это устройство показывать push-оповещения прямо сейчас?
  • Push Permission Status (String): в каком состоянии находится разрешение? Он различает состояния, которые Push Alerts Enabled передает одним и тем же значением false, например «еще не спрашивали» и «отказался».

В таблице показано, как два тега передают типичные состояния.

Push Alerts EnabledPush Permission Status
ТипBooleanString
Разрешение еще не запрашивалиfalsenot_determined
Пользователь отказал в разрешенииfalsedenied
Условное (provisional) или временное разрешение на iOSЗависит от настроек оповещений, звуков и значковprovisional или ephemeral
Явное разрешение или разрешение по умолчаниюtrue, если устройство показывает оповещенияgranted_explicit или granted_default
Устройства со старыми версиями SDKПередается во всех версиях SDKНе задан

Выбирайте тег в зависимости от вопроса, на который нужно ответить:

  • Используйте Push Alerts Enabled, чтобы быстро посчитать подписавшихся пользователей во всех версиях SDK.
  • Используйте Push Permission Status, когда следующий шаг зависит от того, почему до пользователя нельзя достучаться. Например, запросите разрешение у тех, у кого его еще не спрашивали, и не беспокойте тех, кто отказался.