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

:WeChatミニプログラムの監視

最終更新日:Dec 30, 2024

このトピックでは、Application Real-Time Monitoring Service (ARMS) のブラウザ監視機能を使用してWeChatミニプログラムを監視する方法について説明します。また、ブラウザ監視機能の一般的なSDK設定、API操作、および高度なシナリオについても説明します。

背景情報

WeChatミニプログラムの詳細については、WeChatミニプログラムをご覧ください。

基本的な方法

WeChatミニプログラムを監視するには、次の手順を実行する必要があります。

  1. WeChatミニプログラム用の監視SDKを取得して初期化します。

    1. 監視するWeChatミニプログラムの/utilsフォルダにwxLogger.jsファイルを作成し、JSファイルの内容をwxLogger.jsファイルにコピーします。

    2. /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パラメータを参照してください。

  2. 次の方法を使用して、WeChatミニプログラムのPV、エラー、API、パフォーマンス、およびヘルスデータを自動的に収集します。

    1. 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() {
        }
      }));
    2. 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() {
      
          }     
      }));
  3. セキュリティドメイン名を設定します。

    • 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メソッドが含まれている必要があります。ページのコードにはonShowonHide、および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リクエストの結果を手動で報告します。

    1. disableHookパラメータをtrueに設定します。wx.requestリクエストのログは自動的に報告されません。

    2. api()メソッドを手動で呼び出して、APIリクエストの結果を報告します。

  • 自動レポートを無効にし、手動追跡を有効にします。

    1. app.jsファイルとpage.jsファイルでhookAppメソッドとhookPageメソッドを使用しないでください。

    2. 現在のページのPVデータを送信するには、PageのonShowメソッドでpageShow()メソッドを呼び出します。

      説明

      pageShow()メソッドをhookPage()メソッドと一緒に呼び出さないことをお勧めします。そうしないと、PVログが繰り返し報告されます。

      import Monitor from '/util/monitor';
      Page({
          onShow: function() {
              Monitor.pageShow();
          }
      })
    3. 現在のページのヘルスと閲覧時間を含むヘルスデータを送信するには、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

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

いいえ

undefined

environment

String

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

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

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

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

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

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

いいえ

prod

sample

Integer

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

いいえ

1

behavior

Boolean

トラブルシューティングを容易にするためにエラーを報告するユーザーの行動を記録するかどうかを指定します。

いいえ

false

enableLinkTrace

Boolean

バックツーバックトレース分析の詳細については、フロントツーバックトレース機能を使用してAPIエラーを診断するを参照してください。

いいえ

false

ARMSブラウザ監視機能は、ビジネス要件を満たすために他のSDKパラメータも提供します。詳細については、SDKリファレンスを参照してください。