SDK 相关问题排查
debug工具
如果根据正常的注册流程仍然无法在嵌入优量汇 SDK 的 app 中看到广告,可以尝试使用 logcat 排查问题。优量汇 SDK 默认设置下会对广告流程中的关键步骤打印日志,日志格式如下:
LogTag :gdt_ad_mob
过滤并保存日志,示例如下:
$adb logcat -c
$adb logcat -s gdt_ad_mob > [directory]/myLog.log
SDK 错误码
错误码 | 错误消息 | 最佳实践 |
---|---|---|
2001 | 初始化错误 | 开发者自查参数问题 |
2002 | 内部错误 | 反馈给优量汇运营,请把提供错误码和错误信息 |
2003 | SDK未初始化 | 根据 Logcat 中的错误信息提示修改嵌入代码 |
3001 | 网络异常 | 检查网络状态并重试 |
3002 | 网络超时 | 检查网络状态并重试 |
3003 | 网络不可用,无法连接到服务器 | 检查网络状态并重试 |
4001 | 初始化错误, 包括广告位为空、App ID为空、Context/Activity为空 | 根据 Logcat 中的错误信息提示修改嵌入代码 |
4002 | 请检查 Manifest 文件中的 Activity/Service/Permission 的声明是否正确以及声明的权限是否都已授予 | 根据 Logcat 中的错误信息提示修改嵌入代码 |
4003 | 广告位错误 | 根据 Logcat 中的错误信息提示修改嵌入代码 |
4004 | 开屏广告容器不可见 | 根据 Logcat 中的错误信息提示修改嵌入代码 |
4005 | 开屏广告容器的高度低于400dp | 根据 Logcat 中的错误信息提示修改嵌入代码 |
4006 | 广告接口调用顺序错误,调用点击接口前未调用曝光接口 | 根据 Logcat 中的错误信息提示修改嵌入代码 |
4007 | 当前设备或版本不支持 | 请参照本文档中相应广告类型对设备或版本的限制 |
4008 | 设备方向不适合展示广告 | 根据 Logcat 中的错误信息提示修改嵌入代码 |
4009 | 开屏广告的自定义跳过按钮尺寸低于3x3dp | 根据 Logcat 中的错误信息提示修改嵌入代码 |
4011 | 开屏广告拉取超时,请自查开屏广告的拉取超时时间设置是否过短 | 根据 Logcat 中的错误信息提示修改嵌入代码 |
4012 | 内容广告接口调用顺序错误,调用点击接口前未调用曝光接口 | 注意内容接口调用 |
4013 | 在旧版的 SDK 上使用了模板视频的广告位,需要升级 SDK | 请升级到最新版SDK |
4014 | 广告数据返回前尝试展示广告 | 开发者调整代码,在广告返回后进行展示广告的操作 |
4015 | 同一条广告不允许多次展示 | 重新拉取广告后再进行展示 |
4016 | 应用横竖方向参数与广告位支持方向不匹配 | 开发自查应用横竖屏状态与广告位支持方向是否匹配 |
5001 | 服务端数据错误 | 建议稍后重试,如果重试仍然有错误,请反馈给优量汇运营 |
5002 | 视频素材下载错误 | 建议稍后重试,如果重试仍然有错误,请反馈给优量汇运营 |
5003 | 视频素材播放错误 | 建议稍后重试,如果重试仍然有错误,请反馈给优量汇运营 |
5004 | 未匹配到合适的广告 | 此情况下禁止多次重试请求广告,否则可能影响系统对您流量的评价从而影响变现效果 |
5005 | 广告请求量或者消耗等超过日限额,请明天再请求广告 | 请明天再发起请求(由于数据延迟问题,建议第二天的00:30之后再发起请求) |
5006 | 包名校验错误,当前 App 的包名和优量汇官网注册媒体时填写的包名不一致,因此无广告返回 | 请检查接入优量汇 SDK 的 App 包名是否和注册时填写的一致,否则将影响您的收益 |
5007 | 资源加载错误 | 建议稍后重试,如果重试仍然有错误,请反馈给优量汇运营 |
5008 | 图片加载错误 | 建议稍后重试,如果重试仍然有错误,请反馈给优量汇运营 |
5009 | 广告请求量或者消耗等超过小时限额,请一小时后再请求广告 | 请一小时后再请求广告 |
5010 | 广告样式校验失败,请检查广告位与接口使用是否一致 | 目前后台开放权限的是平台模板广告,请根据平台模板广告的接入文档进行接入,如果是按照自渲染广告接入文档进行接入的话,也会报错107034 |
5011 | 平台模板渲染失败 | 这种情况一般是平台模板在服务端渲染失败,导致返回的数据和模板数不一致导致的,请将该问题反馈给优量汇运营排查 |
5012 | 广告数据过期 | 部分广告(如激励视频)可以预拉取,拉取广告后广告数据会有存在一个过期时间,当开发者调用展示广告的接口但此时当前时间已经超过过期时间时会返回此错误码 |
5013 | 广告请求过于频繁 | 请求过于频繁,服务器繁忙时会返回该错误码,请检测与控制请求频率 |
5018 | 广告位PosId被封 | 由于后台设置或者反作弊导致PosId对应的广告位被封锁,请联系优量汇运营排查 |
5019 | 广告AppId被封 | 由于后台设置或者反作弊导致AppId对应的广告位被封锁,请联系优量汇运营排查 |
5021 | 该类型广告已下线 | 该广告类型已废弃,不再返回广告,请使用其他类型广告 |
5022 | 模板激励视频渲染失败 | 建议稍后重试,如果重试仍然有错误,请反馈给优量汇运营 |
5041 | 断点续安装提示 | loadGDTApk() 接口的调用过于频繁 |
5042 | 断点续安装提示 | 断点续安装提示 loadGDTApk() 和 startInstall(GDTApk apk) 接口的调用间隔时间过长 |
5043 | 断点续安装提示 | 调用 startInstall(GDTApk apk) 时,Apk 文件不存在 |
5044 | 断点续安装提示 | 调用 loadGDTApk() 时,当前不存在有效的 Apk 文件 |
5045 | 断点续安装提示 | 断点续安装提示接口的功能未开启,需要申请 |
其他 | 未知错误 | 请把问题反馈给优量汇运营排查,提供错误码和错误信息 |
SDK错误码找不到的6000错误可点击连接查询
注意事项
- 确保所使用的
android-support-v4.jar
包中的android.support.v4.app.NotificationCompat.Builder
类包含setProgress
方法,如果不包含此方法请升级 android 开发套件 为了使 SDK 在多进程 APP 内正常运行需要在代码调用广告相关 API 之前调用:
/*仅限于和 DownloadService 的不在同一进程的 Activity*/ MultiProcessFlag.setMultiProcess(true);
一次请求多少条广告合适:我们限制一次请求1-10条广告,具体一次请求几条广告,与您的优化策略有关
如果你的目标是优化填充率,那么一次应该请求更多的广告
- 广告返回后,我们会在客户端对返回的广告进行处理,其中包括广告过滤,如果请求广告过少,则有可能过滤掉全部返回的广告,导致无填充
- 一次请求更多广告并缓存使用,可减少广告请求超时带来的填充率下降
如果你的目标是优化CPM,那么一次应该请求更少的广告
- 单次请求内的多条广告的预估CPM是递减的。请求的广告越多,广告的平均预估CPM越低
- 我们的广告匹配算法致力于为当前用户在当前环境下找到最匹配的广告。缓存广告可能使得在广告曝光时,用户环境、广告状态等已经与请求时不同,使得缓存的广告已经不是当前最佳匹配广告,也就是说,并不是当前最高CPM的广告