Тестовые устройства

В целях тестирования вы можете назначить своё устройство тестовым — это отключает кэширование и гарантирует, что внесённые изменения отображаются сразу.

Тестовые устройства поддерживаются начиная со следующих версий SDK:

  • iOS: 2.11.1
  • Android: 2.11.3
  • React Native: 2.11.1

Поддержка Flutter и Unity будет добавлена позже.

Отметить устройство как тестовое

  1. Откройте App settings в дашборде Adapty.
  2. Прокрутите страницу вниз до раздела Test devices на вкладке General.
14c581d-test_device_add.webp
  1. Нажмите кнопку Add test device.
f86d5e2-test_users_add_device.webp
  1. В окне Add test device заполните поля:

    ПолеОписание
    Test device nameНазвание тестового устройства (или устройств) для вашего удобства.
    ID used to identify this test deviceВыберите тип идентификатора для определения тестового устройства (или устройств). Следуйте нашим рекомендациям в разделе Какой идентификатор использовать ниже, чтобы выбрать оптимальный вариант.
    ID valueВведите значение идентификатора.
  2. Не забудьте нажать кнопку Add test device, чтобы сохранить изменения.

Какой идентификатор использовать

Для идентификации устройства можно использовать несколько типов идентификаторов. Мы рекомендуем следующие:

  • Customer User ID — для устройств iOS и Android, если вы идентифицируете пользователей в Adapty . Это наилучший выбор, особенно если у вас более одного тестового устройства для одного аккаунта в приложении. Если в качестве ID used to identify this test device указан Customer User ID, все устройства, привязанные к этому аккаунту, будут отмечены как тестовые.
  • IDFA (iOS) и Advertising ID (Android): эти рекламные идентификаторы отлично подходят для iOS и Android соответственно, если вы уже запрашиваете у пользователей согласие на доступ к ним. Даже если у вас есть Customer User ID, рекламные идентификаторы могут быть предпочтительнее, если во время тестирования вы переключаетесь между аккаунтами в приложении. Кроме того, они удобны, когда одному аккаунту принадлежат и тестовые, и личные устройства, и вы не хотите помечать личные устройства как тестовые.

Существуют и другие варианты — Adapty Profile ID, IDFV и Android ID. Они менее удобны, но могут использоваться, если Customer User ID, IDFA или Advertising ID недоступны.

Рассмотрим все возможные варианты подробнее.

Идентификаторы для всех платформ

ИдентификаторИспользование
Customer User ID

Уникальный идентификатор, который вы задаёте самостоятельно для идентификации пользователей в вашей системе. Это может быть email пользователя, ваш внутренний ID или любая другая строка. Для использования этого варианта необходимо идентифицировать пользователей в Adapty .

Это лучший выбор для идентификации тестового устройства, особенно если вы используете несколько устройств для одного аккаунта. Все устройства с этим аккаунтом будут считаться тестовыми.

Adapty profile ID

Уникальный идентификатор профиля пользователя в Adapty.

Используйте его, если не можете применить Customer User ID, IDFA для iOS или Advertising ID для Android. Обратите внимание: Adapty Profile ID может измениться при переустановке приложения или повторном входе.

Как получить Customer User ID и Adapty profile ID

Оба идентификатора можно найти в деталях Profile в дашборде Adapty:

  1. Найдите профиль пользователя во вкладке Adapty Profiles -> Event feed.

Чтобы найти нужный профиль, совершите редкий тип транзакции. Когда она появится в Event Feed, вы легко её распознаете.

  1. Скопируйте значения полей Customer user ID и Adapty ID в деталях профиля:
345d308-test_users_CUID_adapty_ID.webp

Идентификаторы Apple

ИдентификаторИспользование
IDFA

Identifier for Advertisers (IDFA) — уникальный идентификатор устройства, присваиваемый Apple.

Идеально подходит для iOS-устройств: он не меняется сам по себе, хотя вы можете сбросить его вручную.

Примечание: начиная с iOS 14.5 рекламодатели обязаны запрашивать согласие пользователя на доступ к IDFA. Убедитесь, что ваше приложение запрашивает такое согласие и что вы его предоставили на тестовом устройстве.

IDFVIdentifier for Vendors (IDFV) — уникальный буквенно-цифровой идентификатор, присваиваемый Apple всем приложениям одного издателя/поставщика на одном устройстве. Может измениться при переустановке или обновлении приложения.

Как получить IDFA

Apple не предоставляет IDFA по умолчанию. Его можно получить из атрибуции профиля в дашборде Adapty:

  1. Найдите профиль пользователя во вкладке Adapty Profiles -> Event feed.

Чтобы найти нужный профиль, совершите редкий тип транзакции. Когда она появится в Event Feed, вы легко её распознаете.

  1. Откройте детали профиля и скопируйте значение поля IDFA в разделе Attributes:
ce4a63f-test_users_idfa.webp

Также можно найти в App Store приложение, которое покажет вам ваш IDFA.

Как получить Identifier for Vendors (IDFV)

Чтобы получить IDFV, попросите разработчика запросить его с помощью следующего метода в вашем приложении и вывести полученный идентификатор в логи или панель отладки.

UIDevice.current.identifierForVendor

Идентификаторы Google

ИдентификаторИспользование
Advertising ID

Advertising ID — уникальный идентификатор устройства, присваиваемый Google.

Идеально подходит для Android-устройств: он не меняется сам по себе, хотя вы можете сбросить его вручную.

Примечание: для использования этого идентификатора отключите параметр Opt out of Ads Personalization в настройках Ads, если вы используете Android 12 или более позднюю версию.

Android IDAndroid ID — уникальный идентификатор для каждой комбинации ключа подписи приложения, пользователя и устройства. Доступен на Android 8.0 и выше.

Как получить Advertising ID

Чтобы найти рекламный идентификатор устройства:

  1. Откройте приложение Settings на вашем Android-устройстве.
  2. Нажмите Google.
  3. Выберите Ads в разделе Services. Ваш рекламный идентификатор будет указан внизу экрана.

Как получить Android ID

Чтобы получить Android ID, попросите разработчика запросить ANDROID_ID с помощью следующего метода в вашем приложении и вывести полученный идентификатор в логи или панель отладки.

android.provider.Settings.Secure.getString(contentResolver, android.provider.Settings.Secure.ANDROID_ID);