integrationlatestデータ連携 / iOS
iOS
ヒント
iOS SDKの最小システムバージョンはiOS 9.0です
最新バージョン:v1.4.1
更新日:2026-05-12
リソースのダウンロード:ダウンロード
1. 概要
AE 4.4から、エンゲージモジュールに「クライアントトリガー型タスク」機能がリリースされました。アプリ内での新規ユーザー登録やキャラクター作成などのシナリオにおけるミリ秒単位のトリガーの要件に対応し、リアルタイムのA/B分流にも対応しています。クライアント側ではThinkingData SDKがAEのバックエンドと通信し、タスクの取得と計算を行います。
App側にThinkingData SDKを統合する必要があります。App側はThinkingData 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の手動統合
クライアントトリガー型には、次のThinkingData 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 | クライアントトリガー型タスクに付与されるチャンネル情報。リーチファネルイベントで返送するパラメータとして使用します。 |
このページは役に立ちましたか?

