このトピックでは、Application Real-Time Monitoring Service (ARMS) のブラウザ監視機能を使用してWeChatミニプログラムを監視する方法について説明します。また、ブラウザ監視機能の一般的なSDK設定、API操作、および高度なシナリオについても説明します。
背景情報
WeChatミニプログラムの詳細については、WeChatミニプログラムをご覧ください。
基本的な方法
WeChatミニプログラムを監視するには、次の手順を実行する必要があります。
WeChatミニプログラム用の監視SDKを取得して初期化します。
監視するWeChatミニプログラムの/utilsフォルダにwxLogger.jsファイルを作成し、JSファイルの内容をwxLogger.jsファイルにコピーします。
/utilsフォルダにmonitor.jsファイルを作成し、monitor.jsファイルに次の内容を追加して、監視SDKを初期化します。
説明JSファイルの名前と保存パスはカスタマイズできます。
プロジェクトがnodeモジュール(require)メソッドを使用して統合されている場合は、monitor.jsファイルに次の内容を追加します。
const WXLogger = require('./wxLogger.js'); const Monitor = WXLogger.init({ pid: 'xxx', region: 'cn', // アプリケーションがデプロイされているリージョンを指定します。 cn は中国、sg はシンガポールに近いリージョンを示します。 }); export default Monitor;
プロジェクトがESモジュール(import)メソッドを使用して統合されている場合は、monitor.jsファイルに次の内容を追加します。
import WXLogger from './wxLogger.js'; const Monitor = WXLogger.init({ pid: 'xxx', region: 'cn', // アプリケーションがデプロイされているリージョンを指定します。 cn は中国、sg はシンガポールに近いリージョンを示します。 }); export default Monitor;
説明パラメータ設定の詳細については、一般的なSDKパラメータを参照してください。
次の方法を使用して、WeChatミニプログラムのPV、エラー、API、パフォーマンス、およびヘルスデータを自動的に収集します。
app.jsで、Monitor.hookApp(options)メソッドを呼び出して、エラーログを自動的にキャプチャします。optionsパラメータは、アプリ固有のオブジェクトです。
import Monitor from '/util/monitor'; App(Monitor.hookApp({ onError(err) { console.log('Trigger onError:', err); }, onLaunch() { console.log('Trigger onLaunch'); }, onShow(options) { }, onHide() { } }));
page.jsで、Monitor.hookPage(options)メソッドを呼び出して、WeChatミニプログラムのAPI、PV、およびヘルスデータを自動的に報告します。
import Monitor from '/util/monitor'; // hookPageメソッドを呼び出すと、ライフサイクルベースのAPIが自動的にインストルメンテーションを開始します。 Page(Monitor.hookPage({ data: {}, onLoad(query) { }, onReady() { // ページが読み込まれました。 }, onShow() { }, onLoad(query) { }, onHide() { }, onUnload() { } }));
セキュリティドメイン名を設定します。
regionパラメータが
cn
に設定されている場合は、リクエストの有効なドメイン名にhttps://arms-retcode.aliyuncs.com
を追加します。regionパラメータが
sg
に設定されている場合は、リクエストの有効なドメイン名にhttps://arms-retcode-sg.aliyuncs.com
を追加します。
自動インストルメンテーションの基本的な方法
メソッド | パラメータ | 説明 | シナリオ |
hookApp | null | ソースアプリのパラメータを入力します。 | アプリのライフサイクル中に自動インストルメンテーションを実行します。 |
hookPage | null | ソースページのパラメータを入力します。 | APIライフサイクル管理は自動的にページを追跡します。 |
hookAppまたはhookPageメソッドを呼び出してミニプログラムを追跡および監視する場合、コードは標準ミニプログラムのappおよびpageの仕様に準拠している必要があります。アプリケーションのコードにはonErrorメソッドが含まれている必要があります。ページのコードにはonShow、onHide、およびonUnloadメソッドが含まれている必要があります。詳細については、基本的な方法を参照してください。
その他の設定の方法
メソッド | パラメータ | 説明 |
setCommonInfo | {[key: string]: string;} | カナリアリリースなどのシナリオの基本ログフィールドを設定します。 |
setConfig | {[key: string]: string;} | configフィールドを設定します。詳細については、SDKリファレンスを参照してください。 説明 setConfigメソッドの場合、ミニプログラムを監視する場合、uidパラメータはサポートされていません。ただし、setUsernameパラメータを使用してuidパラメータを置き換えることができます。 |
pageShow | null | PVログを報告します。 |
pageHide | null | ヘルスログを報告します。 |
error | String/Object | エラーログを報告します。 |
api | 詳細については、SDKメソッドを参照してください。 | APIリクエストログを報告します。 |
sum/avg | String | カスタムの合計および平均ログを報告します。 |
高度なシナリオ
アプリケーション監視の基本的な使用法では要件を満たせない場合は、次の高度なシナリオでの使用法を試してください。
APIリクエストの結果を手動で報告します。
disableHookパラメータを
true
に設定します。wx.requestリクエストのログは自動的に報告されません。api()メソッドを手動で呼び出して、APIリクエストの結果を報告します。
自動レポートを無効にし、手動追跡を有効にします。
app.jsファイルとpage.jsファイルでhookAppメソッドとhookPageメソッドを使用しないでください。
現在のページのPVデータを送信するには、PageのonShowメソッドでpageShow()メソッドを呼び出します。
説明pageShow()メソッドをhookPage()メソッドと一緒に呼び出さないことをお勧めします。そうしないと、PVログが繰り返し報告されます。
import Monitor from '/util/monitor'; Page({ onShow: function() { Monitor.pageShow(); } })
現在のページのヘルスと閲覧時間を含むヘルスデータを送信するには、PageのonHideメソッドとonUnloadメソッドでpageHide()メソッドを呼び出します。
説明pageHide()メソッドをhookPage()メソッドと一緒に呼び出さないでください。そうしないと、ログが繰り返し報告されます。
import Monitor from '/util/monitor'; Page({ onHide: function() { Monitor.pageHide(); }, onUnload: function() { Monitor.pageHide(); } ... })
一般的なSDKパラメータ
ARMSのブラウザ監視機能では、さまざまなSDKパラメータを設定して追加の要件を満たすことができます。次の表に、このトピックで説明されているシナリオに適した一般的なパラメータを示します。
|
|
|
|
|
pid | String | プロジェクトの一意のID。ARMSがサイトを作成するときに自動的に生成されます。 | はい | なし |
uid | String | ユーザーのID。値はユーザーの識別子であり、ユーザーの検索に使用できます。カスタム値を指定できます。このパラメータを指定しない場合、SDKは自動的に生成され、6か月ごとに更新されます。 | いいえ | SDKによって自動的に生成 |
tag | String | 入力タグ。各ログにはタグが付いています。 | いいえ | なし |
release | String | アプリケーションのバージョン。異なるバージョンのレポート情報を表示するために、このパラメータを設定することをお勧めします。 | いいえ |
|
environment | String | 環境フィールド。有効な値:prod、gray、pre、daily、およびlocal。
| いいえ |
|
sample | Integer | ログサンプリング設定。値は1から100までの整数です。パフォーマンスログと成功APIログは | いいえ |
|
behavior | Boolean | トラブルシューティングを容易にするためにエラーを報告するユーザーの行動を記録するかどうかを指定します。 | いいえ |
|
enableLinkTrace | Boolean | バックツーバックトレース分析の詳細については、フロントツーバックトレース機能を使用してAPIエラーを診断するを参照してください。 | いいえ |
|
ARMSブラウザ監視機能は、ビジネス要件を満たすために他のSDKパラメータも提供します。詳細については、SDKリファレンスを参照してください。