优酷定制 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 / 70404 | S2S token 为空或无效;检查服务端返回及使用时机 |
71406 / 71603 | 插屏 / 开屏未就绪;等待对应 didReady |
71410 / 71604 | 展示控制器不可用;确认页面已进入 window 且可呈现 |
71502 / 71504 | NativeFeed 容器 / 视频承载视图无效;检查层级、尺寸和视图类型 |
71503 | 点击视图无效;保留 <point> 与中文提示定位 |
71506~71508 | NativeFeed 已过期、已关闭或已销毁;创建新实例 |
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;广告位及其他联调信息通过双方约定的支持渠道提供。版本变更见 更新记录。