すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:レポート前データ

最終更新日:Dec 30, 2024

SDK の初期化が完了していないなど、特定のケースではデータレポートが失敗することがあります。このトピックでは、Application Real-Time Monitoring Service (ARMS) フロントエンド監視の SDK を使用してデータを事前にレポートする方法について説明します。

データレポートの失敗が発生するシナリオ

データレポートの失敗は、以下のシナリオで発生する可能性があります。

  • ページの読み込み中に一部のデータをレポートする必要があるが、SDK の初期化が完了していないか、初期化結果を確認できない。
  • アプリケーションの初期化ロジックで setConfig メソッドが呼び出されます。ただし、SDK は非同期で読み込まれるため、読み込みが完了していない可能性があります。

解決策

SDK は、pipe 属性を __bl オブジェクトに追加し、事前に呼び出された情報を __bl.pipe 変数にキャッシュします。次のコードは例を示しています。

__bl.pipe = [
    // 現在のHTMLページをAPIリクエストとして報告します。
    ['api', '/index.html', true, performance.now, 'SUCCESS'], // これは __bl.api(api, success, time, code, msg) と同等です。

    // SDKの初期化後、シングルページアプリケーション(SPA)の自動解決を有効にします。
    ['setConfig', {enableSPA: true}]
];            

単一のデータレコードをレポートするには、次のコマンドを実行します。

__bl.pipe = ['msg', 'I'm another generic message'];          

配列の0番目はメソッド名で、その後に入力パラメーターが続きます。SDK の初期化が完了すると、SDK は window.__bl.pipe にアタッチされているメソッドとパラメーターを1つずつ呼び出します。

説明 SDK の初期化が完了する前に、__bl.pipe パラメーターの値が複数回設定された場合、最後に設定された値が有効になります。

SDK の初期化が完了したかどうかが不明で、判断ロジックをあまり追加したくない場合は、SDK の初期化後に pipe メソッドを呼び出すことができます。これは、Internet Explorer 9 以降でサポートされています。

たとえば、SPA で autoSend: false を指定した後、アプリケーションの初期化後にページビュー(PV)データが初めてレポートされます。ただし、初期化が完了したかどうかは判断できません。

// ページの名前をホームページに設定し、PVデータを報告します。
__bl.pipe = ['setPage', 'homepage'];