错误处理与常见问题
适用于 IFLYADLib 6.5.1。接入概览。完整方法签名以所安装版本的公开头为准。
生命周期
所有格式都通过对应 delegate 的 didFailWithError: 返回 IFLYAdError。无填充、网络错误、超时、素材不完整和容器无效都应允许业务结束本次展示并按业务策略重试;不要在失败回调中无限重试。
DidLoad:响应解析成功,素材可能还在下载。DidReady:SDK 管理的主素材已就绪,可以展示;NativeFeed 没有DidReady,在DidLoad后完成自渲染并 attach。isAdValid:展示前检查实例仍可用。destroy:主动终止仍被持有的广告;NativeFeed 列表正常离屏只需 detach。- 页面销毁时置空 delegate、detach 活动 NativeFeed 容器并释放强引用。
常见问题
| 问题 | 处理方式 |
|---|---|
-ObjC 缺失 | 在最终 App target 的 Other Linker Flags 添加 -ObjC,不要只添加到业务静态库 target。 |
| Banner 不展示 | 确认 showInView: 调用时容器已布局且宽度大于 0。 |
内置广告在 DidLoad 展示失败 | 改为等待 DidReady,并在展示前检查 isAdValid。 |
| NativeFeed attach 失败 | 确认在主线程调用、容器非空、视频传入 videoView,且 clickViews 与 interactionType 匹配。 |
| IDFA 为空 | 检查 ATT 授权、NSUserTrackingUsageDescription 和授权后重新读取逻辑;不要使用固定 IDFA。 |
| 激励重复发放 | 只处理一次 didRewardEffective,不要用关闭或播放完成回调发奖。 |
可左右滚动查看完整表格
反馈与支持
请通过双方约定的支持渠道提交问题,并附 SDK 版本、iOS/Xcode 版本、接入方式、广告形式、复现步骤和错误码。日志与截图先去掉 token、设备标识、个人信息和业务敏感参数。
版本变更见 更新记录。