メインコンテンツまでスキップ

Android

最終更新 2026/10/07

最新バージョン:v1.0.1

更新日:2026-07-24

リソースのダウンロード:ダウンロード

1. 概要​

バージョン6.1から、AEに実験スイート機能が追加されました。AE管理画面で実験を作成し、コントロールグループとテストグループの変数値を設定して、クライアントSDKでAppに取得することで、グループごとに異なるコンテンツをユーザーに表示できます。

このドキュメントでは、クライアントSDKの統合手順を説明します。App側はThinkingData SDKとのやり取りだけを考慮すればよく、AE管理画面のタスクの詳細を気にする必要はありません。

なお、実験SDKは構成センターSDKと組み合わせて使用する必要があります。

2. 統合​

2.1 SDKの自動統合​

  1. Project レベルのbuild.gradleファイルに、次の依存関係の設定を追加します
buildscript {
repositories {
jcenter()
mavenCentral()
}
}
  1. moduleプロジェクトディレクトリのbuild.gradleファイルに依存関係を追加します:
dependencies {
implementation 'cn.thinkingdata.android:TDExperiment:1.0.1'
}

2.2 SDKの手動統合​

構成センターには、次のThinkingData SDKが必要です:

SDK名機能の紹介バージョン要件
TDAnalyticsデータの収集と処理を行います>= 3.3.6
TDRemoteConfigAE管理画面の設定情報を取得します>= 1.3.0

1.ページ上部のリソースのダウンロードリンクをクリックし、SDKをダウンロードして解凍します

2.libsフォルダーにTDAnalytics.aar、TDCore.aar、TDRemoteConfig.aar、TDExperiment.aarを追加します

3.build.gradle に次の設定を追加します

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
}

3. 初期化​

実験SDKは分析SDKと組み合わせて使用する必要があります。先にTDAnalyticsの初期化を完了してから、実験SDKを初期化してください。

// データ収集SDKを初期化
TDAnalytics.init(context, "APP_ID", "https://YOUR_SERVER_URL");

// 実験SDKを初期化
TDExperimentConfig config = new TDExperimentConfig("APP_ID", "https://YOUR_SERVER_URL");
config.automaticExposureTracking = true;
config.customBucketId = new HashMap<>();
config.customFetchParams = new JSONObject();
config.initCallback = new TDCallback() {
@Override
public void onFetchSuccess() {
// 実験設定情報の取得に成功
}

@Override
public void onError(int code, String message) {
// 実験設定情報の取得に失敗
}
};
TDExperiment.enableLog(true);
TDExperiment.init(context, config);

初期化パラメータの説明:

  • appId:APP ID
  • serverUrl:データの送信先URL
  • automaticExposureTracking:デフォルトはtrueです。getで実験パラメータを取得するときに、インプレッションイベントを自動的に送信します
  • customBucketId:カスタム振り分け主体
  • customFetchParams:クライアントの構成チャンネルに設定したカスタムパラメータ
  • enableLog:デバッグログを有効にするかどうか(TDExperiment.enableLogで設定)
  • initCallback.onFetchSuccess:実験設定情報の取得に成功
  • initCallback.onError:実験設定情報の取得に失敗

4. 使用方法​

4.1 実験情報の取得​

TDExperiment.getValueAsString(key);

TDExperiment.getValueAsDouble(key);

TDExperiment.getValueAsBoolean(key);

TDExperiment.getValueAsJson(key);

automaticExposureTrackingがtrueの場合、getの際にインプレッションイベントが自動的に送信されます。

4.2 インプレッションイベントの送信​

exposureメソッドを呼び出して、インプレッションイベントを手動で送信できます。

TDExperiment.exposure(key);

4.3 すべての実験情報を能動的に取得​

TDExperiment.fetch();

TDExperiment.fetch().addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess() {
// 成功
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(int code, String msg) {
// 失敗
}
});

4.4 カスタム振り分け主体​

Map<String, String> bucketId = new HashMap<>();
bucketId.put("bucket_id", "account_id");
TDExperiment.setCustomBucketId(bucketId);

4.5 カスタムリクエストパラメータ​

JSONObject params = new JSONObject();
params.put("key", "value");
TDExperiment.setCustomFetchParams(params);
このページは役に立ちましたか?