---
title: "Тестовые устройства"
description: "Узнайте, как управлять тестовыми устройствами в Adapty для эффективного тестирования приложений."
---

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

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

- iOS: 2.11.1
- Android: 2.11.3
- React Native: 2.11.1

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

## Отметить устройство как тестовое \{#mark-your-device-as-test\}

1. Откройте [**App settings**](https://app.adapty.io/settings/general) в дашборде Adapty.
2. Прокрутите страницу вниз до раздела **Test devices** на вкладке **General**.

  <img src="/assets/shared/img/14c581d-test_device_add.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

3. Нажмите кнопку **Add test device**.

  <img src="/assets/shared/img/f86d5e2-test_users_add_device.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

4. В окне **Add test device** заполните поля:

   | Поле                                     | Описание                                                                                                                                                                                                                             |
   |:-----------------------------------------| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | **Test device name**                     | Название тестового устройства (или устройств) для вашего удобства.                                                                                                                                                                                                          |
   | **ID used to identify this test device** | Выберите тип идентификатора для определения тестового устройства (или устройств). Следуйте нашим рекомендациям в разделе [Какой идентификатор использовать](test-devices#which-identifier-you-should-use) ниже, чтобы выбрать оптимальный вариант. |
   | **ID value**                             | Введите значение идентификатора.                                                                                                                                                                                                      |
5. Не забудьте нажать кнопку **Add test device**, чтобы сохранить изменения.

## Какой идентификатор использовать \{#which-identifier-you-should-use\}

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

- **Customer User ID** — для устройств iOS и Android, если вы <InlineTooltip tooltip="идентифицируете пользователей в Adapty">[iOS](identifying-users), [Android](android-identifying-users), [React Native](react-native-identifying-users), [Flutter](flutter-identifying-users) и [Unity](unity-identifying-users)</InlineTooltip>. Это наилучший выбор, особенно если у вас более одного тестового устройства для одного аккаунта в приложении. Если в качестве **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 недоступны.

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

### Идентификаторы для всех платформ \{#identifiers-for-all-platforms\}

| Идентификатор | Использование |
|----------|-----|
| Customer User ID | <p>Уникальный идентификатор, который вы задаёте самостоятельно для идентификации пользователей в вашей системе. Это может быть email пользователя, ваш внутренний ID или любая другая строка. Для использования этого варианта необходимо <InlineTooltip tooltip="идентифицировать пользователей в Adapty">[iOS](identifying-users), [Android](android-identifying-users), [React Native](react-native-identifying-users), [Flutter](flutter-identifying-users) и [Unity](unity-identifying-users)</InlineTooltip>.</p><p></p><p>Это лучший выбор для идентификации тестового устройства, особенно если вы используете несколько устройств для одного аккаунта. Все устройства с этим аккаунтом будут считаться тестовыми.</p> |
| Adapty profile ID | <p>Уникальный идентификатор [профиля пользователя](profiles-crm) в Adapty.</p><p></p><p>Используйте его, если не можете применить Customer User ID, IDFA для iOS или Advertising ID для Android. Обратите внимание: Adapty Profile ID может измениться при переустановке приложения или повторном входе.</p> |

#### Как получить Customer User ID и Adapty profile ID \{#how-to-obtain-customer-user-id-and-adapty-profile-id\}

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

1. Найдите профиль пользователя во вкладке [**Adapty Profiles** -> **Event feed**](https://app.adapty.io/event-feed).
  :::note
  Чтобы найти нужный профиль, совершите редкий тип транзакции. Когда она появится в [**Event Feed**](https://app.adapty.io/event-feed), вы легко её распознаете.
  :::
2. Скопируйте значения полей **Customer user ID** и **Adapty ID** в деталях профиля:

  <img src="/assets/shared/img/345d308-test_users_CUID_adapty_ID.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

### Идентификаторы Apple \{#apple-identifiers\}

| Идентификатор | Использование |
|----------|-----|
| IDFA | <p>Identifier for Advertisers (IDFA) — уникальный идентификатор устройства, присваиваемый Apple.</p><p></p><p>Идеально подходит для iOS-устройств: он не меняется сам по себе, хотя вы можете сбросить его вручную.</p><p>**Примечание**: начиная с iOS 14.5 рекламодатели обязаны запрашивать согласие пользователя на доступ к IDFA. Убедитесь, что ваше приложение запрашивает такое согласие и что вы его предоставили на тестовом устройстве.</p> |
| IDFV | Identifier for Vendors (IDFV) — уникальный буквенно-цифровой идентификатор, присваиваемый Apple всем приложениям одного издателя/поставщика на одном устройстве. Может измениться при переустановке или обновлении приложения. |

#### Как получить IDFA \{#how-to-obtain-the-idfa\}

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

1. Найдите профиль пользователя во вкладке [**Adapty Profiles** -> **Event feed**](https://app.adapty.io/event-feed).
  :::note
  Чтобы найти нужный профиль, совершите редкий тип транзакции. Когда она появится в [**Event Feed**](https://app.adapty.io/event-feed), вы легко её распознаете.
  :::
2. Откройте детали профиля и скопируйте значение поля **IDFA** в разделе **Attributes**:

  <img src="/assets/shared/img/ce4a63f-test_users_idfa.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

Также можно [найти в App Store приложение, которое покажет вам ваш IDFA](https://www.apple.com/us/search/idfa?src=globalnav).

#### Как получить Identifier for Vendors (IDFV) \{#how-to-obtain-the-identifier-for-vendors-idfv\}

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

```swift showLineNumbers title="Swift"
UIDevice.current.identifierForVendor
```

### Идентификаторы Google \{#google-identifiers\}

| Идентификатор | Использование |
|----------|-----|
| Advertising ID | <p>Advertising ID — уникальный идентификатор устройства, присваиваемый Google.</p><p>Идеально подходит для Android-устройств: он не меняется сам по себе, хотя вы можете сбросить его вручную.</p><p>**Примечание**: для использования этого идентификатора отключите параметр **Opt out of Ads Personalization** в настройках **Ads**, если вы используете Android 12 или более позднюю версию.</p>|
| Android ID | Android ID — уникальный идентификатор для каждой комбинации ключа подписи приложения, пользователя и устройства. Доступен на Android 8.0 и выше. |

#### Как получить Advertising ID \{#how-to-obtain-advertising-id\}

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

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

#### Как получить Android ID \{#how-to-obtain-android-id\}

Чтобы получить Android ID, попросите разработчика запросить [ANDROID_ID](https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID) с помощью следующего метода в вашем приложении и вывести полученный идентификатор в логи или панель отладки.

```kotlin showLineNumbers title="Kotlin/Java"
android.provider.Settings.Secure.getString(contentResolver, android.provider.Settings.Secure.ANDROID_ID);
```