OneSignal
OneSignal — ведущая платформа для взаимодействия с клиентами, поддерживающая push-уведомления, email, SMS и in-app-сообщения. Интеграция Adapty с OneSignal позволяет собирать все события подписок в одном месте и автоматически запускать коммуникации на их основе. С помощью Adapty вы можете отслеживать события подписки в нескольких сторах, анализировать поведение пользователей и использовать эти данные для более целевых коммуникаций. Интеграция позволяет мониторить события подписки в дашборде OneSignal и связывать их с вашими кампаниями привлечения.
Adapty обновляет теги OneSignal на основе событий подписки, что позволяет отправлять персонализированные push-уведомления с минимальными настройками.
Характеристики интеграции
| Характеристика интеграции | Описание |
|---|---|
| Расписание | Обновления в реальном времени |
| Направление данных | Одностороннее: из Adapty на сервер OneSignal |
| Точка интеграции Adapty |
|
Настройка интеграции с One Signal
Чтобы настроить интеграцию:
-
Откройте Integrations → OneSignal в дашборде Adapty.
-
Включите переключатель интеграции.
-
Введите ваш OneSignal App ID. Чтобы настроить интеграцию с OneSignal, перейдите в раздел Integrations -> OneSignal дашборда Adapty, включите переключатель и укажите учётные данные для интеграции.
Получение вашего OneSignal App ID
Найдите ваш OneSignal App ID в дашборде OneSignal:
-
Перейдите в Settings → Keys & IDs.
-
Скопируйте ваш OneSignal App ID и вставьте его в поле App ID в дашборде Adapty.
Подробнее о OneSignal ID можно узнать в официальной документации.
Настройка событий
Adapty позволяет отправлять в OneSignal три группы событий. Включите нужные в дашборде Adapty. Полный список доступных событий с подробным описанием можно найти здесь.
Adapty отправляет события подписок в OneSignal через серверную интеграцию, что позволяет отслеживать всю активность, связанную с подписками, прямо в OneSignal.
С 17 апреля 2023 года бесплатный план OneSignal больше не поддерживает эту интеграцию. Она доступна только на планах Growth, Professional и выше. Подробнее см. в OneSignal Pricing.
Пользовательские теги
Интеграция обновляет и назначает различные свойства ваших пользователей Adapty в виде тегов, которые затем отправляются в OneSignal. Ознакомьтесь со списком тегов ниже, чтобы выбрать те, которые лучше всего соответствуют вашим потребностям.
В OneSignal есть ограничение на количество тегов. Оно распространяется как на теги, созданные Adapty, так и на любые существующие теги в OneSignal. Превышение лимита может вызвать ошибки при отправке событий.
| Тег | Тип | Описание |
|---|---|---|
adapty_customer_user_id | String | Уникальный идентификатор пользователя в вашем приложении. Должен совпадать в вашей системе, Adapty и OneSignal. |
adapty_profile_id | String | ID профиля пользователя в Adapty, доступен в дашборде Adapty. |
environment | String | Sandbox или Production — среда, в которой находится пользователь. |
store | String | Стор, в котором был куплен продукт. Варианты: app_store, play_store, stripe или название вашего кастомного стора. |
vendor_product_id | String | ID продукта в сторе (например, org.locals.12345). |
subscription_expires_at | String | Дата истечения последней подписки (YYYY-MM-DDTHH:MM:SS+0000, например 2023-02-10T17:22:03.000000+0000). |
last_event_type | String | Последний тип события из списка событий Adapty. Обратите внимание: - Для события Subscription expired Adapty передаёт свойство last_event_type как subscription_cancelled.- Для Trial renew canceled — как auto_renew_off- Для Subscription renew canceled — как auto_renew_off_subscription |
purchase_date | String | Дата последней транзакции (YYYY-MM-DDTHH:MM:SS+0000, например 2023-02-10T17:22:03.000000+0000). |
active_subscription | String | true, если у пользователя есть активная подписка, и false, если подписка истекла. |
period_type | String | Указывает наиболее актуальный тип периода для покупки или продления. Возможные значения: trial — пробный период, normal — все остальные случаи. |
| Все значения с плавающей точкой округляются до целых чисел. Строки остаются без изменений. |
Помимо предустановленных тегов, вы можете отправлять пользовательские атрибуты в качестве тегов, что даёт больше гибкости в управлении передаваемыми данными. Это удобно для отслеживания специфических деталей, связанных с вашим продуктом или сервисом. Пользовательские атрибуты автоматически отправляются в OneSignal, если на странице интеграции включён чекбокс Send user attributes. Если он выключен, Adapty отправляет ровно 10 тегов. Если включён — можно отправлять более 10 тегов, что позволяет собирать расширенные данные.
Настройка SDK
Есть два способа интегрировать OneSignal с Adapty:
- Устаревший (до v5): Использует
playerId(устарело в OneSignal SDK v5). - Актуальный (v5+): Использует
subscriptionId.
Обязательно передавайте playerId (для OneSignal SDK до v5) или subscriptionId (для OneSignal SDK v5+) в Adapty. Без этого теги OneSignal не будут обновляться, и интеграция не будет работать корректно.
Подробнее читайте в документации OneSignal:
Работа с несколькими устройствами
Если пользователь использует несколько устройств, отслеживать события покупок и подписки может быть непросто. OneSignal предлагает способ решить эту проблему через внешние идентификаторы пользователей.
Чтобы данные пользователя оставались согласованными на всех устройствах:
- Сопоставьте разные устройства на стороне сервера и передайте эти данные в OneSignal.
- Используйте customer_user_id Adapty в качестве externalUserId в OneSignal. Если в вашем приложении нет системы регистрации, используйте другой уникальный идентификатор, который остаётся неизменным на всех устройствах пользователя. Важно поддерживать согласованность идентификатора пользователя на всех устройствах и обновлять OneSignal при каждом изменении ID пользователя. Это упрощает отслеживание активности и подписок, обеспечивает согласованность уведомлений, а также повышает точность аналитики и улучшает пользовательский опыт. Подробнее см. в документации OneSignal по внешним идентификаторам пользователей.