错误与诊断

 

SDK错误处理机制

在集成SDK进行初始化、广告加载、展示的过程中,如果发生任何的异常或操作失败,如广告无填充、展示失败等,SDK都会在回调接口的失败事件中返回对应的错误信息,包括错误码和错误消息,来指示当前问题的具体原因。

如,初始化操作是通过InitCallback回调接口的onError事件方法,而广告展示操作则是通过各个广告单元的Listener回调接口,如激励视频的RewardedVideoListener 回调接口,通过回调事件方法onRewardedVideoAdShowFailed来通知激励视频加载展示过程中可能出现的失败,事件的唯一参数error是一个Error类的对象,从中解析到错误码和错误消息。具体参见Android SDK下载与集成广告单元

由于激励视频和插屏广告由智能库存引擎自动加载和缓存广告,没有load方法和对应的事件回调,广告加载相关的失败提示通过SDK日志返回,您可以在日志中获取到错误码和错误消息。

错误码

错误码和对应的错误原因说明:

错误码 错误消息 描述
初始化相关
111 invalid request 初始化请求无效,可能原因是无效的参数(如AppKey错误)或SDK配置错误(如Manifest.xml文件配置错误)
121 network error 无网络连接
131 server error 服务器响应码非 200
132 server error 服务器返回数据体为空
133 server error SDK解析数据失败,可能是服务器返回数据格式不正确
135 server error 服务器响应失败或无响应,可能原因是网络不佳导致消息传输出错,或服务器内部错误
151 unknown internal error 不可预见的异常,如Activity被销毁导致的失败
加载相关
211 Invalid request 加载请求无效,可能原因是无效的参数(如placementID 错误)或SDK配置错误(如Manifest.xml文件配置错误)
221 network error 无网络连接
231 server error 服务器响应失败或无响应,可能原因是网络不佳导致消息传输出错,或服务器错误
241 No ad fill 请求已成功送达,但没有可用广告
242 SDK not initialized SDK 未初始化,请先初始化SDK再加载广告
243 reached request cap 广告请求达到频次控制的限制
244 missing AdNetwork SDK/Adapter 缺少第三方平台SDK或adapter包导致该instance初始化和加载广告失败
245 adapter returned an error or no fill 第三方平台返回广告加载失败或无填充
251 unknown internal error 不可预见的异常,如Activity被销毁导致的失败
展示相关
311 invalid request 展示广告时存在scene参数错误的问题
341 ad not ready 没有可用的广告。展示广告前调用isReady检查库存可避免此错误
342 SDK not initialized SDK未初始化。在加载展示广告前需要先初始化SDK
343 reached scene impression cap 达到了广告展示的频次控制的限制
345 failure 展示广告失败
351 unknown internal error 不可预见的异常,如Activity被销毁导致的失败

 

诊断

 

1. 错误码 111 - SDK init: invalid request

诊断:在进行sdk初始化方法init调用时收到”SDK init: invalid request“的失败回调,意味着当前初始化请求存在问题且没有被有效的发出,一般是由于方法调用的参数存在错误或SDK所需的运行环境(如manifest文件的权限配置)存在错误导致,建议根据帮助文档Andrdoid SDK下载与集成对初始化方法的参数和环境配置进行检查确认。可能存在问题的地方有:

  • 无效的AppKey参数:请检查appkey参数格式与内容是否正确,确定所使用的参数与您在OpenMediation UI 前台申请的AppKey完全一致。
  • Activity无效:请传入一个合法存在的activity对象作为初始化方法的参数,建议在Activity的onCreate事件中进行sdk初始化操作。参考帮助中心 Android SDK下载与集成初始化部分。
  • WebView not supported:当前设备不支持WebView,OpenMediation 广告依赖WebView展示。处理方法:请更换设备重试,确保设备支持WebView
  • AndroidManifest.xml中缺少必须的权限设置:请检查是否添加了INTERNET和ACCESS_NETWORK_STATE权限,SDK需要此两个权限访问网络。处理方法:请在AndroidManifest.xml配置文件中添加这两个权限,具体参考帮助中心 Android SDK下载与集成更新AndroidManifest.xml配置 部分内容。

 

2. 错误码 121 - SDK init: network error
诊断: 在进行sdk初始化方法init调用时收到”网络错误“的回调,意味着您当前的设备没有互联网连接。
解决办法:建议检查设备并打开wifi或蜂窝网络(并确保设备内SIM卡是可用的),以确保设备具有有效的互联网连接


3. 错误码151 - SDK init: unknown error
诊断:在进行sdk初始化方法init调用时收到”未知错误“回调,意味着程序中存在未知的错误,如activity被destroy,或其他未知的运行时异常。
解决办法:

  • 首先检查app是否在初始化期间对activity做了destroy操作。不要将临时的activity对象作为参数传递给SDK,或者在初始化过程中对activity进行finish或destroy操作。SDK的初始化过程包括对第三方mediation network SDK的初始化操作,整个过程都会需要一个合法存在的activity对象,如果使用了临时的activity对象,极可能在未完成初始化的时候就destroy或finished了,就会产生UnKnownException。
  • 确认activity对象为非临时对象且未进行destroy操作之后,如果问题依旧存在,请联系我们的技术支持,通过email或ticket方式,上传日志和设备、媒体相关信息。


4. 错误码131 - SDK init: server error
诊断:初始化时收到”服务器响应失败“回调,可能网络不稳定导致向服务器请求初始化时出错,AppKey 不正确或服务器发生内部错误。

解决办法:请检查网络后重新尝试。如果问题依旧存在,请联系我们的技术支持,通过email或ticket方式,上传日志和设备、媒体相关信息。

 

**********广告加载相关错误码************

5. 错误码241 - Ads loading: No ad fill
诊断:请求成功,没有广告可用。服务器没有返回可用的instance,需要检查mediation rule设置,确认waterfall中有active的instance或weight设置不为0。可能您没有配置任何mediation rules,OpenMediation 在当前地区也没有合适的广告可填充。也可能当前设备或媒体的服务受到限制,需检查publisher账号状态、app状态、设备的广告追踪设置、SDK版本等。
解决办法:请按下面步骤逐步操作并尝试

  • 请检查并确认app是否处于激活状态。如app被删除或暂停服务,请联系我们的技术支持,可通过email或ticket方式,务必填写设备和媒体相关信息,并上传SDK日志。
  • 如果您使用了聚合功能,请检查mediation rules配置,确保至少有一个active的instance,并且instance的weight不能为0
  • 分别尝试更换设备、更换IP地址、切换wifi等操作后进行请求,或将当前设备添加到测试模式中,以排除特定设备、投放地域和网络的限制,如该设备设置了限制广告跟踪,或当前地域无匹配广告。
  • 请更新最新版的SDK再进行尝试,以排除低版本SDK被限制服务的情况
  • 如果问题依旧存在,请联系我们的技术支持,可通过email或ticket方式,务必填写设备和媒体相关信息,并上传SDK日志。


6. 错误码242 - Ad loading: SDK not initialized
诊断:App未对SDK进行初始化调用,无法进行加载广告操作,App应首先调用SDK的init()方法并确保成功后才能进行广告的加载和展示。
解决办法:请检查代码是否在合适的时候进行了SDK的初始化调用。我们建议在应用的activity的onCreate事件中进行sdk初始化操作,并确保未使用临时的activity或未对activity进行destroy操作。参考帮助中心 Android SDK下载与集成初始化部分。


7. 错误码243 - Ad loading: reached impression cap
诊断:当前广告请求因展现广告数已达到频次控制的限制。
解决办法:请在 OpenMediation 开发者前台检查广告位和instance的频次控制设置,按设置的频次和间隔进行广告请求,或解除频次控制后再次尝试。


8. 错误码244 - Instance loading failure: missing AdNetwork SDK/Adapter
诊断:WaterFall中 instance 所需的 AdNetwork SDK 或 Adapter 没有集成
解决办法:添加缺失的第三方平台的 SDK 和 Adapter,参考帮助中心 Add Mediation Networks 向导内容完成所需平台的 SDK 和 adapter 的集成。


9. 错误码245 - Instance loading failure: adapter returned an error
诊断:Instance广告加载失败,具体原因请依据日志中第三方平台sdk返回的错误信息进行判断
解决办法:根据返回的adn加载失败信息,查阅第三方平台的帮助文档,获得解决问题的方法。一般性的解决方法为如下:

  • 如果返回nofill 类型的错误: 尝试更换设备、更换IP地址、切换wifi等操作后进行请求,或将当前设备添加到该平台的测试模式中,以排除特定设备、投放地域和网络的限制。
  • 如果在实际运营中该平台的填充率较低,可以尝试降低该instance的底价,如果该问题依旧存在,建议更换其他平台
  • 如果返回频次受限,则请放宽该平台广告的加载频次控制
  • 如果返回平台内部错误,如超时或无效响应、请求广告出错、网络加载数据出错、服务器未知错误等,且多次尝试问题依旧,则建议更换其他平台尝试,或等平台恢复稳定后再次尝试。
  • 如果返回其他错误,如参数错误、无效的请求等,请通过email或ticket方式联系我们技术支持,上传日志和设备、媒体相关信息,帮助排查问题。

 

**********广告展示相关错误码************

10. 错误码:341

诊断:无广告可显示
解决办法:当前库存无广告,请等待onavailable事件通知。您可以在每次展示广告前通过isReady()接口检查库存情况,提前获取库存情况,便于应用根据库存情况调整广告场景

 

11. 错误码:343

诊断:当前场景已达到当前会话的频次控制上限,展示被限制
解决办法:
检查您在广告位设置的scene的频次和步长,确认是否正常。

 

12. 错误码:311

诊断:scene参数填写错误。
解决办法:检查您在广告位设置的scene列表,确认代码中所填scene名字与前台配置是否一致。如果您没有设置任何scene,则可以忽略这个错误。

 

13. 错误码:351

诊断:未知异常。在进行广告展示时收到”未知错误“回调,意味着程序中存在未知的错误,如activity被destroy,或其他未知的运行时异常。

解决办法:请参考错误码151解决。

 

14. 错误码:345

诊断:展示广告失败。

解决办法:对于 OpenMediation 的广告,请联系我们技术支持。如果是第三方平台的广告展示失败,请参阅第三方平台帮助文档。

 

这篇文章有帮助吗?
2 人中有 1 人觉得有帮助

评论

0 条评论

文章评论已关闭。