integrationlatest接入文档 / iOS
iOS
提示
iOS SDK 要求最低系统版本为 iOS 9.0
最新版本:v1.4.1
更新时间:2026-05-12
资源下载:下载
1. 概述
从 AE 4.4 版本开始,运营模块上线了“客户端触发式任务”功能,支持端内新用户注册、创角等场景中的毫秒级触发需求,并支持实时 A/B 分流。客户端侧由数数 SDK 来实现与 AE 后端的通信,完成任务的拉取与计算。
在 App 端需要集成数数 SDK。App 端只需要关注与数数 SDK 的交互即可,不需要关心 AE 后台的任务细节。
2. 集成
2.1 自动集成 SDK
- 确保你的电脑安装了 CocoaPods 包管理工具
- 如果你的项目中没有 Podfile 文件,那么需要在项目工程文件(
.xcodeproj)同目录下命令行执行命令:
pod init
- 编辑 Podfile 的内容如下:
platform :ios, '9.0'
target 'YourProjectTarget' do
pod 'TDStrategy'
end
- 在项目的根目录,执行安装命令
pod install
成功以后,终端会出现如下提示:
Analyzing dependencies
Downloading dependencies
Installing TDRemoteConfig (x.x.x)
Installing TDStrategy (x.x.x)
Installing ThinkingDataCore (x.x.x)
Installing ThinkingSDK (x.x.x)
Generating Pods project
Integrating client project
Pod installation complete! There is 1 dependency from the Podfile and 4 total pods installed.
- 导入成功,启动工程
命令执行成功后,会生成 .xcworkspace 文件,说明您已成功导入 iOS SDK。打开 .xcworkspace 文件以启动工程(注意:此时不能同时开启 .xcodeproj 文件)
2.2 手动集成 SDK
客户端触发式需要依赖以下数数 SDK:
| SDK名称 | 介绍 | 版本要求 |
|---|---|---|
| ThinkingSDK | 实现数据采集与处理 | >= 3.1.0 |
| TDRemoteConfig | 拉取 AE 后台的配置信息 | >= 1.0.0 |
| ThinkingDataCore | 提供基础组件能力 | >= 1.1.0 |
| TDStrategy | 提供客户端触发式能力 | >=1.0.0 |
- 点击页面上方资源下载链接,下载SDK并解压
- 将
ThinkingSDK.xcframework、ThinkingDataCore.xcframework、TDStrategy.xcframework、TDRemoteConfig.xcframework拖入 Xcode Project Workspace 工程项目中 - 找到 Targets,在 Build Settings 菜单的
Other linker flags选项添加-ObjC
3. 初始化
在主线程初始化 SDK
#import <ThinkingDataCore/ThinkingDataCore.h>
// SDK needs to be initialized on the main thread
// For details on how to use the TDSettings, please refer to the [Advanced] Guide.
TDSettings *settings = [[TDSettings alloc] init];
settings.mode = TDSDKModeNomal;
settings.appId = @"APPID";
settings.serverUrl = @"SERVER_URL";
[TDApp startWithSetting:settings];
4. 设置代理
初始化 SDK 成功后,给 TDStrategy SDK 设置一个代理。
#import <TDStrategy/TDStrategy.h>
// your code ...
[TDStrategy setTriggerDelegate:self];
4.1 代理的协议
约束代理类的实现,当运营任务被触发时会调用代理类中的回调方法。
#import <Foundation/Foundation.h>
@class TDStrategyResult;
@protocol TDStrategyTriggerDelegate <NSObject>
@optional
- (void)tdStrategyDidTrigger:(TDStrategyResult *)result;
@end
4.2 回调的数据模型
@interface TDStrategyResult : NSObject
@property (nonatomic, copy) NSString *channelMsgType;
@property (nonatomic, copy) NSString *appId;
@property (nonatomic, copy) NSString *pushId;
@property (nonatomic, copy) NSString *taskId;
@property (nonatomic, strong, nullable) NSDictionary *content;
@property (nonatomic, strong, nullable) NSDictionary *userParams;
@property (nonatomic, strong, nonnull) NSDictionary *opsProperties;
@end
属性说明
| 属性名 | 类型 | 说明 |
|---|---|---|
| channelMsgType | NSString | 通道消息类型 |
| appId | NSString | 您的 AE 项目的 app id |
| pushId | NSString | 运营任务的通道发送 ID |
| taskId | NSString | 运营任务的 ID |
| content | NSDictionary | 运营任务的推送内容 |
| userParams | NSDictionary | 客户端通道中的自定义参数 |
| opsProperties | NSDictionary | 客户端触发任务携带的通道信息,用于触达漏斗事件的回执参数。 |
这篇文档对你有帮助吗?

