視線検出
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エージェントでビュー検出を有効にするには、以下の手順を実行してください:
Instana のAndroidエージェントプラグインとSDKが、Androidアプリケーションに確実に組み込まれていることを確認してください。 詳しくは、 Android エージェントの説明を参照してください。
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 エージェントでビュー検出を有効にするには、以下の手順を実行してください:
iOS アプリケーションに、 Instana iOS エージェントがインストールされていることを確認してください。 詳細については、 『 iOS 』のエージェントに関する説明を参照してください。
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でビューを分析するには、以下の手順を実行してください:
Instana のUIで 「Analytics」 をクリックします。
「分析」ページで、 「モバイル・アプリケーション」 > 「遷移の表示」をクリックします。
アプリケーションを以下のようにフィルタリングします。
図 1. モバイルアプリの画面遷移分析画面 
ビューの詳細を表示するには、「ビュー」セクションを展開し、ビューを説明するプロパティーを表示します。 以下のスクリーン・ショットを参照してください。
図 2. ビューの特性 
Android アプリでは、ビューに以下の情報が表示されます。
- アクティビティー名 (Activity Name): アクティビティーの画面名。
- アクティビティー・クラス名: アクティビティーの単純クラス名。
- アクティビティー・ローカル・パス: ローカル・パスを持つアクティビティーのクラス名。
- アクティビティー再開時刻 (Activity Resume Time): アクティビティーがユーザーとの対話を開始するために必要な時刻。
- フラグメント名 (Fragment Name): フラグメントの画面名。
- フラグメント・クラス名: フラグメントの単純クラス名。
- フラグメント・ローカル・パス: ローカル・パスを持つフラグメントのクラス名。
- フラグメント再開時刻: ユーザーとの対話を開始するためにフラグメントが必要とする時刻。
- アクティブ・フラグメント・リスト: 現行ビュー内のアクティブ・フラグメントのリスト。
ビューには、 iOS app内に以下の情報があります。
- アクセシビリティー・ラベル: アクセシビリティー要素を識別する、ローカライズされたストリング内の簡潔なラベル。
- ナビゲーション項目のタイトル: ナビゲーション・バーに表示されるナビゲーション項目のタイトル。
- クラス名: ビュー・コントローラー・クラスの名前。