Покажите счётчик непрочитанного прямо на иконке приложения
Бейдж — самое короткое, что можно сказать пользователю, и прочитать его ничего не стоит. Задавайте, увеличивайте или сбрасывайте его из той же кампании и того же Customer Journey, что и всё остальное, что вы отправляете.
Более 80 000 компаний масштабируют вовлечение с Pushwoosh
Формат целиком
Бейдж — это одно целое число, и в этом вся его привлекательность. Он не требует баннера и звука, не расходует разрешение на уведомления, которое вы с таким трудом получили, и продолжает работать даже для пользователя, смахнувшего ваш пуш три часа назад. Из редактора или через API с этим числом можно сделать три вещи, плюс есть одна оговорка о том, где оно действительно отображается.
Точное значение
ios_badges: 5 ставит на иконку 5, что бы там ни было до этого. Пользователь видит ровно то значение, которое вы отправили, — то, что нужно, когда ваш сервер уже знает реальный итог.
+1 и -1
Относительные изменения увеличивают или уменьшают счётчик, и вам не нужно его отслеживать. SDK передаёт значение с устройства обратно через внутренний эндпоинт /setBadge, так что счётчик Pushwoosh совпадает с реальной иконкой.
0 сбрасывает бейдж
Отправьте 0, и бейдж исчезнет с иконки. Сброс при открытии — это разница между счётчиком, которому доверяют, и красной точкой, которую привыкают игнорировать.
iOS единообразно, Android зависит от лаунчера
В iOS бейдж — это стандартное значение aps.badge, и каждое устройство отрисовывает его одинаково. В Android нативного API для бейджей нет, поэтому отображение зависит от лаунчера, и Pushwoosh говорит об этом прямо, а не обещает покрытие, которое не может обеспечить.
Чем вы управляете
| Что вы отправляете | Что происходит со счётчиком | Где это задаётся |
|---|---|---|
Целое число, 5 | Устанавливает бейдж ровно на это значение | ios_badges / android_badges или поле Badges |
+1, +3 | Увеличивает текущий счётчик | То же поле. Также +n в Android-пресетах |
-1 | Уменьшает текущий счётчик | То же поле, для прочтения или закрытия на стороне сервера |
0 | Убирает бейдж с иконки | То же поле или приложение при запуске |
| Вызов SDK | Устанавливает или сбрасывает бейдж по событию в приложении | setApplicationIconBadgeNumber в iOS, PushwooshBadge в Android |
| Ничего | SDK применяет бейдж, пришедший вместе с пушем | Базовый сценарий в iOS не требует кода в приложении |
| Расширение | Меняет счётчик до показа уведомления | PWNotificationExtensionManager с App Groups |
5ios_badges / android_badges или поле Badges+1, +3+n в Android-пресетах-10setApplicationIconBadgeNumber в iOS, PushwooshBadge в AndroidPWNotificationExtensionManager с App GroupsГде это настраивается
Поле Badges в редакторе
Форма отправки пуша и пуш-пресеты принимают число, +n, -n или 0. Чтобы изменить, что кампания делает со счётчиком, не нужны ни релиз, ни разработчик.
Один ключ в API
ios_badges и android_badges в /createMessage. В iOS значение попадает в поле aps.badge того payload, который Apple и так передаёт.
SDK применяет и синхронизирует
SDK применяет пришедшее значение без кода в приложении и поддерживает серверное значение бейджа актуальным через /setBadge, чтобы +1 считался от правильного числа.
Как это работает внутри сценария
Один счётчик, несколько источников
Бейдж — это атрибут сообщения, которое вы и так отправляете, поэтому собственная интеграция ему не нужна. Тот же Customer Journey и тот же профиль клиента, которые решают, кто получит пуш, решают и то, каким станет счётчик.
Остаётся только вопрос, что питает это число. Количество непрочитанного в Message Inbox может напрямую стать счётчиком, silent push может изменить его вообще без алерта, а видимый мобильный пуш несёт его попутно. Шаг на цели сценария возвращает его к 0.
Три награды копятся, пока игрок не в игре
Каждая выданная награда вызывает событие, и каждое событие отправляет silent push, который добавляет +1. Ничего не звенит, экран блокировки не загорается, а к вечеру на иконке тихо стоит 3.
Когда открывается live-ивент, тот же сценарий отправляет один видимый пуш, ради которого стоит прервать пользователя. Что бы ни вернуло игрока — пуш или бейдж, — SDK сбрасывает бейдж до 0 при запуске, и завтрашний счётчик снова начинается с правдивого значения.
Где это применять
Бейдж окупается пропорционально «плотности счёта»: есть ли у вашего приложения реальное, растущее число непрочитанного или ожидающего, которое стоит показать на иконке. Приложения, построенные вокруг счётчика, бесплатно получают настоящий повод вернуться, а приложения, которым нечего считать, получают красную точку, которая приучает пользователей игнорировать красные точки.
| Момент | Что означает число | Почему подходит бейдж |
|---|---|---|
| Мобильные игры: награды, восстановленные жизни, входы в ивенты | 3 награды ждут | Счётчик уже часть цикла удержания, а сбор наград — вся мотивация |
| Приложения для креаторов и подписочные сервисы: дропы, личные сообщения, комментарии | 12 непрочитанных | Социальная лента и так ведёт это число внутри, иконке остаётся его показать |
| Медиа и новости: непрочитанные материалы, новые эпизоды | 5 непрочитанных материалов | Хрестоматийный случай, который надёжно возвращает читателя в сессию |
| E-commerce и маркетплейсы: товары в корзине, непрочитанные предложения | 2 товара в корзине | Тихое напоминание, на которое покупателю не нужно тратить внимание |
| FinTech: выписки, алерты, ожидающие действия | Нужно 1 действие | Есть реальный счётчик непрочитанных документов, и иконка показывает его, не раскрывая детали на экране блокировки |
| Трейдинг и беттинг: сработавшие алерты, рассчитанные ставки | Сработало 4 алерта | Алерты складываются в число, которое действительно что-то значит для пользователя |
| Здравоохранение и телемедицина: результаты, защищённые сообщения | Результаты готовы | Счётчик виден на домашнем экране, а содержимое остаётся за аутентификацией |
| EdTech: непрочитанные уроки, серии, задания | 2 урока ждут | Серия или очередь уроков — именно то число, которое люди стремятся закрыть |
Когда бейдж — неподходящий инструмент
Бейдж сообщает количество. Всё, что касается того, что именно ждёт и насколько это срочно, относится к другим поверхностям.
- Пользователю нужно знать, что пришло: это задача мобильного пуша, rich media push или in-app сообщения.
- Момент не может ждать. Бейдж пассивен по своей природе, поэтому срочность — задача уровня прерывания.
- Состояние длящееся, а не счётное: заказ в пути, текущий счёт матча. Это Live Activity.
- У приложения нет естественно растущего счётчика. Страхование, отели, коммунальные услуги и инструменты на одну сессию дают один счёт или одну бронь, и бейдж там лишь шум.
- Ваша аудитория преимущественно на Android, и бейдж был бы основной механикой. Там считайте его best-effort и проектируйте сценарий так, чтобы он работал и без бейджа.
Платформы и техническое покрытие
В iOS один бейдж, и каждый iPhone рисует его одинаково. В Android нет универсального API для бейджей, поэтому то, что появится на домашнем экране, зависит от лаунчера, который стоит у пользователя. Последний столбец называет то, что реально отрисовывает число, потому что для этой функции честный ответ находится именно там.
| Возможность | iOS | Android | Web | Чем обеспечивается |
|---|---|---|---|---|
| Точное значение бейджа | Да, стандартный aps.badge | Best-effort, зависит от лаунчера | – | Payload пуша, применяется SDK |
Относительные +1 и -1 | Да, Pushwoosh SDK 6.4.0+ | +n в пресетах, зависит от лаунчера | – | Пуш, а /setBadge синхронизирует счётчик |
Сброс до 0 | Да | Зависит от лаунчера | – | Payload пуша или приложение при запуске |
| Поле Badges без кода | Да, в редакторе и пресетах | Да, значение бейджа в пресетах | – | Pushwoosh Control Panel |
| Установка или сброс из кода приложения | setApplicationIconBadgeNumber | PushwooshBadge | – | Ваше приложение через Pushwoosh SDK |
| Изменение счётчика до показа | Да, в Notification Service Extension | – | – | PWNotificationExtensionManager с App Groups |
| Обновление бейджа без алерта | Да | Best-effort | – | Silent push, та же аудитория и тот же сценарий |
| Покрытие лаунчеров и устройств | Каждый iPhone, одинаково | Sony, Samsung, LG, HTC, ASUS, ADW, APEX, NOVA, Huawei, ZUK, OPPO | – | com.pushwoosh:pushwoosh-badge с разрешениями лаунчеров |
| Pixel и неподдерживаемые лаунчеры | n/a | – | – | Нативного API бейджей в Android нет, поэтому ничего не отображается |
| Чтение текущего счётчика из ОС | – | – | – | iOS не даёт API для чтения, поэтому счётчик хранится в приложении или на сервере |
| Бейдж на иконке в принципе | Да | Зависит от лаунчера | – | У браузеров нет аналогичной поверхности для web push |
aps.badge+1 и -1+n в пресетах, зависит от лаунчера/setBadge синхронизирует счётчик0setApplicationIconBadgeNumberPushwooshBadgePWNotificationExtensionManager с App Groupscom.pushwoosh:pushwoosh-badge с разрешениями лаунчеровБезопасность и хостинг
Pushwoosh работает на собственном оборудовании в США и Германии в соответствии с GDPR.
Как это работает
Бейдж настраивается без кода и бесплатен на любом тарифе. Время разработчика уходит только в два узких места, и базовый сценарий iOS к ним не относится.
-
Задайте счётчик (без кода)
Введите число,
+n,-nили0в поле Badges формы отправки пуша или пресета либо передайтеios_badgesиandroid_badgesчерез Messages API. В базовом сценарии iOS от приложения ничего не требуется: SDK применяет значение при получении. -
Подключите два места, где это нужно (разработчик)
Для Android нужна библиотека
com.pushwoosh:pushwoosh-badgeи разрешения конкретных лаунчеров в манифесте. Сброс при открытии пуша и запуске приложения — это один вызов SDK, а Notification Service Extension с App Groups нужен только для счётчиков, которые должны меняться до показа. -
Оркестрируйте (без кода)
Берите число из количества непрочитанного в Message Inbox, меняйте его silent push без алерта и сбрасывайте на цели того же Customer Journey, который управляет вашими push, in-app и email.
Ограничения, о которых стоит знать
Другие продукты
Push-уведомления Pushwoosh: охват всех устройств, rich-контент, точный таргетинг, Journey и 99% аптайм. Превращайте уведомления в платящих клиентов.
Message Inbox — центр уведомлений внутри приложения и сайта. Тихая доставка охватывает всех, включая отказавшихся от пушей, а сообщения остаются доступны.
Спроектируйте и оптимизируйте свои кампании с помощью одного визуального инструмента. Коммуницируйте, вовлекайте, удерживайте, конвертируйте, сегментируйте и экспериментируйте с помощью Pushwoosh Customer Journey Builder.
In-app сообщения Pushwoosh — онбординг, апселл, анонсы и сбор фидбэка ровно в тот момент, когда пользователи сфокусированы на приложении. No-code редактор, нативные SDK-шаблоны, аналитика по каждому элементу. Соответствует GDPR. Начните бесплатно.
Задайте уровень прерывания iOS для пуша, чтобы оповещение о мошенничестве или смене выхода прорвалось через Focus и Scheduled Summary. Без кода.
Платформа мобильных push-уведомлений для игровых приложений. Отправляйте персонализированные оповещения, специальные предложения и напоминания о событиях, чтобы игроки возвращались снова и снова.