AppMetrica

AppMetrica — бесплатный аналитический инструмент для отслеживания поведения пользователей и анализа производительности мобильного приложения в реальном времени. Интеграция AppMetrica с Adapty позволяет получить более глубокие сведения о метриках подписок и вовлечённости пользователей.

Как настроить интеграцию AppMetrica

Настройка интеграции AppMetrica состоит из двух основных шагов:

  1. Настройте интеграцию в дашборде Adapty
  2. Добавьте интеграцию в код вашего приложения

Настройка в дашборде

Чтобы настроить интеграцию AppMetrica:

  1. Откройте список приложений AppMetrica
  2. Выберите нужное приложение
  3. Перейдите в Settings > Main и скопируйте Application ID и Post API key
appmetrica.webp
  1. Откройте Integrations > AppMetrica в дашборде Adapty
  2. Вставьте учётные данные AppMetrica.
appmetrica_creds.webp

События и теги

Adapty позволяет отправлять в AppMetrica три группы событий. Вы можете включить нужные события для отслеживания работы приложения. Полный список доступных событий см. в документации по событиям.

AppMetrica синхронизирует события каждые 4 часа, поэтому события могут появляться в вашем дашборде с задержкой.

6ed2d88-CleanShot_2023-08-18_at_14.59.042x.webp

Мы рекомендуем использовать стандартные имена событий 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.

appmetrica_revenue.webp

Настройка SDK

Для подключения интеграции AppMetrica в приложении необходимо задать два идентификатора:

  1. appmetrica_device_id: обязателен для базовой интеграции
  2. appmetrica_profile_id: необязателен, но рекомендуется, если в приложении есть регистрация пользователей

Используйте метод setIntegrationIdentifier() для установки этих значений. Ниже показано, как реализовать это для каждой платформы:

Если вы используете сторонний user ID в качестве Customer User ID, не передавайте его во время activate() — сторонний SDK может ещё не успеть его сгенерировать. Вместо этого сначала вызовите activate() без CUID, затем setIntegrationIdentifier(), а потом identify() с CUID.

Структура событий AppMetrica

Adapty отправляет события в AppMetrica через POST-запросы с параметрами в строке запроса. Для каждого события Adapty AppMetrica получает до двух отдельных запросов:

  1. Profile event (отправляется всегда): содержит метаданные события
  2. 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_keyStringВаш Post API Key AppMetrica.
application_idStringВаш Application ID AppMetrica.
event_nameStringНазвание события (сопоставленное с событием Adapty).
event_timestampLongUNIX-временная метка события в секундах. Ограничена последними 7 днями при более раннем значении.
event_jsonStringURL-кодированная JSON-строка со всеми доступными полями события. Включаются только ненулевые поля.
os_nameString«ios» или «android».
profile_idStringAppMetrica Profile ID (если задан), иначе Customer User ID (если доступен).
appmetrica_device_idStringAppMetrica Device ID Hash. Отправляется только если profile_id недоступен.
session_typeStringВсегда «foreground».
ios_ifaStringТолько iOS. ID for Advertisers.
ios_ifvStringТолько iOS. ID for Vendors.
google_aidStringТолько 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&currency=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_keyStringВаш Post API Key AppMetrica.
application_idStringВаш Application ID AppMetrica.
revenue_event_typeStringТип события выручки (например, «subscription_renewed», «refund», «intro_started»). См. маппинг событий AppMetrica.
priceFloatСумма выручки (в соответствии с настройками расчёта выручки).
currencyStringКод валюты (например, «USD»).
product_idStringProduct ID из стора.
quantityIntegerВсегда 1.
transaction_idStringTransaction ID из стора.
payloadStringURL-кодированная JSON-строка с деталями события. Автоматически обрезается при превышении 30 КБ: сначала удаляются необязательные поля в порядке приоритета, чтобы сохранить наиболее важные данные.
os_nameString«ios» или «android».
profile_idStringAppMetrica Profile ID (если задан), иначе Customer User ID (если доступен).
appmetrica_device_idStringAppMetrica Device ID Hash. Отправляется только если profile_id недоступен.
session_typeStringВсегда «foreground».
ios_ifaStringТолько iOS. ID for Advertisers.
ios_ifvStringТолько iOS. ID for Vendors.
google_aidStringТолько Android. Google Advertising ID.