Amplitude

Amplitude — мощный сервис мобильной аналитики. С помощью Adapty вы можете легко отправлять события в Amplitude, отслеживать поведение пользователей и принимать взвешенные решения.

Adapty предоставляет полный набор данных, позволяющий отслеживать события подписки из сторов в одном месте и отправлять их в ваш аккаунт Amplitude. Это даёт возможность сопоставлять поведение пользователей с историей их платежей в Amplitude и принимать обоснованные продуктовые решения.

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

В Adapty можно настроить отдельные потоки для продакшн и тестовых событий из песочницы Apple или Stripe, либо из тестового аккаунта Google.

  • Для продакшн-событий введите Production API-ключи из дашборда Amplitude — отдельный ключ для каждой платформы: iOS, Android и Stripe.
  • Для тестовых событий используйте поля Sandbox по необходимости.

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

  1. Откройте Integrations -> Amplitude в дашборде Adapty.
3b50552-CleanShot_2023-08-15_at_16.47.102x.webp
  1. Включите Amplitude integration с помощью переключателя.

  2. Заполните поля интеграции:

    ПолеОписание
    Amplitude iOS/ Android/ Stripe API keyВведите API Key Amplitude для iOS/ Android/ Stripe в Adapty. Найти его можно в разделе Project settings в Amplitude. Подробнее см. в документации Amplitude. Начните с ключей Sandbox для тестирования, затем переключитесь на ключи Production после успешных тестов.
    2297782-CleanShot_2023-08-15_at_16.53.512x.webp
  3. Дополнительные настройки для расширенной конфигурации:

    ПараметрОписание
    How the revenue data should be sentВыберите, отправлять ли валовую выручку или выручку после вычета налогов и комиссий. Подробнее см. в разделе Комиссия стора и налоги.
    Exclude historical eventsВыберите этот параметр, чтобы исключить события, произошедшие до установки Adapty SDK, и избежать дублирования данных. Например, если пользователь оформил подписку 10 января, а Adapty SDK установил 6 марта, Adapty будет отправлять только события начиная с 6 марта.
    Send User AttributesВыберите этот параметр, чтобы отправлять пользовательские атрибуты, например языковые настройки.
    Always populate user_idAdapty автоматически отправляет device_id как amplitudeDeviceId. Для user_id этот параметр определяет поведение:
    • ON: отправляет profile_id из Adapty, если amplitudeUserId или customer_user_id недоступны.
    • OFF: оставляет user_id пустым, если ни один из идентификаторов недоступен.
  4. Выберите события, которые хотите получать, и задайте им имена.

  5. Нажмите Save, чтобы сохранить изменения.

После нажатия Save Adapty начнёт отправлять события в Amplitude.

Помимо событий, Adapty отправляет статус подписки и идентификатор продукта подписки в пользовательские свойства Amplitude.

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

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

da67694-CleanShot_2023-08-15_at_16.52.352x.webp

Рекомендуем использовать имена событий по умолчанию, предоставляемые 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_keyStringВаш API-ключ Amplitude.
eventsArrayСписок объектов событий (Adapty отправляет по одному за раз).
events[].partner_idStringВсегда “adapty”.
events[].event_typeStringИмя события (сопоставленное с событием Adapty).
events[].timeLongВременна́я метка события в миллисекундах.
events[].insert_idStringУникальный идентификатор события (UUID).
events[].user_idStringAmplitude User ID или Customer User ID.
events[].device_idStringAmplitude Device ID.
events[].platformStringПлатформа (например, “iOS”, “Android”).
events[].os_nameStringНазвание ОС.
events[].productIdStringИдентификатор продукта из стора.
events[].revenueFloatСумма выручки.
events[].event_propertiesObjectПодробные атрибуты события (содержит все доступные поля события).
events[].user_propertiesObjectПользовательские атрибуты, например статус подписки.