AppMetrica
AppMetrica — бесплатный аналитический инструмент для отслеживания поведения пользователей и анализа производительности мобильного приложения в реальном времени. Интеграция AppMetrica с Adapty позволяет получить более глубокие сведения о метриках подписок и вовлечённости пользователей.
Как настроить интеграцию AppMetrica
Настройка интеграции AppMetrica состоит из двух основных шагов:
- Настройте интеграцию в дашборде Adapty
- Добавьте интеграцию в код вашего приложения
Настройка в дашборде
Чтобы настроить интеграцию AppMetrica:
- Откройте список приложений AppMetrica
- Выберите нужное приложение
- Перейдите в Settings > Main и скопируйте Application ID и Post API key
- Откройте Integrations > AppMetrica в дашборде Adapty
- Вставьте учётные данные AppMetrica.
События и теги
Adapty позволяет отправлять в AppMetrica три группы событий. Вы можете включить нужные события для отслеживания работы приложения. Полный список доступных событий см. в документации по событиям.
AppMetrica синхронизирует события каждые 4 часа, поэтому события могут появляться в вашем дашборде с задержкой.
Мы рекомендуем использовать стандартные имена событий Adapty для единообразия, но вы можете изменить их в соответствии с вашей существующей аналитической системой.
Настройки выручки
По умолчанию Adapty отправляет данные о выручке в виде свойств событий, которые отображаются в отчёте Events в AppMetrica. Вы можете настроить способ расчёта и отображения этих данных:
-
Revenue calculation: Выберите, как рассчитываются значения выручки в соответствии с вашими потребностями финансовой отчётности:
- Gross revenue: Показывает общую выручку до вычетов — полезно для отслеживания суммы, которую платят пользователи
- Proceeds after store commission: Отображает выручку после вычета комиссии App Store/Play Store — помогает отслеживать фактический доход
- Proceeds after store commission and taxes: Показывает чистую выручку после вычета комиссии стора и налогов — наиболее точное отображение реального дохода
-
Report user’s currency: Если включено, продажи отображаются в локальной валюте пользователя, что упрощает анализ выручки по регионам. Если отключено, все продажи конвертируются в USD для единообразной отчётности по разным рынкам.
-
Send revenue events: Включите эту опцию, чтобы данные о выручке отображались не только в отчёте Events, но и в отчёте AppMetrica In-app and ad revenue. Убедитесь, что вы не отправляете выручку из других источников, иначе данные могут задвоиться.
-
Exclude historical events: Если включено, Adapty не будет отправлять события, произошедшие до установки пользователем приложения с Adapty SDK. Это помогает избежать дублирования данных, если вы уже отправляли события в аналитику до интеграции Adapty.
Настройка SDK
Для подключения интеграции AppMetrica в приложении необходимо задать два идентификатора:
appmetrica_device_id: обязателен для базовой интеграцииappmetrica_profile_id: необязателен, но рекомендуется, если в приложении есть регистрация пользователей
Используйте метод setIntegrationIdentifier() для установки этих значений. Ниже показано, как реализовать это для каждой платформы:
Если вы используете сторонний user ID в качестве Customer User ID, не передавайте его во время activate() — сторонний SDK может ещё не успеть его сгенерировать. Вместо этого сначала вызовите activate() без CUID, затем setIntegrationIdentifier(), а потом identify() с CUID.
Структура событий AppMetrica
Adapty отправляет события в AppMetrica через POST-запросы с параметрами в строке запроса. Для каждого события Adapty AppMetrica получает до двух отдельных запросов:
- Profile event (отправляется всегда): содержит метаданные события
- Revenue event (опционально): содержит данные о выручке, если опция «Send revenue events» включена в дашборде Adapty
Запрос Profile Event
Отправляется на: https://api.appmetrica.yandex.ru/logs/v1/import/events
Пример URL с параметрами запроса:
POST https://api.appmetrica.yandex.ru/logs/v1/import/events?post_api_key=your_key&application_id=your_app_id&event_name=subscription_renewed&event_timestamp=1709294400&event_json=%7B%22vendor_product_id%22%3A%22yearly.premium%22...%7D&os_name=ios&ios_ifa=00000000-0000-0000-0000-000000000000&ios_ifv=12345678-1234-1234-1234-123456789012&profile_id=user_12345&session_type=foreground
Параметры запроса:
| Параметр | Тип | Описание |
|---|---|---|
post_api_key | String | Ваш Post API Key AppMetrica. |
application_id | String | Ваш Application ID AppMetrica. |
event_name | String | Название события (сопоставленное с событием Adapty). |
event_timestamp | Long | UNIX-временная метка события в секундах. Ограничена последними 7 днями при более раннем значении. |
event_json | String | URL-кодированная JSON-строка со всеми доступными полями события. Включаются только ненулевые поля. |
os_name | String | «ios» или «android». |
profile_id | String | AppMetrica Profile ID (если задан), иначе Customer User ID (если доступен). |
appmetrica_device_id | String | AppMetrica Device ID Hash. Отправляется только если profile_id недоступен. |
session_type | String | Всегда «foreground». |
ios_ifa | String | Только iOS. ID for Advertisers. |
ios_ifv | String | Только iOS. ID for Vendors. |
google_aid | String | Только Android. Google Advertising ID. |
Запрос Revenue Event (опционально)
Отправляется на: https://api.appmetrica.yandex.ru/logs/v1/import/revenue
Этот запрос отправляется только при включённой опции «Send revenue events» в настройках интеграции дашборда Adapty.
Пример URL с параметрами запроса:
POST https://api.appmetrica.yandex.ru/logs/v1/import/revenue?post_api_key=your_key&application_id=your_app_id&revenue_event_type=subscription_renewed&price=9.99¤cy=USD&product_id=yearly.premium&quantity=1&transaction_id=GPA.3383...&payload=%7B%22vendor_product_id%22%3A%22yearly.premium%22...%7D&os_name=ios&ios_ifa=00000000-0000-0000-0000-000000000000&profile_id=user_12345&session_type=foreground
Параметры запроса:
| Параметр | Тип | Описание |
|---|---|---|
post_api_key | String | Ваш Post API Key AppMetrica. |
application_id | String | Ваш Application ID AppMetrica. |
revenue_event_type | String | Тип события выручки (например, «subscription_renewed», «refund», «intro_started»). См. маппинг событий AppMetrica. |
price | Float | Сумма выручки (в соответствии с настройками расчёта выручки). |
currency | String | Код валюты (например, «USD»). |
product_id | String | Product ID из стора. |
quantity | Integer | Всегда 1. |
transaction_id | String | Transaction ID из стора. |
payload | String | URL-кодированная JSON-строка с деталями события. Автоматически обрезается при превышении 30 КБ: сначала удаляются необязательные поля в порядке приоритета, чтобы сохранить наиболее важные данные. |
os_name | String | «ios» или «android». |
profile_id | String | AppMetrica Profile ID (если задан), иначе Customer User ID (если доступен). |
appmetrica_device_id | String | AppMetrica Device ID Hash. Отправляется только если profile_id недоступен. |
session_type | String | Всегда «foreground». |
ios_ifa | String | Только iOS. ID for Advertisers. |
ios_ifv | String | Только iOS. ID for Vendors. |
google_aid | String | Только Android. Google Advertising ID. |