Amplitude
Amplitude — мощный сервис мобильной аналитики. С помощью Adapty вы можете легко отправлять события в Amplitude, отслеживать поведение пользователей и принимать взвешенные решения.
Adapty предоставляет полный набор данных, позволяющий отслеживать события подписки из сторов в одном месте и отправлять их в ваш аккаунт Amplitude. Это даёт возможность сопоставить поведение пользователей с историей их платежей в Amplitude и принимать более обоснованные продуктовые решения.
Как настроить интеграцию с Amplitude
В Adapty можно настроить отдельные флоу для production- и тестовых событий из песочницы Apple или Stripe, а также из тестового аккаунта Google.
- Для production-событий введите Production API-ключи из дашборда Amplitude — отдельный ключ для каждой платформы: iOS, Android и Stripe.
- Для тестовых событий используйте поля Sandbox по мере необходимости.
Чтобы настроить интеграцию с Amplitude:
- Откройте Integrations -> Amplitude в дашборде Adapty.
-
Включите Amplitude integration, переключив тумблер.
-
Заполните поля интеграции:
Поле Описание Amplitude iOS/ Android/ Stripe API key Введите API Key Amplitude для iOS/ Android/ Stripe в Adapty. Найти его можно в разделе Project settings в Amplitude. Подробнее см. в документации Amplitude. Начните с ключей Sandbox для тестирования, затем переключитесь на Production-ключи после успешных тестов.
-
Дополнительные настройки для тонкой настройки:
Параметр Описание How the revenue data should be sent Выберите, отправлять валовую выручку или выручку после вычета налогов и комиссий. Подробнее см. в разделе Комиссия стора и налоги. Exclude historical events Исключить события, произошедшие до установки Adapty SDK, чтобы избежать дублирования данных. Например, если пользователь оформил подписку 10 января, а SDK был установлен 6 марта, Adapty будет отправлять события только начиная с 6 марта. Send User Attributes Включите эту опцию, чтобы отправлять атрибуты пользователей, например языковые предпочтения. Always populate user_id Adapty автоматически отправляет device_idкакamplitudeDeviceId. Дляuser_idэто настройка определяет поведение:- ON: отправляет
profile_idиз Adapty, еслиamplitudeUserIdилиcustomer_user_idнедоступны. - OFF: оставляет
user_idпустым, если ни один из идентификаторов недоступен.
- ON: отправляет
-
Выберите события, которые хотите получать, и сопоставьте их названия.
-
Нажмите Save, чтобы сохранить изменения.
После нажатия Save Adapty начнёт отправлять события в Amplitude.
Помимо событий, Adapty отправляет статус подписки и ID продукта подписки в свойства пользователей Amplitude.
События и теги
Под полями с учётными данными находятся три группы событий, которые можно отправлять в Amplitude из Adapty. Просто включите нужные. Полный список событий, предоставляемых Adapty, можно найти здесь.
Рекомендуем использовать стандартные названия событий, предложенные Adapty. При необходимости вы можете изменить их под свои нужды. Adapty будет отправлять события подписки в Amplitude через серверную интеграцию (server-to-server), что позволит просматривать все события подписки в вашем дашборде Amplitude.
Настройка SDK
Используйте метод setIntegrationIdentifier(), чтобы задать параметр amplitude_device_id. Это обязательный шаг для настройки интеграции.
Если у вас есть регистрация пользователей, вы также можете передать amplitude_user_id.
Если вы используете сторонний user ID в качестве Customer User ID, не передавайте его во время activate() — сторонний SDK может ещё не успеть его сгенерировать. Вместо этого сначала вызовите activate() без CUID, затем setIntegrationIdentifier(), а потом identify() с CUID.
Структура события Amplitude
Adapty отправляет события в Amplitude через HTTP API v2. Каждое событие имеет следующую структуру:
{
"api_key": "your_amplitude_api_key",
"events": [
{
"partner_id": "adapty",
"event_type": "subscription_renewed",
"time": 1709294400000,
"insert_id": "123e4567-e89b-12d3-a456-426614174000",
"user_id": "user_12345",
"device_id": "device_12345",
"platform": "iOS",
"os_name": "iOS",
"productId": "yearly.premium.6999",
"revenue": 9.99,
"event_properties": {
"vendor_product_id": "yearly.premium.6999",
"original_transaction_id": "GPA.3383...",
"currency": "USD",
"environment": "Production",
"store": "app_store"
},
"user_properties": {
"subscription_state": "subscribed",
"subscription_product": "yearly.premium.6999"
}
}
]
}
Где:
| Параметр | Тип | Описание |
|---|---|---|
api_key | String | Ваш API-ключ Amplitude. |
events | Array | Список объектов событий (Adapty отправляет по одному за раз). |
events[].partner_id | String | Всегда «adapty». |
events[].event_type | String | Название события (сопоставленное с событием Adapty). |
events[].time | Long | Временная метка события в миллисекундах. |
events[].insert_id | String | Уникальный идентификатор события (UUID). |
events[].user_id | String | Amplitude User ID или Customer User ID. |
events[].device_id | String | Amplitude Device ID. |
events[].platform | String | Платформа (например, «iOS», «Android»). |
events[].os_name | String | Название ОС. |
events[].productId | String | ID продукта из стора. |
events[].revenue | Float | Сумма выручки. |
events[].event_properties | Object | Подробные атрибуты события (содержит все доступные поля события). |
events[].user_properties | Object | Атрибуты пользователя, например статус подписки. |