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() для установки этих значений. Ниже показано, как реализовать это для каждой платформы:
Сторонние SDK генерируют пользовательские ID асинхронно. ID может быть ещё не готов в момент вызова Adapty.activate(). Если ваш Customer User ID приходит из одного из таких SDK, вызывайте Adapty.activate() без него. Как только ID будет получен, вызовите 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 | ID продукта из стора. |
quantity | Integer | Всегда 1. |
transaction_id | String | ID транзакции из стора. |
payload | String | URL-закодированная JSON-строка с деталями события. Автоматически обрезается, если превышает 30 КБ — удаляются необязательные поля в порядке важности, чтобы сохранить наиболее критичные данные. |
os_name | String | ”ios” или “android”. |
profile_id | String | Profile ID AppMetrica (если задан), иначе — Customer User ID (если доступен). |
appmetrica_device_id | String | Device ID Hash AppMetrica. Отправляется только если profile_id недоступен. |
session_type | String | Всегда “foreground”. |
ios_ifa | String | Только iOS. ID для рекламодателей (IFA). |
ios_ifv | String | Только iOS. ID для вендоров (IFV). |
google_aid | String | Только Android. Google Advertising ID. |
Устранение неполадок
access_level_updated отображается как неуспешное в Event Feed
access_level_updated — это событие только для вебхуков. Adapty не отправляет его в эту интеграцию. Однако Adapty фиксирует результат для каждой активной интеграции, и неподдерживаемое событие отображается как ошибка.