# Debugモード
Debugモードは、開発者がデータ送信を簡単にデバッグできるように設計されており、テストフェーズでのデータ検証にのみ使用されます。Debugモードは、データ収集の品質とアプリの安定性に影響を与える可能性がありますのでご注意ください。オンライン環境では使用しないでください。
# Debugモードを有効
(1)Android SDK
Android SDK インスタンスは、TDConfig で定義されている 3 つの動作モードをサポートしています。DEBUG
または DEBUG_ONLY
モードを選択してください。
/**
* Instance operation mode, which is the NORMAL mode by default.
*/
public enum ModeEnum {
/* In Normal mode, data will be stored in the cache and reported as per a certain cache strategy */
NORMAL,
/* Debug Debug mode, data is reported in an entry-by-entry manner. When a problem arises, the system will notify the user in the form of a log and exception */
DEBUG,
/* Debug Only Only mode only verifies data without storing the data */
DEBUG_ONLY
}
例えば、次のコードはDebugモードを使用してSDKの初期設定を完了します。
// Acquire TDConfig instance
TDConfig config = TDConfig.getInstance(mContext, TA_APP_ID, TA_SERVER_URL);
// Set operation mode as the Debug Mode
config.setMode(TDConfig.ModeEnum.DEBUG);
// Initialize SDK
instance = ThinkingAnalyticsSDK.sharedInstance(config);
(2)iOS SDK
iOS SDK インスタンスは、TDConfig で定義された 3 つの実行モードをサポートしています。DEBUG
または DEBUG_ONLY
モードを選択してください。
/**
Debug Mode
- ThinkingAnalyticsDebugOff: Debug Mode is not enabled by default
*/
typedef NS_OPTIONS(NSInteger, ThinkingAnalyticsDebugMode) {
/**
Debug Mode is not enabled by default
*/
ThinkingAnalyticsDebugOff = 0,
/**
Debug_only mode is enabled, which only verifies data without storing it.
*/
ThinkingAnalyticsDebugOnly = 1 << 0,
/**
Debug Mode, data will be reported in an entry-by-entry fashion. When a problem arises, the system will notify the user in the form of a log and exception
*/
ThinkingAnalyticsDebug = 1 << 1
};
例えば、次のコードはDebugモードを使用して SDK の初期設定を完了します。
// Acquire TDConfig instance
TDConfig *config = [[TDConfig alloc] init];
// Set operation mode as the Debug Mode
config.debugMode = ThinkingAnalyticsDebug;
// Initialize SDK
ThinkingAnalyticsSDK *instance = [ThinkingAnalyticsSDK startWithAppId:@"YOUR_APPID" withUrl:@"YOUR_SERVER_URL" withConfig:config];
(3)その他クライアント
# Debugデバイス追加
本番環境でDebugモード実行を回避するには、デバイスを指定してDebugモードを有効にする必要があります。Debugモードは、クライアント側でDebugモードを有効にし、「データ収集管理 - Debugモード」で構成したデバイスでのみ有効にすることができます。
デバイスIDは、次の 2 つの方法で取得できます。
- クライアントログ: SDKの初期設定が完了すると、
DeviceId
が出力されます getDeviceId
を呼び出してデバイス ID を取得します
# 使用説明
デバイスを接続すると、デバイスから送信されたデータがリアルタイムでデータ一覧に表示され、エラーが発生したデータについては、エラーの具体的な原因が示されます。
- デバイスの切り替え: クリックし現在接続されているデバイスを切り替えるか、新しいデバイスを追加します。
- 読み込みの一時停止:テスト中に特定のイベントに対してさらに処理したい場合は、「読み込みの一時停止」 をクリックすると、一時停止状態で生成されたデータ(自動収集イベントなど)がデータテーブルの上に表示されます。「読み込み開始」をクリックすると、リアルタイム読み込み状態に切り替えます。
- イベントの検索:検索フィルターを使用し、指定したイベントまたはユーザープロパティのみを表示します。
- 収集データ比較:データをテストする前に、データ収集管理- データ収集プランでデータ収集プランを構築されている場合は、「収集データ比較」を開き、テストデータと収集データの差を取得することを選択できます。テスト段階でデータ収集プランを立て、トラッキングコードを適時に調整します。
収集データ比較を有効にすると、データ収集プラン比較に基づいたエラー情報がエラー原因に追加されます (比較内容にはプリセットプロパティは含まれません)。エラーは次のとおりです。
- イベントはデータ収集プランにない
- データ収集プランには含まれていないが、実際に報告されているプロパティがある
- データ収集プランにあるが、実際には報告されたプロパティはない
- 送信されたプロパティタイプとデータ収集プランのプロパティタイプの間に矛盾がある
- リストをクリア:「リストをクリア」をクリックすると、現在のデータリストがクリアされ、クリアされたデータは表示されなくなります。クリア操作はログをクリアするだけで、保存されたイベントは削除しません。
# 事例
# 4.1 Debug モードを使用してデータ収集プランを調整
Debugモードは、新しい収集プランを追加した際に、収集プランの正確性を検証するのに適しています。収集プランをテストする前に、TEのSDK でデバイスのデバイス ID#device_id
を取得し、Debugモードでデバイスを追加します。次に、IDEまたは独自のデバイスで収集プランをトリガーし、Debugモードで表示されるデータに注意します。データがアップロードされているか否か、およびデータが正しいかどうかを注意してください。
# 4.2 収集プラン比較を有効
「データ収集プラン」でアップロードした後、「収集プラン比較」を有効にすることを選択できます。テスト段階でテストデータとデータ収集プランの違いを取得し、タイムリーに収集プランコードを調整できます。なお、本機能の検証結果には、プリセットプロパティの検証は含まれません。