---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ads.yandex.com/helpcenter/en/support/faq/sdk-errors.md
  - https://ads.yandex.com/helpcenter/ru/support/faq/sdk-errors.md
  - https://ads.yandex.com/helpcenter/zh/support/faq/sdk-errors.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ads.yandex.com/helpcenter/zh/llms.txt

# SDK 集成问题排除


{% cut "我如何测试集成是否成功？"%}

您可以通过以下方式之一检查集成是否成功：
* 使用演示广告单元加载广告，并检查广告是否对点击作出响应。
* 使用 SDK 的内置分析器或本地控制台工具。
* 对于原生广告，您还可以启用错误集成指示器并检查它是否变成红色。

有关测试集成的更多信息，请参阅 Yandex Mobile Ads SDK 部分：
- [Android](https://ads.yandex.com/helpcenter/zh/dev/android/quick-start.md)
- [iOS](https://ads.yandex.com/helpcenter/zh/dev/ios/quick-start.md)
- [Unity](https://ads.yandex.com/helpcenter/zh/dev/unity/quick-start.md)
- [Flutter](https://ads.yandex.com/helpcenter/zh/dev/flutter/quick-start.md)
- [React Native](https://ads.yandex.com/helpcenter/zh/dev/react-native/quick-start.md)

{% endcut %}


{% cut "实施按钮返回不正确的 SDK 集成" %}

请确保：
- [依赖项](https://ads.yandex.com/helpcenter/zh/dev/android/quick-start.md) 已正确添加。
- 库已正确[初始化](https://ads.yandex.com/helpcenter/zh/dev/android/quick-start.md#init)。

您还可以使用 [集成调试模式](https://ads.yandex.com/helpcenter/zh/dev/android/quick-start.md#testing-sdk-integration)。

{% endcut %}


{% cut "可能的集成错误" %}

集成可能会因以下原因导致错误：

1.适配器未连接或连接不正确。请参阅有关对接第三方聚合平台的说明：
     * [Android](https://ads.yandex.com/helpcenter/zh/dev/android/third-party-mediation.md)
     * [iOS](https://ads.yandex.com/helpcenter/zh/dev/ios/third-party-mediation.md)
     * [Unity](https://ads.yandex.com/helpcenter/zh/dev/unity/third-party-mediation.md)

2.Unity 应用的 Unity 插件尚未集成。请参阅 [集成插件指南](https://ads.yandex.com/helpcenter/zh/dev/unity/quick-start.md)。

3.在 Yandex Advertising Network 界面或第三方聚合账户中指定的广告单元 ID 不正确。请确保您在所有账户中使用相同的广告单元 ID。

4.Yandex Advertising Network 界面中指定的底价值与第三方聚合账户中指定的底价值不匹配。请确保您在所有账户中使用相同的底价值。

{% endcut %}


{% cut "与 Unity 集成时，遇到错误 `resource android:attr/lStar not found`" %}

您可以通过将目标 API 级别降级到版本 30 来解决此问题。详情请参阅 [本指南](https://ads.yandex.com/helpcenter/zh/dev/unity/quick-start.md#platform-specific-setup)。

但是，我们建议升级到目标 API 级别版本 31，因为 Google 对使用过时目标 API 级别版本发布更新的应用施加了限制。详情请参阅 [本文](https://developer.android.com/google/play/requirements/target-sdk)。

{% endcut %}

{% cut "在与 React Native (Android) 集成时，我遇到了错误 `Could not find any matches for com.facebook.react:react-android`" %}

要解决此问题，请在应用的 `android/build.gradle` 文件中的 `allprojects` 下添加以下代码：

```groovy
allprojects {
    repositories {
	// ...
    }

    // 这解决了与 react-native 依赖项解析相关的问题。
    configurations.all {
        resolutionStrategy.dependencySubstitution {
            substitute module("com.facebook.react:react-android") using module("com.facebook.react:react-native:+")
        }
    }
}
```

{% endcut %}


{% cut "查找类路径时发生 `Fatal Error`" %}

这可能是由 ProGuard 在构建时执行操作和重新排列引起的。如果在 `proguard config` 文件中启用了 `-keepclasseswithmembernames` 设置，则会出现此错误。请注释掉此代码或删除该行。

{% endcut %}


{% cut "在构建时发生指示无法访问资源的错误" %}

如果 `Podfile` 中的资源指定不正确，则可能会出现此错误。详情请参阅 [本指南](https://ads.yandex.com/helpcenter/zh/dev/ios/quick-start.md)。

如果错误仍然存在，请联系支持部门。

#### 联系支持部门 {#support-connect-to-resource}
<iframe width="100%" frameborder="0" src="https://forms.yandex.ru/surveys/13459627.3d86f16b1203db566f2ded9c710345d75955ac9e/?iframe=1&lang=zh-Hans"></iframe>

{% endcut %}


{% cut "`Provided block ID doesn't exist`" %}

即使在 Yandex Advertising Network 界面中创建了广告单元，但在广告请求后出现消息 `Provided block ID doesn't exist`。

请确保应用请求中指定的广告单元是来自 Yandex Advertising Network 界面的有效广告单元。

{% endcut %}


{% cut "是什么原因导致 `NoAdsAvailable` 错误？"%}

此错误表示系统无法选择广告。在测试新的不匹配设备期间可能会发生这种情况，因为我们的系统需要时间来收集有关这些设备的信息以及等待 [Crypta](https://yandex.com/company/technologies/crypta) 来获取信息。完成此过程后，广告选择开始。此错误也可能因以下原因而发生：
1.为广告单元设置的 CPM 底价过高。
1.广告单元已存档。
1.您使用的聚合不支持在俄罗斯投放广告。
1.Yandex Advertising Network 界面中应用的 BundleID 与请求广告的 BundleID 不匹配。

如果错误仍然存在，请联系支持部门。

#### 联系支持部门 {#support-no-ads-available}
<iframe width="100%" frameborder="0" src="https://forms.yandex.ru/surveys/13459627.3d86f16b1203db566f2ded9c710345d75955ac9e/?iframe=1&lang=zh-Hans"></iframe>

{% endcut %}


{% cut "广告请求无响应，出现 `Banner Rendering Failed with Timeout` 错误" %}

如果请求处理时间过长，则可能会发生此错误。请联系支持部门提供错误日志。

#### 联系支持部门 {#support-banner-rendering-failed}
<iframe width="100%" frameborder="0" src="https://forms.yandex.ru/surveys/13459627.3d86f16b1203db566f2ded9c710345d75955ac9e/?iframe=1&lang=zh-Hans"></iframe>

{% endcut %}


{% cut "发送广告请求后横幅无法加载" %}

我们建议检查传递的 AdUnitID、请求参数和横幅尺寸是否正确。代码示例：

* [Android](https://ads.yandex.com/helpcenter/zh/dev/android/adaptive-inline-banner.md)
* [iOS](https://github.com/yandexmobile/yandex-ads-sdk-ios/blob/master/Examples/YandexMobileAdsExample/YandexMobileAdsExample/Yandex/Banner/BannerViewController.swift)

{% endcut %}


{% cut "为什么横幅加载成功后就看不见了？"%}

您可能已经将 `android:visibility="gone"` 应用于可见性设置。请手动或通过代码设置 `android:visibility="visible"`。

{% endcut %}


{% cut "可以限制激励视频的持续时间吗？"%}

是的，您可以。请联系支持部门或您的专属经理。

#### 联系支持部门 {#support-limit-length-of-video}
<iframe width="100%" frameborder="0" src="https://forms.yandex.ru/surveys/13459627.3d86f16b1203db566f2ded9c710345d75955ac9e/?iframe=1&lang=zh-Hans"></iframe>

{% endcut %}


{% cut "我可以在原生广告中裁剪图片吗？"%}

您可以将主图片裁剪不超过 25%，并且只能相对于图片的中心进行裁剪。图标不能放大或裁剪，但可以在不改变宽高比的情况下缩小。详情请参阅 [原生广告](https://ads.yandex.com/helpcenter/zh/monetization/ad-unit/native.md)。

{% endcut %}


{% cut "如何在原生广告单元中嵌入视频广告和展示广告？"%}

默认情况下，原生广告单元中只能投放文字和图片广告。要在您的原生广告单元中启用视频广告和展示广告，请联系支持部门或您的专属经理。


{% note info %}

在启用它们之前，请确保您在请求中传递尺寸。详情请参阅以下指南：
* [Android](https://ads.yandex.com/helpcenter/zh/dev/android/native.md)
* [iOS](https://ads.yandex.com/helpcenter/zh/dev/ios/native.md)

{% endnote %}


#### 联系支持部门 {#support-media-in-native}
<iframe width="100%" frameborder="0" src="https://forms.yandex.ru/surveys/13459627.3d86f16b1203db566f2ded9c710345d75955ac9e/?iframe=1&lang=zh-Hans"></iframe>

{% endcut %}


{% cut "什么会导致填充率过低？"%}

由于 CPM 底价、类别或品牌屏蔽或技术问题，广告单元的填充率可能较低。要提高填充率，请确定导致问题的原因并采取措施加以解决。

有关提高广告效果的详细信息，请参阅 [帮助](https://yandex.com/support2/partner/efficiency/fill-rate.html#low-fill-rate)。

{% endcut %}


{% cut "如何记录嗅探器会话 (Сharles)？"%}

Charles 是一个在您的计算机上运行的代理服务器，允许您记录所连接设备的 HTTP 和 HTTPS 流量。记录的会话可帮助支持团队快速排除与加载和展示广告相关的问题，因为它们包含了所请求的广告单元的数据、广告版位参数、已投放横幅的相关信息以及设备的技术规格。

#### 安装 Charles {#install-charles}

1.从 [官方网站](https://www.charlesproxy.com/download/) 下载 Charles 并将其安装到您的计算机上。
1.如果应用在您首次启动时自动配置网络设置，请点击 **Grant Privileges**。
1.该应用提供 30 天的免费试用。如果您有许可证密钥，请在 Charles 菜单中选择 **Help** → **Register Charles** 并注册该应用。

有关使用该应用的详细信息，请参阅 [Charles 文档](https://www.charlesproxy.com/documentation/getting-started/)。

#### 配置代理 {#configure-proxy}

要记录移动设备的流量：

1.在 Charles 菜单中，选择 **Proxy** → **SSL Proxying Settings**。
1.启用 **Enable SSL Proxying** 选项。
1.点击 **Include Location** 下的 **Add**，并在 **Host** 字段中输入一个星号。保存更改。
1.在 Charles 菜单中，选择 **Help** → **SSL Proxying** → **Install Root Certificate on a Mobile Device or Remote Browser**。此时，Charles 应显示与您计算机的 IP 地址和默认端口 8888 相对应的代理服务器的 IP 地址和端口。
1.重新启动 Charles。
1.将您的移动设备连接到与计算机相同的 Wi-Fi 网络。前往网络设置，选择手动代理设置，然后输入代理服务器的 IP 地址和端口。

#### 安装证书 {#install-certificate}

要记录 HTTPS 流量，请在您的移动设备上安装 Charles 根 SSL 证书。请参阅 [Charles 文档](https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/) 了解更多信息。

{% list tabs %}

- Android

  1.使用默认浏览器，前往 [http://chls.pro/ssl](http://chls.pro/ssl) 下载证书。

     <!-- source: zh/support/_includes/charles-certificate.md -->
     {% note info %}

     如果无法下载证书，则可能是您计算机上的防火墙阻止了传入连接。请在防火墙设置中允许 Charles 接受传入连接，然后再次尝试下载。

     {% endnote %}
     <!-- endsource: zh/support/_includes/charles-certificate.md -->

  1.如果证书安装没有自动开始，请在设备设置中找到证书安装部分并安装 Charles 证书。将“凭证用途”设置为“VPN 和应用”。如果需要设置 PIN 码，请在相应的字段中输入您选择的 PIN 码。

  1.对于 Android 10 及更高版本，配置请求广告的应用 (APK)：

     - 在 `res/xml` 文件夹中，创建包含以下文本的 `network_security_config.xml` 文件：

         ```xml
         <?xml version="1.0" encoding="utf-8"?>
         <network-security-config>
               <base-config>
                  <trust-anchors>
                     <!-- Trust preinstalled CAs -->
                     <certificates src="system" ></certificates>
                     <!-- Trust user added CAs -->
                     <certificates src="user" ></certificates>
                  </trust-anchors>
               </base-config>
         </network-security-config>
         ```

     - 在 `AndroidManifest.xml` 文件中为 `application` 部分添加属性：

         ```xml
         <manifest>
               ...
               <application android:networkSecurityConfig="@xml/network_security_config">
                  ...
               </application>
         </manifest>
         ```

- iOS

  1.使用 Safari，前往 [http://chls.pro/ssl](http://chls.pro/ssl) 下载证书。

     <!-- source: zh/support/_includes/charles-certificate.md -->
     {% note info %}

     如果无法下载证书，则可能是您计算机上的防火墙阻止了传入连接。请在防火墙设置中允许 Charles 接受传入连接，然后再次尝试下载。

     {% endnote %}
     <!-- endsource: zh/support/_includes/charles-certificate.md -->

  1.如果证书安装没有自动开始，请前往设备设置中的 **Profile** 部分，选择 Charles 证书并安装。

  1.在设备设置中，前往 **General** → **About** → **Certificates Trust Settings** 并启用对 Charles 证书的信任。

{% endlist %}

#### 记录会话 {#record-session}

要开始或停止记录流量，请在 Charles 工具栏上点击 ![](https://yastatic.net/s3/doc-binary/src/support/mobile-ads/ru/files/charles-start.png) / ![](https://yastatic.net/s3/doc-binary/src/support/mobile-ads/ru/files/charles-stop.png)。当记录正在进行时，该按钮如下所示：![](https://yastatic.net/s3/doc-binary/src/support/mobile-ads/ru/files/charles-stop.png)。

刷新请求广告的应用中的屏幕。确保加载广告的 URL（`mobile.yandexadexchange.net/v4/ad` 或 `yandex.<domain>/ads/v4/ad`）已出现在会话中。在 Charles 菜单中，选择 **File** → **Save Session As...** 并使用 `.chls` 扩展名保存文件。

{% note tip %}

完成调试后，从设备中删除证书并禁用代理。

{% endnote %}

{% endcut %}


<!-- source: zh/support/_includes/support.md -->
<a href="../contact" class="button"> <!--ссылка, куда ведет кнопка. Если внутренняя ссылка, пишем без .md и .html -->联系支持部门</a>


<!-- endsource: zh/support/_includes/support.md -->
