視線検出

Instana モバイルアプリ開発者が、ユーザーがアプリとどのようにやり取りしているかを把握できるよう、ユーザージャーニー分析プロセスを提供します。 この機能により、Androidアプリのフラグメントやアクティビティ、および iOS app のビューコントローラーのライフサイクルを自動的に検出し、確認することができます。

サポート対象のテクノロジー

Androidおよび iOS のネイティブアプリケーションは、以下のエージェントバージョンにおいて、 Instana のビュー検出に対応しています:

  • Instana Androidエージェント 6.0.15 以降( Gradle 7.3.3 に基づく)
  • Instana iOS agent 1.7.0 以降

Androidエージェントでビュー検出を有効にする

Instana のAndroidエージェントでビュー検出を有効にするには、以下の手順を実行してください:

  1. Instana のAndroidエージェントプラグインとSDKが、Androidアプリケーションに確実に組み込まれていることを確認してください。 詳しくは、 Android エージェントの説明を参照してください。

  2. Instana.setup() メソッドを呼び出すときに、 autoCaptureScreenNames プロパティーを true に設定します。 以下の例を参照してください。

    class ExampleApp : Application() {
        override fun onCreate() {
            super.onCreate()
            val instanaConfig = InstanaConfig(
                key = "xxxxxx",
                reportingURL = "https://instana.example.com/mobile",
                autoCaptureScreenNames = true
            )
            Instana.setup(this, instanaConfig)
        }
    }
    

iOS エージェントでビュー検出を有効にする

Instana iOS エージェントでビュー検出を有効にするには、以下の手順を実行してください:

  1. iOS アプリケーションに、 Instana iOS エージェントがインストールされていることを確認してください。 詳細については、 『 iOS 』のエージェントに関する説明を参照してください。

  2. Instana.setup() メソッドを呼び出すときに、 autoCaptureScreenNames プロパティーを true に設定します。 以下の例を参照してください。

    import UIKit
    import InstanaAgent
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
    
        var window: UIWindow?
    
        func application(_ application: UIApplication,
                    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
            let options = InstanaSetupOptions(autoCaptureScreenNames: true)
            Instana.setup(
                key: "xxxxxx",
                reportingURL: URL(string: "https://instana.example.com/mobile")!,
                options: options
            )
            return true
        }
    }
    

画面の描画時間

画面のレンダリング時間は、読み込み完了後、各画面が完全に操作可能になるまでの時間を測定するものです。 ビュー検出追跡が有効になっている場合、この継続時間は自動的に記録されます。 このパフォーマンスを監視することで、モバイル開発者は処理に時間がかかる画面を特定し、レンダリング性能を最適化することができ、その結果、ユーザー体験が向上します。

画面描画時間とナビゲーションの流れ

「トップビュー」ウィジェットには、各ビューのレンダリング時間と発生回数が表示されます。 「ビュー 」タブには、内部サマリーページにリンクする各ビューのレンダリング時間も表示され、より詳細な分析が可能になります。

画面描画時間 KPI カード

[ビューの概要] タブにある「レンダリング所要時間」KPIカードには、そのビューがインタラクティブになるまでのレンダリング所要時間の75パーセンタイル値が表示されます。 この指標は、選択した期間において、レンダリング時間の75%がその値未満であることを示しています。

75パーセンタイル(第3四分位数とも呼ばれる)は外れ値の影響を受けにくく、大多数のユーザーが実際に経験する傾向を現実的に示すものである。 レンダリングに時間がかかるビューはアプリケーションのパフォーマンスを低下させます。KPIカードを使用することで、開発者はレンダリングに時間がかかる箇所を特定し、ボトルネックを突き止め、根本原因を分析して、ユーザーエクスペリエンスを最適化することができます。

画面描画時間の推移グラフ

[ ビューの概要] タブにある「レンダリング時間」グラフには、各ビューのレンダリング時間の75パーセンタイル値を示すレンダリング時間が表示されます。

  • X軸:ビーコンのタイムスタンプ(時系列データ)
  • Y軸:選択した期間におけるレンダリング時間の75パーセンタイル

Instana のUIにおけるビューの分析

アプリケーションの自動ビュー検出を有効にした後、ビュー・データを分析できます。

Instana のUIでビューを分析するには、以下の手順を実行してください:

  1. Instana のUIで 「Analytics」 をクリックします。

  2. 「分析」ページで、 「モバイル・アプリケーション」 > 「遷移の表示」をクリックします。

  3. アプリケーションを以下のようにフィルタリングします。

    図 1. モバイルアプリの画面遷移分析画面
    モバイル・アプリケーション・ビューの遷移分析ビューを示すスクリーン・ショット

    ビューの詳細を表示するには、「ビュー」セクションを展開し、ビューを説明するプロパティーを表示します。 以下のスクリーン・ショットを参照してください。

    図 2. ビューの特性
    ビューのプロパティーを示すスクリーン・ショット

Android アプリでは、ビューに以下の情報が表示されます。

  1. アクティビティー名 (Activity Name): アクティビティーの画面名。
  2. アクティビティー・クラス名: アクティビティーの単純クラス名。
  3. アクティビティー・ローカル・パス: ローカル・パスを持つアクティビティーのクラス名。
  4. アクティビティー再開時刻 (Activity Resume Time): アクティビティーがユーザーとの対話を開始するために必要な時刻。
  5. フラグメント名 (Fragment Name): フラグメントの画面名。
  6. フラグメント・クラス名: フラグメントの単純クラス名。
  7. フラグメント・ローカル・パス: ローカル・パスを持つフラグメントのクラス名。
  8. フラグメント再開時刻: ユーザーとの対話を開始するためにフラグメントが必要とする時刻。
  9. アクティブ・フラグメント・リスト: 現行ビュー内のアクティブ・フラグメントのリスト。

ビューには、 iOS app内に以下の情報があります。

  1. アクセシビリティー・ラベル: アクセシビリティー要素を識別する、ローカライズされたストリング内の簡潔なラベル。
  2. ナビゲーション項目のタイトル: ナビゲーション・バーに表示されるナビゲーション項目のタイトル。
  3. クラス名: ビュー・コントローラー・クラスの名前。