Настройка бейджей
Начиная с версии 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Чтобы настроить бейджи, выполните следующие шаги:
- Добавьте Notification Service Extension (File -> New -> Target…)

- Выберите “Notification Service Extension”

- Замените сгенерированный класс
NotificationServiceподклассомPushwooshNotificationServiceExtension. Pushwoosh берет на себя подсчет бейджей, событие доставки, загрузку вложений и обработку тайм-аута:
import PushwooshFramework
class NotificationService: PushwooshNotificationServiceExtension {}#import <PushwooshFramework/PushwooshFramework.h>
@interface NotificationService : PushwooshNotificationServiceExtension@end
@implementation NotificationService@end-
Добавьте возможность App Groups к обеим целям — основному приложению и Notification Service Extension — и используйте одну и ту же App Group для каждой.
-
Добавьте ID App Group в
info.plistосновного приложения:
<key>PW_APP_GROUPS_NAME</key><string>group.com.example.demoapp_example</string>
Расширение наследует это значение от хост-приложения, поэтому вам не нужно повторять его в info.plist расширения — добавляйте его туда только для переопределения значения хоста.
Если вы предпочитаете не использовать файл info.plist, укажите App Group в коде, переопределив pushwooshAppGroupsName в вашем классе NotificationServiceExtension:
override func pushwooshAppGroupsName() -> String? { "group.com.example.demoapp_example"}- (NSString *)pushwooshAppGroupsName { return @"group.com.example.demoapp_example";}Отправка push-уведомления с бейджами
Anchor link toЕсли вы хотите отправить push-уведомление с бейджами из Pushwoosh Control Panel, просто добавьте желаемое значение бейджа в текстовое поле badges, как показано на рисунке ниже:

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