ユーザーが体験したことを確認できるのに、特定が困難なモバイルアプリのバグを再現しようと何時間も費やすのはなぜですか?セッションリプレイは、エンドユーザーがスマートフォンやタブレットで見た画面のビデオ再生を、そのセッションのすべてのテレメトリーデータと同期して提供することで、トラブルシューティングにおける推測を排除します。つまり、バグレポートやローカルでの再現に依存することなく、ユーザーへのエラーの実際の影響を迅速に評価し、パフォーマンスのボトルネックやUXのフリクションポイントを特定して、問題をより迅速に解決できます。

セッションリプレイの仕組み
セッションリプレイの仕組みを理解することは、プライバシー設定とトラブルシューティングに関する情報に基づいた意思決定を行うのに役立ちます。
ユーザーがアプリをリリースすると、MobileエージェントはNew Relicサーバーに呼び出しを行い、セッションリプレイが有効になっているかどうか、有効になっている場合はサンプリングレートとプライバシー設定がどうなっているかを確認します。エージェントはサンプリングの決定を解決し、リプレイデータのキャプチャを開始します。
Browserのセッションリプレイとは異なり、モバイルアプリにはキャプチャして再作成できるDOMがありません。代わりに、Mobileエージェントはビューのライフサイクルをモニターし、ビューポートをHTMLに変換します。マスキング設定はビューポートのHTML再現に適用され、その後JSONにシリアライズされて、1分ごとにデータ送信がトリガーされるまでクライアント側に保存されます。送信時には、ペイロードはgzip圧縮されてNew Relicに送信されます。
アプリケーションが予期せずクラッシュまたはハングした場合、最後に成功した送信サイクルからアプリが予期せず終了するまでの間に収集されたデータは、次のアプリのリリースまでクライアント側に保存されます。そのとき、Mobile エージェントは孤立したデータの復元とアップロードを試みます。 iOS と Android が予期しない終了を処理する方法により、予期しないアプリの終了後にすべてのデータを回復できない場合があります。
New Relic UIでリプレイが表示されると、内部APIからJSONが取得され、Webブラウザで再生される「ビデオ」を構成するHTML更新のストリームにデシリアライズされます。
ネイティブプラットフォームのビューフレームワークからHTMLに変換されるため、セッションリプレイは概ね正確ですが、ピクセルパーフェクトではありません。リプレイの精度向上に継続的に取り組んでいきます。
セッション定義
現在、リプレイは最大で以下を保存します:
- 4時間のユーザーセッション(ブラウザセッションリプレイと同様)
- ユーザーがアプリをバックグラウンドに移行するまでに取得されたデータ
- 次を経由してユーザーIDを更新する呼び出しを発行すると、セッションはプログラムによってリセットされます
setUserId()
データ保持
デフォルトでは、セッションリプレイデータはモバイルイベントネームスペースに8日間保存されます。デフォルトの保持期間の詳細については、データ保持期間のドキュメントを参照してください。この保持期間を延長するには、Data Plusにアップグレードするか、保持設定を編集することができます。
もっと詳しく知る
セッションリプレイの詳細については、以下のセクションを参照してください:
- データ消費量: データ消費量を確認または予測します。
- ユーザーのプライバシーとセキュリティに関する懸念: ユーザーデータを保護し、プライバシー要件を満たす方法について説明します。
- セッションリプレイとアプリのパフォーマンス: セッションリプレイがアプリのパフォーマンスへの影響を最小限に抑える方法について説明します。
次へ: セッションリプレイの設定