Amplitude
Amplitude — мощный сервис мобильной аналитики. С помощью Adapty вы можете легко отправлять события в Amplitude, отслеживать поведение пользователей и принимать взвешенные решения.
Adapty предоставляет полный набор данных, позволяющий отслеживать события подписки из сторов в одном месте и отправлять их в ваш аккаунт Amplitude. Это даёт возможность сопоставлять поведение пользователей с историей их платежей в Amplitude и принимать обоснованные продуктовые решения.
Как настроить интеграцию с Amplitude
В Adapty можно настроить отдельные потоки для продакшн и тестовых событий из песочницы Apple или Stripe, либо из тестового аккаунта Google.
- Для продакшн-событий введите 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 января, а Adapty 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 отправляет статус подписки и идентификатор продукта подписки в пользовательские свойства 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 | Идентификатор продукта из стора. |
events[].revenue | Float | Сумма выручки. |
events[].event_properties | Object | Подробные атрибуты события (содержит все доступные поля события). |
events[].user_properties | Object | Пользовательские атрибуты, например статус подписки. |