Adtalos Taku iOS 接入文档
1. 集成说明概览
- 聚合 SDK:AnyThink iOS(
AnyThinkSDK) - Adtalos Taku 适配器 SDK:
AdtalosAdKitTakuAdapter - 主要广告形式:
- 开屏广告
- 插屏(半屏 / 全屏)
- 激励视频
- 横幅 Banner
- 信息流(模版/自渲染)
2. 环境与工程配置
2.1 Xcode / iOS 要求
- Xcode:建议使用最新稳定版
- iOS 最低支持版本:根据 AnyThink / AdtalosAdKit 官方要求配置(一般为 iOS 11+)
2.2 手动集成
- 下载
AdtalosAdKit.xcframework和AdtalosAdKitTakuAdapter.xcframework - 将
AdtalosAdKit.xcframework和AdtalosAdKitTakuAdapter.xcframework拖拽到 Xcode 项目中 - 在
General->Frameworks, Libraries, and Embedded Content中添加AdtalosAdKit.xcframework和AdtalosAdKitTakuAdapter.xcframework - 确保
Embed选项设置为Embed & Sign
2.3 Taku 后台添加自定义广告平台配置
在 Taku 后台中需要为 Taku 添加自定义广告平台,并配置对应的 Adapter 类名:
- 开屏:AdtalosSplashAdapter
- 插屏:AdtalosInterstitialAdapter
- 激励:AdtalosRewardVideoAdapter
- 横幅:AdtalosBannerAdapter
- 原生:AdtalosNativeAdapter
示意图如下:

2.4 应用维度参数
- token:对应开发者平台 -> 账户 -> 个人信息里面的 token
- appToken:对应开发者平台 -> 应用信息 -> 应用列表中的您所注册应用的 token
示意图如下:

2.5 原生自渲染类型参数配置
Taku 新建原生广告位无「模版渲染 or 自渲染」选项,新义 adapter 默认模版渲染(isExpress = true),如添加的新义广告位为自渲染类型,需配置参数
isExpress = false
示意图如下:

3. Adtalos Taku 适配层配置
3.1 设置 CAID(可选但建议)
AdtalosTakuInfoAdapter 支持在 SDK 初始化前设置 CAID 列表,用于广告归因。 CAID 类型为 AdtalosAdKit 中的 Caid(或在 OC 中为 AdtalosCaid)。
参考代码:
NSArray<AdtalosCaid *> *caids = @[
[[AdtalosCaid alloc] initWithCaid:@"Caid" version:@"version"],
[[AdtalosCaid alloc] initWithCaid:@"Caid" version:@"version"]
];
// 必须在 AnyThink SDK 初始化之前调用
[AdtalosTakuInfoAdapter setCaids:caids];
说明:
- 调用时机:必须在 AnyThink
startWithAppID初始化之前调用。 - 多条 CAID:可以传入多个 CAID(数组形式),适配层会在初始化时一起传递给 Adtalos SDK。
4. AnyThink SDK 初始化
建议在 App 启动时(如 AppDelegate 或统一的广告管理类中)进行初始化。 参考代码如下:
- (void)initSDK {
// 日志开关
[ATAPI setLogEnabled:YES];
// 检测集成(可选)
[ATAPI integrationChecking];
// 1. 在初始化 SDK 之前,设置 Adtalos 的 caids 参数(可选但推荐)
NSArray<AdtalosCaid *> *caids = @[
[[AdtalosCaid alloc] initWithCaid:@"caids" version:@"version"],
[[AdtalosCaid alloc] initWithCaid:@"caids" version:@"version"]
];
[AdtalosTakuInfoAdapter setCaids:caids];
// 2. 初始化 AnyThink SDK
NSError * initError = nil;
[[ATAPI sharedInstance] startWithAppID:kTakuAppID appKey:kTakuAppKey error:&initError];
if (initError) {
NSLog(@"init failed : %@", initError);
}
}
使用方式:
- 建议封装一个单例管理类(如 Demo 中的
AdSDKManager),在 App 启动或进入广告相关页面前调用一次:
[[AdSDKManager sharedManager] initSDK];
5. 常见问题与注意事项
- 初始化顺序:
- 必须先设置
AdtalosTakuInfoAdapter的 CAID,再初始化 AnyThink。
- 必须先设置
- 信息流(模版)高度获取:
- 建议在
tableView:heightForRowAtIndexPath:中优先使用offer.nativeAd.nativeExpressAdViewHeight,若该值不大于 0 再回退使用nativeADView.frame.size.height,两者都无效时返回 0,这样既能匹配平台实际返回高度,又能在自适应场景下避免高度闪烁。
- 建议在
- 信息流性能:
- 实际接入时,请务必在信息流广告滑出可见区域或不再使用时及时销毁广告实例、移除监听与视图,避免长时间占用内存和 CPU 资源,造成性能问题和资源浪费。