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

Настройка бейджей

Начиная с версии 6.4.0 Pushwoosh iOS SDK, процесс управления и установки бейджей через push-уведомления изменился.

Если вы ранее использовали номер бейджа для отображения количества полученных push-уведомлений в вашем приложении, вам необходимо перейти на более новую версию iOS SDK (6.4.0 или более позднюю). Старые версии будут поддерживаться до конца второго квартала 2022 года.

Что определяет значение бейджа

Anchor link to

Бейдж всегда приходит из самого push-уведомления. Ни одна функция Pushwoosh не устанавливает и не сбрасывает его самостоятельно. Отправка "ios_badges" в запросе /createMessage (или поле badges в Control Panel) устанавливает как aps.badge (абсолютное значение), так и aps.pw_badge (относительное изменение) в полезной нагрузке iOS. Android передает эквивалентное значение в pw_badges и требует модуль com.pushwoosh:pushwoosh-badge для его применения на поддерживаемых лаунчерах. Сохранение push-уведомления в Message Inbox никогда не устанавливает и не изменяет бейдж. Это два независимых эффекта одного и того же push-уведомления.

Как настроить бейджи

Anchor link to

Чтобы настроить бейджи, выполните следующие шаги:

  1. Добавьте Notification Service Extension (File -> New -> Target…)
  1. Выберите “Notification Service Extension”
Добавление Notification Service Extension
  1. Замените сгенерированный класс NotificationService подклассом PushwooshNotificationServiceExtension. Pushwoosh берет на себя подсчет бейджей, событие доставки, загрузку вложений и обработку тайм-аута:
import PushwooshFramework
class NotificationService: PushwooshNotificationServiceExtension {}
  1. Добавьте возможность App Groups к обеим целям — основному приложению и Notification Service Extension — и используйте одну и ту же App Group для каждой.

  2. Добавьте ID App Group в info.plist основного приложения:

<key>PW_APP_GROUPS_NAME</key>
<string>group.com.example.demoapp_example</string>
Info.plist

Расширение наследует это значение от хост-приложения, поэтому вам не нужно повторять его в info.plist расширения — добавляйте его туда только для переопределения значения хоста.

Если вы предпочитаете не использовать файл info.plist, укажите App Group в коде, переопределив pushwooshAppGroupsName в вашем классе NotificationServiceExtension:

override func pushwooshAppGroupsName() -> String? {
"group.com.example.demoapp_example"
}

Отправка push-уведомления с бейджами

Anchor link to

Если вы хотите отправить push-уведомление с бейджами из Pushwoosh Control Panel, просто добавьте желаемое значение бейджа в текстовое поле badges, как показано на рисунке ниже:

Значение бейджей

Поделитесь с нами своим мнением

Anchor link to

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