跳到主要内容

5.1 排查指南

本指南面向已经完成 Mediation SDK 接入、但广告无法加载或展示的开发者。请按“初始化 → 云控 → 广告源集成 → 请求与填充 → 展示”的顺序排查,不要在未确认测试模式时点击正式广告。

30 秒快速检查​

  • 使用文档中当前版本的 mediation-lib 和对应广告源 *-lib,不要混用不同版本。
  • 初始化使用正式且有效的 App ID,并确认应用包名与平台配置一致。
  • 广告位 ID、广告类型和调用的 API 一致,例如插屏广告位使用 TInterstitialAd。
  • 设备网络可用,测试国家或地区在广告位投放范围内。
  • 测试广告配置已按集成测试完成;不同广告源的测试模式可能需要分别配置。
  • 在 onCloudComplete 回调完成后再调用 loadAd()。
  • 已实现并记录 onError() 和 onShowError() 返回的错误码与错误信息。

第一步:确认初始化和云控结果​

在初始化时设置云控回调,记录 code 和 message。code == 0 后再发起广告请求;非 0 时先处理初始化或云控问题。

.setCloudCompleteListener(new TAdManager.OnCloudCompleteListener() {
@Override
public void onCloudComplete(int code, String message) {
// 使用应用现有日志系统记录code和message
if (code == 0) {
// 在此处请求广告
}
}
})

常见分流:

  • 60001:App ID 无效或为空,检查初始化参数。
  • 70001~70006:云控请求、App ID、包名、系统或平台应用状态异常。
  • 70007:本地未找到广告位配置;确认广告位已经生效、投放地区正确,并在云控成功后再加载。
  • 70011~70013:广告位未配置广告源、API 与广告类型不匹配,或广告位已关闭。

错误码的完整处理建议请查看错误定位。

第二步:确认广告源已经集成​

如果云控成功但始终没有广告,请检查:

  1. 对应广告源的 *-lib 依赖已经加入,并与 mediation-lib 使用相同版本。
  2. 已完成该平台要求的 Maven 仓库、Manifest、App ID、混淆和网络配置。
  3. 广告源 SDK 版本符合三方版本库适配要求。
  4. 其他广告源未出广告时,先确认对应广告源是否集成成功。开启SDK日志后查看以下日志,exist = true表示该广告源已经集成成功:
例如:
...
platform classname = com.hisavana.adxlibrary.check.ExistsCheck exist = true
platform classname = com.hisavana.admoblibrary.check.ExistsCheck exist = true
platform classname = com.hisavana.fblibrary.excuter.check.ExistsCheck exist = true
...

出现 30001 通常表示广告源初始化失败。先检查依赖和平台参数;仍无法解决时,将初始化阶段完整日志提交给 SDK 支持人员。

第三步:开启日志并记录回调​

Debug 构建可使用 .setDebug(BuildConfig.DEBUG) 开启 SDK 日志,也可以在测试设备执行:

adb shell setprop log.tag.ADSDK DEBUG
adb shell setprop log.tag.AD_NET_LOG DEBUG
adb logcat | grep ADSDK

ADSDK_M 用于聚合主流程日志,ADSDK_N 用于广告网络请求日志。复现问题时记录 onError() 和 onShowError() 的错误码及错误信息:

@Override
public void onError(TAdErrorCode errorCode) {
if (errorCode == null) {
return;
}
int code = errorCode.getErrorCode();
String message = errorCode.getErrorMessage();
// 使用应用现有日志系统记录code和message
}

@Override
public void onShowError(TAdErrorCode errorCode) {
if (errorCode == null) {
return;
}
int code = errorCode.getErrorCode();
String message = errorCode.getErrorMessage();
// 使用应用现有日志系统记录code和message
}

第四步:根据结果分流​

现象常见错误码排查方向
初始化或云控未完成60001、70001~70007检查 App ID、包名、网络和平台配置,等待云控回调
广告源初始化失败30001检查对应 *-lib、平台 App ID、Manifest、混淆和版本兼容
请求超时或无填充20001~20008、30002~30006、Hisavana SSP 9000 系列检查网络、测试模式、广告位投放、平台库存和广告源参数
onLoad() 已回调但无法展示40001~40002、50001、60002、60006~60007确认在加载成功后展示、对象未销毁、广告未重复展示,并检查场景限制

只有 onLoad() 成功表示广告已经加载;展示阶段失败应以 onShowError() 为准。平台特有问题请继续查看常见问题。

提交问题时需要提供的信息​

如果仍无法解决,请一次性提供以下信息,避免只提交“没有广告”的截图:

  • Mediation SDK 版本和广告源 Adapter 版本。
  • 应用包名、广告位 ID、广告类型和目标广告源。
  • 问题发生时间(含时区)、国家或地区、网络类型、设备型号和 Android 版本。
  • 是否开启测试模式,以及使用测试广告位还是真实广告位。
  • onCloudComplete、onError 或 onShowError 的完整 code/message。
  • 从初始化开始到失败回调结束的 ADSDK_M、ADSDK_N 日志。

提交日志前请删除与问题无关的用户信息,不要公开真实 App ID、广告位密钥或完整广告响应。