SDK 集成问题排除

我如何测试集成是否成功?

您可以通过以下方式之一检查集成是否成功:

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

有关测试集成的更多信息,请参阅 Yandex Mobile Ads SDK 部分:

实施按钮返回不正确的 SDK 集成

请确保:

您还可以使用 集成调试模式

可能的集成错误

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

  1. 适配器未连接或连接不正确。请参阅有关对接第三方聚合平台的说明:

  2. Unity 应用的 Unity 插件尚未集成。请参阅 集成插件指南

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

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

与 Unity 集成时,遇到错误 resource android:attr/lStar not found

您可以通过将目标 API 级别降级到版本 30 来解决此问题。详情请参阅 本指南

但是,我们建议升级到目标 API 级别版本 31,因为 Google 对使用过时目标 API 级别版本发布更新的应用施加了限制。详情请参阅 本文

在与 React Native (Android) 集成时,我遇到了错误 Could not find any matches for com.facebook.react:react-android

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

allprojects {
    repositories {
	// ...
    }

    // 这解决了与 react-native 依赖项解析相关的问题。
    configurations.all {
        resolutionStrategy.dependencySubstitution {
            substitute module("com.facebook.react:react-android") using module("com.facebook.react:react-native:+")
        }
    }
}
查找类路径时发生 Fatal Error

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

在构建时发生指示无法访问资源的错误

如果 Podfile 中的资源指定不正确,则可能会出现此错误。详情请参阅 本指南

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

联系支持部门

Provided block ID doesn't exist

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

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

是什么原因导致 NoAdsAvailable 错误?

此错误表示系统无法选择广告。在测试新的不匹配设备期间可能会发生这种情况,因为我们的系统需要时间来收集有关这些设备的信息以及等待 Crypta 来获取信息。完成此过程后,广告选择开始。此错误也可能因以下原因而发生:

  1. 为广告单元设置的 CPM 底价过高。
  2. 广告单元已存档。
  3. 您使用的聚合不支持在俄罗斯投放广告。
  4. Yandex Advertising Network 界面中应用的 BundleID 与请求广告的 BundleID 不匹配。

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

联系支持部门

广告请求无响应,出现 Banner Rendering Failed with Timeout 错误

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

联系支持部门

发送广告请求后横幅无法加载

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

为什么横幅加载成功后就看不见了?

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

可以限制激励视频的持续时间吗?

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

联系支持部门

我可以在原生广告中裁剪图片吗?

您可以将主图片裁剪不超过 25%,并且只能相对于图片的中心进行裁剪。图标不能放大或裁剪,但可以在不改变宽高比的情况下缩小。详情请参阅 原生广告

如何在原生广告单元中嵌入视频广告和展示广告?

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

备注

在启用它们之前,请确保您在请求中传递尺寸。详情请参阅以下指南:

联系支持部门

什么会导致填充率过低?

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

有关提高广告效果的详细信息,请参阅 帮助

如何记录嗅探器会话 (Сharles)?

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

安装 Charles

  1. 官方网站 下载 Charles 并将其安装到您的计算机上。
  2. 如果应用在您首次启动时自动配置网络设置,请点击击 Grant Privileges
  3. 该应用提供 30 天的免费试用。如果您有许可证密钥,请在 Charles 菜单中选择 HelpRegister Charles 并注册该应用。

有关使用该应用的详细信息,请参阅 Charles 文档

配置代理

要记录移动设备的流量:

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

安装证书

要记录 HTTPS 流量,请在您的移动设备上安装 Charles 根 SSL 证书。请参阅 Charles 文档 了解更多信息。

  1. 使用默认浏览器,前往 http://chls.pro/ssl 下载证书。

    备注

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

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

  3. 对于 Android 10 及更高版本,配置请求广告的应用 (APK):

    • res/xml 文件夹中,创建包含以下文本的 network_security_config.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 部分添加属性:

      <manifest>
            ...
            <application android:networkSecurityConfig="@xml/network_security_config">
               ...
            </application>
      </manifest>
      
  1. 使用 Safari,前往 http://chls.pro/ssl 下载证书。

    备注

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

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

  3. 在设备设置中,前往 GeneralAboutCertificates Trust Settings 并启用对 Charles 证书的信任。

记录会话

要开始或停止记录流量,请在 Charles 工具栏上点击 / 。当记录正在进行时,该按钮如下所示:

刷新请求广告的应用中的屏幕。确保广告下载 URL 出现在会话中:mobile.yandexadexchange.net/v4/ad。在 Charles 菜单中,选择 FileSave Session As... 并使用 .chls 扩展名保存文件。

提示

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

联系支持部门

上一篇
下一篇