本页目录

优酷定制 SDK 生命周期与排错

适用于本仓库 SDK 6.5.1。API 以所安装版本的 framework 公开头为准。

接入概览

广告回调在主线程执行。持有广告实例和代理,所有 UI 操作在主线程完成;异步图片回调须确认仍属于当前广告和当前 Cell。

阶段回调 / 返回值处理建议
请求didFailWithError:记录 errorCode 和 errorDescription,按业务策略结束或有限重试
内置素材就绪splashAdDidReady: / interstitialAdDidReady:检查 isAdValid 及页面状态后展示
NativeFeed 数据返回nativeFeedAdDidLoad:准备宿主 UI,再 attach;不等同于素材已显示
NativeFeed 绑定attach 返回值与 didFailToRenderWithError:两者可能描述同一次失败,避免重复弹窗或重复重试
点击拒绝nativeFeedAd:didRejectClickWithError:按 71503 描述修正视图,禁止绕过 SDK 补报或跳转
跳转结果对应 didJumpWithSuccess:与点击事件分开记录;失败不等于加载失败
广告关闭对应 AdDidClose:移除展示内容并清理引用;落地页返回回调不等于广告关闭

可左右滚动查看完整表格

常见错误可先按下表处理,完整枚举见所安装 SDK 的 IFLYAdError.h:

错误码含义与排查方向
70204无广告填充;确认广告位投放、测试应用和设备条件,保留内容页继续使用
70400 / 71005广告位无效 / 为空;检查渠道、形式和配置值
71003 / 71006网络错误 / 请求超时;检查连接和请求耗时,避免无限重试
70401 / 70404S2S token 为空或无效;检查服务端返回及使用时机
71406 / 71603插屏 / 开屏未就绪;等待对应 didReady
71410 / 71604展示控制器不可用;确认页面已进入 window 且可呈现
71502 / 71504NativeFeed 容器 / 视频承载视图无效;检查层级、尺寸和视图类型
71503点击视图无效;保留 <point> 与中文提示定位
71506~71508NativeFeed 已过期、已关闭或已销毁;创建新实例
71513~71515摇一摇未满足可见条件、已处理点击或调用线程错误

可左右滚动查看完整表格

页面永久退出或放弃开屏/插屏展示时,先置空 delegate,再 destroy 并释放强引用。不要在普通 viewDidDisappear: 中无条件销毁:它也可能由广告、落地页或其他页面暂时覆盖触发。已 destroy 的实例不再用于新请求。NativeFeed 列表正常离屏按自渲染信息流中的容器解绑流程处理。

常见问题

问题处理方式
找不到 Banner 或 Reward 类这两个能力不在优酷 6.5.1 产物中。
与标准版同时链接时报符号冲突优酷版和标准版都使用 IFLY* 符号,同一 App 只能选择其中一个。
-ObjC 缺失在最终 App target 的 Other Linker Flags 添加 -ObjC。
NativeFeed 绑定失败确认主线程调用、容器非空、视频传入 videoView,并让点击视图与 interactionType 匹配。
IDFA 为空检查 ATT 授权和 NSUserTrackingUsageDescription;授权完成后重新读取。
资源缺失确认 IFLYPlayer.bundle 已由 CocoaPods 投递,或已在手动集成时加入 Copy Bundle Resources。

可左右滚动查看完整表格

日志与反馈

排错时可临时调用 [IFLYAdConfig setLogEnabled:YES],查看 Xcode Console。发布包仅输出错误和诊断日志,打开开关也不会恢复完整请求/响应日志;不应依靠日志输出量判断请求是否成功。

请通过双方约定的支持渠道提交问题,并附 SDK 版本、iOS/Xcode 版本、接入方式、设备型号、广告形式、复现步骤和完整错误码。提交前移除 IDFA、token、用户信息、完整请求/响应和带参数的监测 URL;广告位及其他联调信息通过双方约定的支持渠道提供。版本变更见 更新记录。