OneSignal

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

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

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

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

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

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

  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 Pricing.

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

Интеграция обновляет и назначает различные свойства ваших пользователей 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 по внешним идентификаторам пользователей.