---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ads.yandex.com/helpcenter/en/dev/flutter/quick-start-mm.md
  - https://ads.yandex.com/helpcenter/ru/dev/flutter/quick-start-mm.md
  - https://ads.yandex.com/helpcenter/zh/dev/flutter/quick-start-mm.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ads.yandex.com/helpcenter/ru/llms.txt

<!--
Используется в Boost: boost/ru/ad-monetization/dev/flutter
-->

# Интеграция Медиации Яндекса

{% note warning %}

Обязательно обновите версии используемых адаптеров на актуальные ([Медиация Яндекса](https://ads.yandex.com/helpcenter/ru/dev/flutter/list-network.md)). Иначе возможны ошибки неправильной интеграции адаптеров и реклама не будет показана.


{% endnote %}

[Мобильная медиация](https://ads.yandex.com/helpcenter/ru/monetization/yandex-mediation/index.md) — платформа, которая автоматически подбирает рекламу из множества сетей на основе алгоритмов ML. Это позволяет максимизировать доход. Все настройки работают «из коробки» — отлаживать каждую сеть отдельно не нужно.
Если вы раньше использовали Mobile Ads SDK только с одной сетью Яндекса, то для перехода на Медиацию не придется ничего менять в коде. Предварительно нужно только настроить блоки в веб-интерфейсе внешних рекламных сетей.


## Предварительная настройка

Чтобы подготовить приложение, выполните действия, описанные в следующих разделах.

### Требования к приложению {#requirements}

{% list tabs %}

- Android

  - Используйте Android Studio 2021 или выше.
  - Убедитесь, что в файле сборки вашего приложения используются следующие значения:
     - minSdkVersion 21 или выше;
     - compileSdkVersion 31 или выше.
   - Для загрузки любого вида рекламы необходима версия Android 4.1 и выше.
   - Видеореклама подбирается только на устройства с версией Android 5 и выше.

- iOS

  - Используйте iOS 13 и выше.
  - Используйте Xcode 16.4 и выше.

{% endlist %}

### Настройте приложение в своем аккаунте в Рекламной сети Яндекса

<!-- source: ru/dev/_includes/reg.md -->
Зарегистрируйте свое приложение как приложение Рекламной сети Яндекса, выполнив следующие действия:

1. [Войдите](https://partner.yandex.ru/) или [зарегистрируйте](https://passport.yandex.ru/auth/list?origin=rsy_ligth_in&retpath=https%3A%2F%2Fpartner.yandex.ru%2Fform%2F?roles%5B%5D=27) аккаунт в Рекламной сети Яндекса.
2. [Зарегистрируйте](https://passport.yandex.ru/auth/list?origin=rsy_ligth_in&retpath=https%3A%2F%2Fpartner.yandex.ru%2Fform%2F?roles%5B%5D=27) свое приложение в Рекламной сети Яндекса.
<!-- endsource: ru/dev/_includes/reg.md -->

## Подключение Yandex Mobile Ads Flutter plugin {#plugin-integrating}

<!-- source: ru/dev/_includes/add-flutter.md -->
Чтобы интегрировать Yandex Mobile Ads SDK в приложение Flutter, используйте [Yandex Mobile Ads Flutter плагин](https://pub.dev/packages/yandex_mobileads).

Установите плагин Yandex Mobile Ads Flutter в свой проект. Из корня проекта вызовите команду:

```
flutter pub add yandex_mobileads
```

После добавления плагина в файле `pubspec.yaml` появится строка с зависимостью:

```
dependencies:
    yandex_mobileads: ^8.2.0
```
<!-- endsource: ru/dev/_includes/add-flutter.md -->

### Настройка для конкретной платформы {#config}

{% list tabs %}

- Android

   **Разрешение на использование рекламного идентификатора**

   Рекламный идентификатор – уникальный идентификатор сервисов Google Play для показа рекламы пользователям, которые согласны видеть персонализированные объявления. Пользователь может отключить персонализацию рекламы или сбросить идентификатор в настройках. В таком случае рекламные сети не смогут использовать его для подбора релевантной рекламы.

   При необходимости вы можете удалить разрешение. Например, если какие-то политики, такие как Families Policy, не позволяют использовать идентификатор для подбора рекламы.

   Чтобы разрешение не попало в основной манифест приложения, добавьте в файл AndroidManifest.xml следующий код:
   ```xml
   <manifest>
       <application>
           <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
       </application>
   </manifest>
   ```

   {% note warning %}

     Отсутствие разрешения и доступа к идентификатору может снизить релевантность рекламы и, как следствие, ваш доход.

   {% endnote %}

   **Настройка COPPA**

   Настроить политики использования персональных данных можно через AndroidManifest.file или непосредственно перед инициализацией SDK вручную.

   При автоматической инициализации, для уведомления Yandex Mobile Ads SDK об использовании приложения ребенком, добавьте в AndroidManifest.xml файл следующий код:
   ```xml
   <manifest>
       <application>
           <!-- Disable the use of child's personal data for app monetization.  -->
           <meta-data
             android:name="@string/yandex_mobileads_age_restricted_user"
             android:value="true" />
       </application>
   </manifest>
   ```

- iOS

  **Поддержка SKAdNetwork**

  Добавьте идентификаторы рекламных сетей в файл `Info.plist` вашего приложения. Инструкции см. в разделе [SKAdNetwork](https://ads.yandex.com/helpcenter/ru/dev/ios/skadnetwork.md).

{% endlist %}

## Подключение медиации

### Подключение отдельных адаптеров

{% note warning %}

Обязательно обновите версии используемых адаптеров на актуальные ([Мобильная медиация Яндекса](https://ads.yandex.com/helpcenter/ru/dev/flutter/list-network.md)). Иначе возможны ошибки неправильной интеграции адаптеров и реклама не будет показана.

{% endnote %}

{% list tabs %}

- Android

  Чтобы подключить адаптеры по отдельности, подключите Yandex Ads SDK и необходимые адаптеры по инструкциям к этим адаптерам:

  1. [Настройте медиацию](https://ads.yandex.com/helpcenter/ru/monetization/yandex-mediation/setup.md) в интерфейсе Рекламной сети Яндекса.
  2. Добавьте зависимость от YandexMobileAds в build.gradle файл модуля вашего приложения:
     ```groovy
     dependencies {
         ...
         implementation 'com.yandex.android:mobileads:x.x.x' // add supported version

         // Add dependencies on Yandex Mediation adapters.
     }
     ```

  3. Добавьте поддержку Java 8 в build.gradle файл Android-модуля вашего приложения:
     ```groovy
     android {

         compileOptions {
             sourceCompatibility JavaVersion.VERSION_1_8
             targetCompatibility JavaVersion.VERSION_1_8
         }
     }
     ```
  4. Добавьте код в build.gradle файл Android-модуля вашего приложения:

     <!-- source: ru/dev/_includes/build-gradle-code.md -->
     ```groovy
     // IronSource
     maven {
            url 'https://android-sdk.is.com/'
     }

     // Pangle
     maven {
            url 'https://artifact.bytedance.com/repository/pangle'
     }

     // Tapjoy
     maven {
            url "https://sdk.tapjoy.com/"
     }

     // Mintegral
     maven {
            url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea"
     }

     // Chartboost
     maven {
            url "https://cboost.jfrog.io/artifactory/chartboost-ads/"
     }

     // AppNext
     maven {
            url "https://dl.appnext.com/"
     }
     ```
     <!-- endsource: ru/dev/_includes/build-gradle-code.md -->

  5. Настройте разрешение на использование рекламного идентификатора (для приложений, использующих sdk ниже версии 4.5.0).

     {% include notitle [ad-id](../_includes/ad-id.md) %}

     {% note warning %}

      Отсутствие разрешения и доступа к идентификатору может снизить релевантность рекламы и, как следствие, ваш доход.

     {% endnote %}

  6. Подключите необходимые [адаптеры](https://ads.yandex.com/helpcenter/ru/dev/flutter/list-network.md) отдельно с помощью соответствующих пакетов.

- iOS

  Чтобы подключить адаптеры по отдельности, подключите Yandex Ads SDK и необходимые адаптеры по инструкциям к этим адаптерам:

  1. [Настройте медиацию](https://ads.yandex.com/helpcenter/ru/monetization/yandex-mediation/setup.md) в интерфейсе Рекламной сети Яндекса.
  2. Добавьте библиотеку `YandexMobileAds` в файл Podfile.

     ```
     pod 'YandexMobileAds', 'x.x.x' // add supported version
     ```

  3. Подключите необходимые [адаптеры](https://ads.yandex.com/helpcenter/ru/dev/flutter/list-network.md) отдельно с помощью соответствующих библиотек.

{% endlist %}

## Инициализация библиотеки Yandex Mobile Ads SDK

<!-- source: ru/dev/_includes/init-sdk-flutter.md -->
Успешная инициализация Yandex Mobile Ads SDK является важным условием корректной интеграции библиотеки.

По умолчанию, для Android, инициализация SDK происходит автоматически **во время запуска приложения**. Это ускоряет загрузку рекламы и, следовательно, увеличивает доход от монетизации.

По умолчанию, для iOS, инициализация SDK происходит автоматически **перед загрузкой рекламы**, но ручная инициализация позволит ускорить загрузку первого рекламного объявления, и, следовательно, увеличить доход от монетизации.

В `main()` вашего приложения добавьте вызов `YandexAds.initialize();`:

```dart
Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  // Configure the user privacy data policy before init sdk
  await YandexAds.initialize();
  runApp(...);
}
```
<!-- endsource: ru/dev/_includes/init-sdk-flutter.md -->

Если для вашего приложения требуется настроить [политики использования персональных данных](https://ads.yandex.com/helpcenter/ru/dev/flutter/gdpr.md), сделать это необходимо перед инициализацией Yandex Mobile Ads SDK.

Настроить политики использования персональных данных можно через AndroidManifest.file или непосредственно перед инициализацией SDK вручную.

{% included (../_includes/ad-id.md) %}
# Рекламный идентификатор

{% cut "Как настроить разрешение на использование рекламного идентификатора" %}

  Рекламный идентификатор – уникальный идентификатор сервисов Google Play для показа рекламы пользователям, которые согласны видеть персонализированные объявления. Пользователь может отключить персонализацию рекламы или сбросить идентификатор в настройках. В таком случае рекламные сети не смогут использовать его для подбора релевантной рекламы.

  Если ваше приложение использует версию Yandex Mobile Ads SDK ниже 4.5.0, необходимо добавить разрешение com.google.android.gms.permission.AD_ID в AndroidManifest.xml файл вашего приложения:
  ```xml
  <manifest>
      <application>
      <!-- For apps targeting Android 13 or higher & Yandex Mobile Ads SDK versions lower than 4.5.0 -->
          <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
      </application>
  </manifest>
  ```

  Начиная с версии 4.5.0 Yandex Mobile Ads SDK добавляет разрешение com.google.android.gms.permission.AD_ID по умолчанию. Поэтому указывать его дополнительно в основном манифесте приложения не нужно. Разрешение позволяет использовать рекламный идентификатор для подбора более релевантной рекламы от рекламных сетей.

  При необходимости, вы можете удалить разрешение. Например, если какие-то политики, такие как Families Policy, не позволяют использовать идентификатор для подбора рекламы.

  Чтобы разрешение не попало в основной манифест приложения, добавьте в файл AndroidManifest.xml следующий код:
  ```xml
  <manifest>
      <application>
          <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
      </application>
  </manifest>
  ```
{% endcut %}

{% endincluded %}