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

# 集成 Yandex Mediation

[移动聚合](https://ads.yandex.com/helpcenter/zh/monetization/yandex-mediation/index.md)是一个基于机器学习从各种广告网络中选择广告的平台。 目的是最大化您的收入。 所有设置都是即插即用的，这意味着无需单独调试每个网络。
如果您之前仅在一个 Yandex 网络中使用 Mobile Ads SDK，则无需更改代码中的任何内容即可切换到 Yandex Mediation。 您只需在外部广告网络的网页界面中预先配置单元即可。

## 初步设置

要准备您的应用，请按照下一节中的步骤操作。

### 应用要求 {#requirements}

{% list tabs %}

- Android

   - 使用 Android Studio 2021 或更高版本。
   - 确保您应用的构建文件使用以下值：
      - minSdkVersion 21 或更高版本。
      - compileSdkVersion 31 或更高版本。
   - 要加载任何类型的广告，您需要使用 Android 4.1 或更高版本。
   - 仅针对 Android 5 或更高版本的设备选择视频广告。

- 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 Compose Multiplatform 库 {#library-integrating}

<!-- source: zh/dev/_includes/add-compose-multiplatform.md -->
要将 Yandex Mobile Ads SDK 与您的 Compose Multiplatform 应用集成，请在共享模块中添加 Yandex Mobile Ads Compose Multiplatform 依赖项，并将原生 iOS SDK 与 CocoaPods 连接。

**Gradle**

在共享模块 `build.gradle.kts` 的 `commonMain` 中声明该构件：

```kotlin
commonMain.dependencies {
    implementation("com.yandex.ads.multiplatform:mobileads-compose:8.2.0")
}
```

**iOS (CocoaPods)**

将 `YandexMobileAds` pod 添加到您的 iOS 应用 `Podfile` 中（如 `iosApp/Podfile`）。 使用与 Xcode 中相同的目标名称：

```ruby
source 'https://cdn.cocoapods.org/'

platform :ios, '13.0'

target 'iosApp' do
  use_frameworks!
  pod 'YandexMobileAds', '8.2.0'
end
```

从包含 `Podfile` 的目录安装 pod：

```
cd iosApp && pod install
```
<!-- endsource: zh/dev/_includes/add-compose-multiplatform.md -->

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

{% list tabs %}

- Android

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

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

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

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

   {% note warning %}

   缺乏此权限和对 ID 的访问权限可能会降低广告的相关性，从而降低您的收入。

   {% endnote %}

   **COPPA 设置**

   您可以在初始化 SDK 之前手动或使用 `AndroidManifest.file` 设置个人数据隐私策略。

   自动初始化时，在 `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 %}

## 集成聚合

### 添加单独的适配器

{% note warning %}

确保将您使用的 [Yandex 移动聚合](https://ads.yandex.com/helpcenter/zh/dev/compose-multiplatform/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)。
   2. 将 YandexMobileAds 依赖项添加到应用级别的 build.gradle.kts 文件中的 `androidMain.dependencies` 块：
      ```kotlin
      androidMain.dependencies {
          ...
          implementation("com.yandex.android:mobileads:x.x.x") // 添加支持的版本

          // 添加 Yandex Mediation 适配器的依赖项。
      }
      ```

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

          compileOptions {
              sourceCompatibility JavaVersion.VERSION_1_8
              targetCompatibility JavaVersion.VERSION_1_8
          }
      }
      ```
   4. 将以下代码添加到应用的 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 -->

   5. 设置使用广告 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 %}

   6. 使用适当的包逐一添加适用的[适配器](https://ads.yandex.com/helpcenter/zh/dev/compose-multiplatform/list-network.md)。

- iOS

   要添加单独的适配器，请按照以下说明启用 Yandex Ads SDK 和相关适配器：

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

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

   3. 使用适当的库逐一添加适用的[适配器](https://ads.yandex.com/helpcenter/zh/dev/compose-multiplatform/list-network.md)。

{% endlist %}

## 初始化 Yandex Mobile Ads SDK 库

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

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

默认情况下，对于 iOS 系统，SDK 初始化**在广告加载之前自动**进行，但手动初始化将加快第一个广告加载的速度，从而增加变现收入。

在加载任何广告之前调用 `YandexAds.initialize()` — 例如，从根可组合项使用 `LaunchedEffect`：

```kotlin
import com.yandex.mobile.ads.kmp.YandexAds

@Composable
fun App() {
    LaunchedEffect(Unit) {
        YandexAds.initialize()
    }
    // ...
}
```
<!-- endsource: zh/dev/_includes/init-sdk-compose-multiplatform.md -->

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

您可以在初始化 SDK 之前手动或使用 `AndroidManifest.file` 设置个人数据隐私策略。
