本页目录

IFLYADLib iOS SDK

当前版本:6.5.1。本版已通过 CocoaPods、SwiftPM、手动集成的安装及 arm64 模拟器/设备架构构建验证;真机广告展示仍需在宿主 App 中联调。

面向 iOS 应用的广告 SDK,提供开屏、Banner、插屏、自渲染信息流和激励视频,支持按广告形式组合接入。本仓库提供安装清单、接入指南和 Objective-C 示例。

指南目录 · 运行示例 · 安装与分包 · 配置与隐私 · 常见问题

能力矩阵

广告形式公开入口接入指南示例代码
开屏IFLYSplashAd图片与视频开屏开屏页面
BannerIFLYBannerAd容器内展示Banner 页面
插屏IFLYInterstitialAd半屏与全屏插屏页面
自渲染信息流IFLYNativeFeedAd图文、视频与列表复用基础卡片、列表复用
激励视频IFLYRewardVideoAd展示与奖励回调激励页面

可左右滚动查看完整表格

开屏、Banner、插屏和激励视频由 SDK 展示 UI;NativeFeed 由媒体绘制 UI,SDK 负责广告交互和视频播放。

环境要求

项目说明
系统iOS 11.0 及以上
CocoaPodsIFLYADLib,默认安装 Full;也可选择格式 subspec
Objective-C 导入#import <IFLYAdCore/IFLYAdCore.h>,并导入所用格式模块头
Swift 导入import IFLYAdCore,并导入所用格式模块,如 import IFLYAdBanner
模块与资源IFLYAdCore 等按格式拆分模块;资源按 Core、VideoUI、Reward 投递,依赖关系见安装指南
链接静态 XCFramework,选择 Do Not Embed;最终 App target 需要 $(inherited) -ObjC
共存同一 App 选择一种安装方式;通用版与优酷定制版不能同时链接,其他渠道也不承诺共存

可左右滚动查看完整表格

升级到 6.5.1

七模块 XCFramework 采用带 modulemap 的静态 framework。Swift 可直接导入模块,无需为本 SDK 配置 bridging header;Objective-C 需从旧 <IFLYADLib/...> 路径迁移。步骤见Swift 模块接入与头路径迁移。

安装

首次接入可使用 CocoaPods,按 CocoaPods 官方 trunk 安装固定版本:

source 'https://cdn.cocoapods.org/'
platform :ios, '11.0'

target 'YourApp' do
  use_frameworks!
  pod 'IFLYADLib', '6.5.1'
end
pod install
open YourApp.xcworkspace

该写法安装全部五种格式,CocoaPods 自动配置资源和 -ObjC。当前通过 CocoaPods trunk 获取版本清单,二进制仍由 TOS 分发。仅需部分格式时替换为对应 subspec;Core 本身不包含广告形式。

首次使用

  1. 取得与当前 App、广告形式匹配的广告位,完成宿主隐私流程及所需的系统授权;SDK 无需额外的全局初始化实例。
  2. 创建具体广告对象,设置 delegate 与展示控制器,并由业务强持有。
  3. 调用 loadAd 或 loadAdWithRequestConfig:。开屏、Banner、插屏、激励视频等待 DidReady;NativeFeed 在 DidLoad 后渲染素材并 attach。
  4. 在主线程检查对象有效性及宿主页面状态,再展示。失败、超时或放弃本次机会时继续宿主流程;下一次广告机会创建新实例。

完整流程见上方各格式指南。DidLoad 表示响应解析成功,不代表内置素材已就绪;展示与有效曝光是不同事件。激励奖励只依据 didRewardEffective 回调,由宿主做幂等处理。

初始化、隐私和请求配置

请求前的授权、IDFA、个性化状态、ATS 和展示窗口要求见配置与隐私。个性化设置用于记录媒体选择,宿主应独立管理同意流程与 SDK 使用时机。

请求配置

常用字段、普通加载方式和示例辅助方法见请求配置。交易参数按平台约定设置。

开屏广告

见开屏广告指南。包含加载、窗口要求、跳过、关闭与失败后的业务收尾。

见Banner 广告指南。在已布局的媒体容器中展示。

插屏广告

见插屏广告指南。在业务合适时机选择半屏或全屏展示。

激励视频广告

见激励视频广告指南。区分奖励、播放完成与广告关闭。

自渲染信息流

见自渲染信息流指南。列表离屏按具体容器同步 detach,保留数据层 Ad 以便回屏恢复;永久移除时清理引用。通用版不支持媒体摇一摇上报,相关调用返回 71512。

S2S 和 Header Bidding

已开通竞价的媒体按竞价接入指南处理 Token、加载和竞价结果通知;普通接入使用前述加载方式。

错误处理与生命周期

见生命周期与清理。将加载、素材、展示和交互失败分开处理,避免无间隔重试。

三种接入示例

最新示例请从 main 分支源码 ZIP 下载并解压,或克隆 main;下面各 README 说明进入哪个目录及如何运行。接入自己的 App 请从安装指南开始,包含完整下载、资源来源、Xcode 配置和安装检查。

接入方式独立示例首次准备
CocoaPodsIFLYADLibSimple在示例目录运行 pod install
SwiftPMIFLYADLibSwiftPMSimple打开 workspace,解析远程 6.5.1 包
手动集成IFLYADLibManualSimple运行示例内 准备SDK.py,再打开 workspace

可左右滚动查看完整表格

三种示例均固定使用 SDK 6.5.1,具体运行步骤见各自 README。同一 App 只选择一种接入方式。

示例工程

IFLYADLibSimple 提供五种格式、六个页面。指南包含下载运行、广告位配置、页面操作与预期结果。示例依赖固定为 6.5.1,移入生产 App 时保留自己的隐私流程和业务生命周期。

常见问题

找不到头文件、重复符号、资源缺失、未就绪和无填充等问题见常见问题。完整接口和错误码以所安装版本的公开头为准。

反馈与支持

接入问题请通过双方约定的支持渠道提供 SDK/iOS/Xcode 版本、安装方式、广告形式、操作步骤和错误码。日志与截图先去除 Token、设备标识和业务敏感信息。

更新记录 · 使用许可 · 安全问题报告