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

:Weex 環境でのブラウザ監視の実装

最終更新日:Dec 31, 2024

このトピックでは、Weex 環境で Application Real-Time Monitoring Service (ARMS) のブラウザ監視機能を実装する方法について説明します。

NPM パッケージのインポート

Weex 環境で ARMS のブラウザ監視機能を使用するには、プロジェクトで次のコマンドを実行して、arms/js-sdk という名前の Node Package Manager (npm) パッケージをインポートし、専用の WeexLogger モジュールを使用してログを報告します。

npm install @arms/js-sdk --save

SDK の初期化

/utils ディレクトリに monitor.js ファイルを作成し、次のサンプルコードに基づいて SDK を初期化します。

説明

Weex アプリケーションのエントリポイントで singleton(props) メソッドを呼び出してインスタンスを取得するには、インポートされた props のパラメータを設定します。詳細については、以下のセクションをご参照ください。

// monitor.js に次の内容を追加します。
import WeexLogger from '@arms/js-sdk/weex';

const fetch = weex.requireModule('stream').fetch;
const serialize = (data) = >{
    data = data || {};
    var arr = [];
    for (var k in data) {
        if (Object.prototype.hasOwnProperty.call(data, k) && data[k] ! == undefined) {
            arr.push(k + '=' + encodeURIComponent(data[k]).replace(/\(/g, '%28').replace(/\)/g, '%29'));
        }
    }
    return arr.join('&');
}

// SDK を初期化します。
const wxLogger = WeexLogger.singleton({
    pid: 'your-project-id',
    uid: 'zhangsan',
    // ユニークビジター (UV) レポートを生成するために UID を設定します。
    page: 'Lazada | Home',
    // 初期ページの名前を設定します。SDK は、初期化が完了するとページビュー (PV) レポートを送信します。
    imgUrl: 'https://arms-retcode.aliyuncs.com/r.png?',
    // レポートの送信先パスを指定します。SDK をシンガポールリージョンにデプロイする場合は、パスを 'https://arms-retcode-sg.aliyuncs.com/r.png?' に設定します。
    // 次のコードは、GET メソッドを使用してレポートを送信する方法の例を示しています。
    sendRequest: (data, imgUrl) = >{
        const url = imgUrl + serialize(data);
        fetch({
            method: 'GET',
            url
        });
    },
    // 次のコードは、POST メソッドを使用してレポートを送信する方法の例を示しています。
    postRequest: (data, imgUrl) = >{
        fetch({
            method: 'POST',
            type: 'json',
            url: imgUrl,
            body: JSON.stringify(data)
        });
    }
});

export
default wxLogger;

ログの報告

インスタンスに基づいて対応するメソッドを呼び出して、ログを報告します。

// ビズモジュール内
import wxLogger from '/utils/monitor';
wxLogger.api('/search.do', true, 233, 'SUCCESS');

一般的なメソッド: @static singleton()

@static singleton() は、単一のインスタンスを返すために使用される静的メソッドです。 props は、メソッドが初めて呼び出されたときにのみ有効になります。次の表は、メソッドを呼び出すときに設定できるパラメータを示しています。

このメソッドを使用して、アプリケーションのエントリポイントで SDK を初期化できます。詳細については、「SDK の初期化」をご参照ください。

表 1. WeexLogger.singleton(props) のパラメータ

パラメータ

タイプ

説明

必須

デフォルト値

pid

String

サイト ID。

はい

なし

page

String

初期化後のページ名。

いいえ

なし

uid

String

ユーザーの ID。

はい

なし

imgUrl

String

ログのアップロード先パス。パスは疑問符 (?) で終わります。

いいえ

なし

一般的なメソッド: setPage()

setPage() は、現在のページの名前を設定し、デフォルトで PV ログを 1 回報告するために使用されます。

import wxLogger from '/utils/monitor';
// ...
wxLogger.setPage(nextPage);

表 2. wxLogger.setPage(nextPage) のパラメータ

パラメータ

タイプ

説明

必須

デフォルト値

nextPage

String

ページ名

はい

なし

一般的なメソッド: setConfig()

setConfig() は、SDK の初期化後に設定を変更するために使用されます。設定方法は singleton() と同じです。このメソッドに設定できるパラメータの詳細については、「setConfig()」をご参照ください。

import wxLogger from '/utils/monitor';
// ...
wxLogger.setConfig(config);

表 3. wxLogger.setConfig(config) のパラメータ

パラメータ

タイプ

説明

必須

デフォルト値

config

Object

変更する設定項目。

はい

なし

uid

String

ユニークビジター (UV) データを収集するために使用されるユーザー ID。

はい

ストレージ設定

ログ報告メソッド

詳細については、「SDK メソッド」のログ報告メソッドをご参照ください。

共通の SDK パラメータ

ARMS のブラウザ監視機能では、さまざまな SDK パラメータを設定して、より多くの要件に対応できます。次の表は、このトピックで説明されているシナリオで設定できるパラメータを示しています。

pid

String

プロジェクトの一意の ID。サイト作成時に ARMS によって自動的に生成されます。

はい

なし

uid

String

ユーザーの ID。この値はユーザーの識別子であり、ユーザーの検索に使用できます。カスタム値を指定できます。このパラメータを指定しない場合、SDK は自動的に生成され、6 か月ごとに更新されます。

はい

なし

tag

String

入力タグ。各ログにはタグが付いています。

いいえ

なし

release

String

アプリケーションのバージョン。異なるバージョンのレポート情報を表示するために、このパラメータを設定することをお勧めします。

いいえ

undefined

environment

String

環境フィールド。有効な値: prod、gray、pre、daily、local。

  • 値 prod はオンライン環境を示します。

  • 値 gray は段階的リリース環境を示します。

  • 値 pre はステージング環境を示します。

  • 値 daily は日次環境を示します。

  • 値 local はローカル環境を示します。

いいえ

prod

sample

Integer

ログサンプリング設定。値は 1 ~ 100 の整数です。パフォーマンスログと成功 API ログは、1/sample の比率でサンプリングされます。パフォーマンスログと成功 API ログのメトリックの詳細については、「統計メトリック」をご参照ください。

いいえ

1

設定できる SDK パラメータの詳細については、「SDK リファレンス」をご参照ください。