データの追加タイプの収集

ADEUMInstrumentation クラスで使用可能なメソッドを使用して、6 つの追加タイプのデータを収集できます。

データのタイプ説明仕様データが表示される場所
情報ポイント メソッドが呼び出される頻度と実行される時間。
  • データは数値
  • 名前には、英数字とスペースを使用
カスタムタイマー コード内の任意のイベントシーケンスが、複数のメソッドにまたがる場合でも、時間を計測。
  • データは数値
  • メトリック名には、英数字とスペースを使用
カスタムメトリック 収集する整数ベースのデータ。
  • データは数値
  • メトリック名には、英数字とスペースを使用
ユーザデータ 有用と思われる任意の文字列キーと値のペアこのデータは、消去されるまで、リストされるすべてのインストルメンテーション タイプに含まれます。
  • データは任意の型にできます。
  • メトリック名には制限なし
トピック パス(パンくずリスト) クラッシュのコンテキスト。
  • データは任意のデータ型にすることができます。
  • メトリック名には制限なし
ユーザの操作 ユーザがボタンを押したとき、リストをクリックしたとき、およびテキストを選択したときにキャプチャ。
  • データは任意のデータ型にすることができます。
  • メトリック名には制限なし
注: 追加のデータ型を設定した場合、モバイルエージェントはモバイルビーコンでそのデータをパッケージ化します。通常、ビーコンはインストゥルメント化されたアプリケーションが HTTP リクエストを送信したとき、またはクラッシュ後にアプリケーションが再起動されたときに送信されますが、カスタムデータが収集され、これらのイベントのいずれも 5 分以上発生していない場合は、カスタムデータはその時点で送信されます。

情報ポイント

情報ポイントを使用すると、独自のコードがどのように実行されているかを追跡できます。次のように beginCallendCall を使用して、メソッドが呼び出される頻度と実行にかかる時間を確認できます。
Objective-C
- (void)myMethod
    {
        id tracker = [ADEumInstrumentation beginCall:self selector:_cmd];
        // Implementation of method here ...
        [ADEumInstrumentation endCall:tracker];
    }
Swift
func myMethod() {
    let tracker = ADEumInstrumentation.beginCall(self, selector: #function)
    // Implementation of method here ...
    ADEumInstrumentation.endCall(tracker)
}
例外がスローされた場合も報告されます。この情報は、コントローラ UI の [Custom Data] ビューに表示されます。

カスタムタイマー

カスタムタイマーでは、複数のメソッドにまたがる場合でも、startTimerstopTimer を使用して、コード内の任意のイベントシーケンスの時間を測定できます。たとえば、ユーザーが画面を表示するのにかかった時間を追跡する場合、インストルメンテーションは次のようになります。
Objective-C
- (void)viewDidAppear:(BOOL)animated {
      [super viewDidAppear:animated];
      [ADEumInstrumentation startTimerWithName:@"View Lifetime"];
  }
- (void)viewDidDisappear:(BOOL)animated {
      [super viewDidDisappear:animated];
      [ADEumInstrumentation stopTimerWithName:@"View Lifetime"];
  }
Swift
func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    ADEumInstrumentation.startTimer(withName: "View Lifetime")
}
func viewDidDisappear(_ animated: Bool) {
    super.viewDidDisappear(animated)
    ADEumInstrumentation.stopTimer(withName: "View Lifetime")
}

この情報は、コントローラ UI の [Custom Data] ビューに表示されます。

注: 同じ名前値を使用して startTimerWithName を再度呼び出すと、名前付きタイマーがリセットされます。

Custom Metrics

任意の整数ベースのデータをエージェントに渡すことができます。report.MetricWithName コールの最初のパラメータは、メトリックをコントローラ UI に表示する場合の名前です。メトリック名には、英数字とスペースのみを使用します。不正な文字は、ASCII 16 進値に置き換えられます。

たとえば、「My custom metric」というメトリックを報告する場合は、次のようになります。

[ADEumInstrumentation reportMetricWithName:@"My custom metric" value:<#VALUE HERE#>];

この情報は、コントローラ UI の [Custom Data] ビューに表示されます。

Custom User Data

次のメソッドで使用する任意の文字列キーおよび値のペアを設定し、後で削除することができます。

  • setUserData(key, value, success, error)
  • removeUserData(key)

これが設定されると、ユーザーデータは、ネットワークリクエスト、セッション、またはクラッシュのインストルメンテーションとともに引き続き送信されます。以前に設定されたユーザーデータはキーごとに削除できます。clearAllUserData()または、 を使用して、すべてのキーの以前に設定されたユーザーデータを削除できます。

パラメータ

次の表で、パラメータについて説明します。

Nameタイプ説明
キー文字列キーと値のペアを識別するキー。
文字列キーに関連付けられている値。
successfunctionユーザ定義のコールバックの成功例。
errorfunctionユーザ定義のコールバックの失敗例。

次のコード例は、SDK API を使用してユーザーデータを設定する方法を示しています。
Objective-C
- (void) onUserLoggedIn:(NSString *)userid { 
    [ADEumInstrumentation setUserData:@"User ID" value:userid];
    ...
  }
Swift
func onUserLogged(in userid: String?) {
    ADEumInstrumentation.setUserData("User ID", value: userid)
}
次のコード例は、SDK API を使用してユーザーデータを削除する方法を示しています。
Objective-C
- (void) onUserLoggedIn:(NSString *)userid { 
    [ADEumInstrumentation removeUserData:@"User ID"];
    ...
  }
Swift
func onUserLogged(in userid: String?) {
    ADEumInstrumentation.removeUserData("User ID")
    ...
}
また、次のメソッドを使用して、他のデータ型(Long、Boolean、Double、Date)の値を含むユーザデータを設定することもできます。

clearAllUserData() について

clearAllUserData() API は、一度にすべてのユーザーデータ(上に列挙されたすべてのタイプのデータ)を消去します。上記の API の Splunk AppDynamics setUserData() リストで設定された項目の範囲外にある他のデータは消去されません。また、以前に送信用にキューに入れられていた既存のインストルメンテーション ビーコンにすでに付加されているユーザーデータは削除されず、ネットワーク リクエスト インストルメンテーションにリクエストごとに付加されたユーザーデータには影響しません。

次のコード例は、clearAllUserData SDK API を使用する方法を示しています。
Objective-C
- (void) onUserLoggedOut { 
    [ADEumInstrumentation clearAllUserData];
    ...
  }
Swift
func onUserLoggedOut() {
    ADEumInstrumentation.clearAllUserData()
    ...
}

トピックパス(パンくずリスト)

トピックパスを使用すると、ユーザエクスペリエンスのコンテキストでクラッシュの場所を特定できます。問題が発生したときに、トピックパスを設定します。その後のある時点でアプリケーションがクラッシュした場合、トピックパスはクラッシュレポートとともに表示されます。

トピックパスを残すには、次の 2 つの方法があります。

次のメソッドを使用すると、トピックパスがクラッシュレポートのみで報告されます。

+ (void)leaveBreadcrumb:(NSString *)breadcrumb

次のメソッドを使用すると、トピックパスが報告される場所を微調整(クラッシュレポートのみ、またはクラッシュレポートとセッションを選択)できます。

+ (void)leaveBreadcrumb:(NSString *)breadcrumb mode:(ADEumBreadcrumbVisibility)mode

mode は次のいずれかです。

  • ADEumBreadcrumbVisibilityCrashesOnly
  • ADEumBreadcrumbVisibilityCrashesAndSessions
注: breadcrumb が 2048 文字を超えている場合は、切り捨てられます。空または の場合、トピックパスは記録されません。各クラッシュレポートには、最近の 99 件のトピックパスが表示されます。