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

デバッグモード

最終更新 2026/10/03

デバッグモードは、開発者がデータ送信をデバッグしやすくするための機能で、統合段階でのデータ検証にのみ使用します。デバッグモードはデータ収集の品質やAppの安定性に影響する可能性があるため、本番環境では使用しないでください。

1. デバッグモードを有効にする​

(1)Android SDK

Android SDKのインスタンスは3つの実行モードに対応しており、TDConfigで定義されています。DEBUGまたはDEBUG_ONLYモードを選択してください:

/**
* インスタンスの実行モード。デフォルトはNORMALモード。
*/
public enum ModeEnum {
/* 通常モード。データはキャッシュに保存され、一定のキャッシュポリシーに従って送信される */
NORMAL,
/* デバッグモード。データを1件ずつ送信する。問題が発生した場合はログと例外でユーザーに通知する */
DEBUG,
/* Debug Onlyモード。データの検証のみを行い、データは格納されない */
DEBUG_ONLY
}

たとえば、次のコードはデバッグモードでSDKを初期化する例です:

// TDConfigインスタンスを取得
TDConfig config = TDConfig.getInstance(mContext, TA_APP_ID, TA_SERVER_URL);
// 実行モードをデバッグモードに設定
config.setMode(TDConfig.ModeEnum.DEBUG);
// SDKを初期化
instance = ThinkingAnalyticsSDK.sharedInstance(config);

(2)iOS SDK

iOS SDKのインスタンスは3つの実行モードに対応しており、TDConfigで定義されています。DEBUGまたはDEBUG_ONLYモードを選択してください:

/**
デバッグモード

- ThinkingAnalyticsDebugOff : デフォルト。デバッグモードを有効にしない
*/
typedef NS_OPTIONS(NSInteger, ThinkingAnalyticsDebugMode) {
/**
デフォルト。デバッグモードを有効にしない
*/
ThinkingAnalyticsDebugOff = 0,

/**
Debug_onlyモードを有効にする。データの検証のみを行い、データは格納されない
*/
ThinkingAnalyticsDebugOnly = 1 << 0,

/**
デバッグモード。データを1件ずつ送信する。問題が発生した場合はログと例外でユーザーに通知する
*/
ThinkingAnalyticsDebug = 1 << 1
};

たとえば、次のコードはデバッグモードでSDKを初期化する例です:

// TDConfigインスタンスを取得
TDConfig *config = [[TDConfig alloc] init];
// 実行モードをデバッグモードに設定
config.debugMode = ThinkingAnalyticsDebug;
// SDKを初期化
ThinkingAnalyticsSDK *instance = [ThinkingAnalyticsSDK startWithAppId:@"YOUR_APPID" withUrl:@"YOUR_SERVER_URL" withConfig:config];

(3)その他のクライアント

2. デバッグデバイスの追加​

デバッグモードが本番環境で有効になるのを防ぐため、デバッグモードはデバイスを指定しないと有効にできません。クライアントでデバッグモードを有効にし、かつデータ収集管理 - デバッグモードで接続設定を行ったデバイスのみ、デバッグモードを有効にできます。

デバイスIDは次の2つの方法で取得できます:

  • クライアントのログ:SDKの初期化が完了すると、デバイスのDeviceIdが出力されます
  • getDeviceIdを呼び出してデバイスIDを取得します

4. 使用方法​

デバイスを接続すると、そのデバイスから送信されたデータがデータリストにリアルタイムで表示されます。検証でエラーになったデータについては、調査しやすいように具体的なエラー原因が表示されます。

  1. 設定: クリックすると、現在接続しているデバイスの選択・切り替えや、新しいデバイスの追加ができます。
  2. 読み込みを一時停止: テスト中に特定のイベントで止めてさらに確認したい場合は、「読み込みを一時停止」をクリックします。一時停止中に発生したデータ(設定した自動収集イベントなど)は、データテーブルの上部に通知されます。「読み込みを開始」をクリックすると、リアルタイム読み込みの状態に切り替わります。
  3. イベント検索: 検索で絞り込み、指定したイベントまたはユーザープロパティのみを表示します。
  4. リストを削除: 「リストを削除」をクリックすると、現在のデータリストがクリアされ、クリアされたデータは表示されなくなります。クリア操作で消えるのはログのみで、格納済みのイベントは削除されません。
  5. データ収集プランの比較: データをテストする前にデータ収集管理 - データ収集プランモジュールでデータ収集プランの情報を管理している場合は、「データ収集プランの比較」を有効にすると、テスト段階でテストデータとデータ収集プランの差異を取得でき、トラッキングコードをすぐに調整できます。

データ収集プランの比較を有効にすると、エラー原因に、データ収集プランとの比較に基づくエラー情報が追加で返されます(比較対象にプリセットプロパティは含まれません)。発生する可能性のあるエラーは次のとおりです:

  • イベントがデータ収集プランに含まれていない
  • データ収集プランに含まれていないが、実際には送信されているプロパティがある
  • プロパティが欠落している(データ収集プランには含まれているが、実際には送信されていないプロパティがある)
  • 送信されたプロパティのタイプが、データ収集プランのプロパティのタイプと一致しない

4. ベストプラクティス​

4.1 デバッグモードでトラッキングをデバッグする​

デバッグモードは、トラッキングを新たに追加したときに、その正しさを検証するのに最適です。トラッキングをテストする前に、まずAE SDKでのデバイスのデバイスID#device_idを取得し、デバッグモードにそのデバイスを追加します。その後、IDEまたは自分のデバイスでトラッキングをトリガーし、デバッグモードに表示されるデータを確認します。主に、データがアップロードされているか、データが正しいかを確認します。

4.2 データ収集プランの比較を有効にする​

「データ収集プラン」ページでプランをアップロードした後、「データ収集プランの比較」を有効にすると、テスト段階でテストデータとデータ収集プランの差異を取得でき、トラッキングコードをすぐに調整できます。なお、この機能の検証結果には、プリセットプロパティの検証は含まれません。

このページは役に立ちましたか?