このトピックでは、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 | アプリケーションのバージョン。異なるバージョンのレポート情報を表示するために、このパラメータを設定することをお勧めします。 | いいえ |
|
environment | String | 環境フィールド。有効な値: prod、gray、pre、daily、local。
| いいえ |
|
sample | Integer | ログサンプリング設定。値は 1 ~ 100 の整数です。パフォーマンスログと成功 API ログは、 | いいえ |
|
設定できる SDK パラメータの詳細については、「SDK リファレンス」をご参照ください。