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

# 集成 Yandex Mobile 聚合

{% note warning %}

请确保更新至最新的适配器版本（[Yandex Mobile 聚合](https://ads.yandex.com/helpcenter/zh/dev/react-native/list-network.md)）。 否则可能会因适配器集成不当而出现错误，导致广告无法投放。

{% endnote %}

[Yandex Mobile 聚合](https://ads.yandex.com/helpcenter/zh/monetization/yandex-mediation/index.md) 是一个使用机器学习算法从各种网络自动选择广告的平台，可帮助您最大限度地提高收入。 所有设置均已预配置，您可以立即开始使用，而无需单独设置每个网络。
如果您一直在单一 Yandex 网络中使用 Mobile Ads SDK，则迁移到 Yandex 聚合不需要更改代码。 您只需预设第三方广告网络的网页界面的相关部分即可。

## 前提条件

要准备您的应用，请按照接下来的章节中描述的步骤进行操作。

## 应用要求 {#requirements}

{% list tabs %}

- Android

   - 使用 Android Studio 2021 或更高版本。
   - 检查您应用的构建文件是否使用以下值：
      - minSdkVersion 23 或更高版本。
      - compileSdkVersion 34 或更高版本。

- iOS

   - 使用 iOS 13 或更高版本。
   - 使用 Xcode 16.4 或更高版本。

{% endlist %}

### 在您的 Yandex Advertising Network 账户中设置应用

<!-- source: zh/dev/_includes/reg.md -->
以下是在 Yandex Advertising Network 中注册您的应用的方法：

1. 在 Yandex Advertising Network 中 [登录](https://partner.yandex.ru/)  或 [登录](https://passport.yandex.com/auth/list?origin=rsy_ligth_out&retpath=https%3A%2F%2Fpartner.yandex.com%2Fform%2F?roles%5B%5D=27) 您的账户。
2. 在 Yandex Advertising Network 中 [注册](https://passport.yandex.com/auth/list?origin=rsy_ligth_out&retpath=https%3A%2F%2Fpartner.yandex.com%2Fform%2F?roles%5B%5D=27) 您的应用。
<!-- endsource: zh/dev/_includes/reg.md -->

### 集成 Yandex Mobile Ads React Native 插件 {#plugin-integrating}

<!-- source: zh/dev/_includes/add-react-native.md -->
要将 Yandex Mobile Ads SDK 集成到 React Native 应用中，请使用 [Yandex Mobile Ads React Native 插件](https://www.npmjs.com/package/yandex-mobile-ads)。

在您的项目中安装 Yandex Mobile Ads React Native 插件。从项目的根文件夹运行以下命令：

```
npm install yandex-mobile-ads
```

添加插件后，`package.json` 文件中会出现具有以下依赖项的字符串：

```
"dependencies": {
    "yandex-mobile-ads": "^8.2.0"
}
```
<!-- endsource: zh/dev/_includes/add-react-native.md -->

### 特定于平台的设置 {#config}

{% list tabs %}

- Android

   **使用广告 ID 的权限**

   广告 ID 是 Google Play 服务提供的唯一 ID。 它们用于向同意个性化广告的用户投放广告。 用户可以选择退出个性化广告或在设置中重置 ID。 在这种情况下，广告网络无法使用它来投放相关广告。

   如有必要，您可以移除该权限。 例如，如果某项政策（例如家庭政策）不允许使用 ID 来投放广告，您可能需要执行此操作。

   要防止将权限添加到应用程序的主清单中，请将以下内容添加到 AndroidManifest.xml 文件中：

   ```xml
   <manifest>
      <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
   </manifest>
   ```

   {% note warning %}

   缺少 ID 使用权限和访问权限可能会影响您的收入，因为您的应用可能会投放相关性较低的广告。

   {% endnote %}

   **COPPA 设置**

   您可以使用 AndroidManifest.file 或在手动初始化 SDK 之前设置这些政策。

   如果选择了自动初始化，请将以下代码添加到 AndroidManifest.xml 文件中，以便在应用用户是儿童时通知 Yandex Mobile Ads SDK：

   ```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/zh/dev/ios/skadnetwork.md)。

{% endlist %}

## 启用聚合 {#activate}

### 连接单独的适配器

{% note warning %}

请确保更新至最新的适配器版本（[Yandex Mobile 聚合](https://ads.yandex.com/helpcenter/zh/dev/react-native/list-network.md)）。 否则可能会因适配器集成不当而出现错误，导致广告无法投放。

{% endnote %}

{% list tabs %}

- Android

   若要连接单独的适配器，请启用 Yandex Ads SDK，然后按照每个适配器的具体说明进行操作：

   1. 在 Yandex Advertising Network 界面中[设置聚合](https://ads.yandex.com/helpcenter/zh/monetization/yandex-mediation/setup.md)。
   1. 将 YandexMobileAds 依赖项添加到应用模块中的 build.gradle 文件中：
      ```groovy
      dependencies {
          ...
          implementation 'com.yandex.android:mobileads:x.x.x' // add supported version

          // 添加 Yandex Mobile 聚合适配器的依赖项。
      }
      ```

   1. 将 Java 8 支持添加到应用的 Android 模块的 build.gradle 文件中：
      ```groovy
      android {

          compileOptions {
              sourceCompatibility JavaVersion.VERSION_1_8
              targetCompatibility JavaVersion.VERSION_1_8
          }
      }
      ```
   1. 将以下代码添加到应用的 Android 模块的 build.gradle 文件中：

      <!-- source: zh/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: zh/dev/_includes/build-gradle-code.md -->

   1. 设置使用广告 ID 的权限（适用于使用 4.5.0 之前版本 SDK 的应用）。

      <!-- source: zh/dev/_includes/ad-id.md -->
      {% cut "如何设置使用广告 ID 的权限" %}

      广告 ID 是 Google Play 服务提供的唯一标识符，用于向选择个性化广告的用户展示广告。用户可以选择退出广告个性化设置或在设置中重置其 ID。在这种情况下，广告网络将无法使用该 ID 为用户选择相关广告。

      如果您的应用运行低于 4.5 的 Yandex Mobile Ads SDK 版本，请将 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。因此，您不必在应用程序的主清单中指定它。该权限允许您使用广告 ID 从广告网络中选择更相关的广告。

      如果需要，您可以删除该权限。例如，如果政策不允许使用 ID 来选择广告，例如家庭政策。

      要防止将该权限添加到应用程序的主清单中，请将以下代码添加到 AndroidManifest.xml 中：
      ```xml
      <manifest>
          <application>
              <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove"/>
          </application>
      </manifest>
      ```
      {% endcut %}
      <!-- endsource: zh/dev/_includes/ad-id.md -->

      {% note warning %}

      缺少 ID 使用权限和访问权限可能会影响您的收入，因为您的应用可能会投放相关性较低的广告。

      {% endnote %}

   1. 使用适当的包单独连接所需的[适配器](https://ads.yandex.com/helpcenter/zh/dev/react-native/list-network.md)。

- iOS

   若要连接单独的适配器，请启用 Yandex Ads SDK，然后按照每个适配器的具体说明进行操作：

   1. 在 Yandex Advertising Network 界面中[设置聚合](https://ads.yandex.com/helpcenter/zh/monetization/yandex-mediation/setup.md)。
   1. 将 `YandexMobileAds` 库添加到 Podfile 中。

      ```
      pod 'YandexMobileAds', 'x.x.x' // 添加支持的版本
      ```

   1. 使用适当的库单独连接所需的[适配器](https://ads.yandex.com/helpcenter/zh/dev/react-native/list-network.md)

{% endlist %}

### 初始化 Yandex Mobile Ads SDK 库

<!-- source: zh/dev/_includes/init-sdk-react-native.md -->
成功初始化Yandex Mobile Ads SDK 是正确集成库的前提条件。

默认情况下，Android SDK 会在 **应用启动** 时自动初始化。这会加快广告加载速度，从而增加您的变现收入。

默认情况下，iOS SDK 会在 **加载广告前** 自动初始化。然而，手动初始化可以加快首个广告的加载速度，从而增加您的变现收入。

请在主组件的 `useEffect` 钩子中添加 `MobileAds.initialize();` 调用：

```ts
React.useEffect(() => {
    (async () => {
        // 在 init sdk 之前配置用户隐私数据策略
        await MobileAds.initialize();
    })();
});
```
<!-- endsource: zh/dev/_includes/init-sdk-react-native.md -->

如果您需要在应用中设置[个人数据隐私政策](https://ads.yandex.com/helpcenter/zh/dev/react-native/gdpr.md)，请确保在初始化 Yandex Mobile Ads SDK 之前执行此操作。

您可以使用 AndroidManifest.file 或在手动初始化 SDK 之前设置这些政策。

## 了解详情

[插件集成错误](https://ads.yandex.com/helpcenter/zh/dev/react-native/react-native-errors.md#integration)
