OneSignal

OneSignal — ведущая платформа для взаимодействия с пользователями, предлагающая push-уведомления, email, SMS и встроенные сообщения. Интеграция Adapty с OneSignal позволяет отслеживать все события подписок в одном месте и настраивать автоматические коммуникации на их основе.

С помощью Adapty вы можете отслеживать события подписок в нескольких сторах, анализировать поведение пользователей и использовать эти данные для более точечных коммуникаций. Интеграция позволяет следить за событиями подписок в дашборде OneSignal и привязывать их к рекламным кампаниям.

Adapty обновляет теги OneSignal на основе событий подписок, что позволяет отправлять персонализированные push-уведомления с минимальными настройками.

Характеристики интеграции

Характеристика интеграцииОписание
РасписаниеОбновления в реальном времени
Направление данныхОдностороннее: от Adapty к серверу OneSignal
Точка интеграции Adapty
  • SDK OneSignal и Adapty в коде мобильного приложения
  • Сервер Adapty

Настройка интеграции с OneSignal

Чтобы настроить интеграцию:

  1. Откройте раздел Integrations → OneSignal в дашборде Adapty.

    onesignal-on.webp
  2. Включите переключатель интеграции.

  3. Введите ваш OneSignal App ID.

Чтобы настроить интеграцию с OneSignal, перейдите в Integrations -> OneSignal в дашборде Adapty, включите переключатель и настройте учётные данные интеграции.

Получение OneSignal App ID

Найдите OneSignal App ID в вашем дашборде OneSignal:

  1. Перейдите в SettingsKeys & IDs.

    onesignal-dashboard.webp
  2. Скопируйте OneSignal App ID и вставьте его в поле App ID в дашборде Adapty.

    onesignal-id.webp

Дополнительную информацию о OneSignal ID можно найти в соответствующей документации.

Настройка событий

Adapty позволяет отправлять в OneSignal три группы событий. Включите нужные в дашборде Adapty. Полный список доступных событий с подробным описанием можно посмотреть здесь.

onesignal.webp

Adapty отправляет события подписок в OneSignal через серверную интеграцию, что позволяет отслеживать всю активность, связанную с подписками, в OneSignal.

Начиная с 17 апреля 2023 года, бесплатный план OneSignal больше не поддерживает эту интеграцию. Она доступна только на планах Growth, Professional и выше. Подробнее см. в разделе Цены OneSignal.

Пользовательские теги

Эта интеграция обновляет и присваивает различные свойства пользователям Adapty в виде тегов, которые затем отправляются в OneSignal. Ознакомьтесь со списком тегов ниже и выберите подходящие для ваших задач.

В OneSignal есть ограничение на количество тегов. Оно распространяется как на теги, создаваемые Adapty, так и на уже существующие теги в OneSignal. Превышение лимита может привести к ошибкам при отправке событий.

ТегТипОписание
adapty_customer_user_idStringУникальный идентификатор пользователя в вашем приложении. Должен быть одинаковым в вашей системе, Adapty и OneSignal.
adapty_profile_idStringID профиля пользователя в Adapty, доступный в дашборде Adapty.
environmentStringSandbox или Production — указывает текущее окружение пользователя.
storeStringСтор, в котором был совершён покупка. Возможные значения: app_store, play_store, stripe или название вашего кастомного стора.
vendor_product_idStringID продукта в сторе приложений (например, org.locals.12345).
subscription_expires_atStringДата истечения последней подписки (YYYY-MM-DDTHH:MM:SS+0000, например, 2023-02-10T17:22:03.000000+0000).
last_event_typeStringПоследний тип события из списка событий Adapty.
Обратите внимание:
- Для события Subscription expired Adapty отправляет свойство last_event_type как subscription_cancelled.
- Для Trial renew canceled — как auto_renew_off
- Для Subscription renew canceled — как auto_renew_off_subscription
purchase_dateStringДата последней транзакции (YYYY-MM-DDTHH:MM:SS+0000, например, 2023-02-10T17:22:03.000000+0000).
active_subscriptionStringtrue, если у пользователя есть активная подписка, и false, если подписка истекла.
period_typeStringУказывает последний тип периода для покупки или продления. Возможные значения: trial для пробного периода или normal во всех остальных случаях.

Все значения с плавающей точкой округляются до целых чисел. Строки остаются без изменений.

Помимо стандартных тегов, вы можете отправлять пользовательские атрибуты в виде тегов, что даёт большую гибкость в выборе передаваемых данных. Это удобно для отслеживания специфических деталей, связанных с вашим продуктом или сервисом.

Пользовательские атрибуты автоматически отправляются в OneSignal, если на странице интеграции установлен флажок Send user attributes. Если флажок снят, Adapty отправляет ровно 10 тегов. Если установлен — можно отправить более 10 тегов, что позволяет захватывать больше данных.

Настройка SDK

Есть два способа интеграции OneSignal с Adapty:

  1. Устаревший (до v5): использует playerId (устарел в OneSignal SDK v5).
  2. Актуальный (v5+): использует subscriptionId.

Убедитесь, что вы передаёте playerId (для OneSignal SDK до v5) или subscriptionId (для OneSignal SDK v5+) в Adapty. Без этого теги OneSignal не будут обновляться, и интеграция не будет работать корректно.

Подробнее в документации OneSignal:

Работа с несколькими устройствами

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

Чтобы данные пользователя оставались согласованными на всех устройствах:

  1. Сопоставьте разные устройства на стороне сервера и передайте эти данные в OneSignal.
  2. Используйте customer_user_id из Adapty в качестве externalUserId в OneSignal. Если в вашем приложении нет системы регистрации, используйте другой уникальный идентификатор, который остаётся постоянным на всех устройствах пользователя.

Важно поддерживать согласованность идентификатора пользователя на всех устройствах и обновлять OneSignal при каждом изменении ID пользователя. Это упрощает отслеживание активности и подписок, обеспечивает единообразие сообщений и позволяет получать более точную аналитику для лучшего пользовательского опыта. Подробнее см. в документации OneSignal по внешним идентификаторам пользователей.