日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

開始監控其他類別小程序

重要

本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。

本文介紹如何使用ARMS前端監控開始監控其他類別的小程序,即除釘釘小程序、支付寶小程序和微信小程序之外的各類符合標準規范的小程序,以及相關的通用配置、API方法和進階場景。

基礎使用方法

基礎方法包含引入npm包并初始化、上報和設置安全域名這三個步驟:

  1. 引入npm包并初始化:

    1. 在小程序的項目中引入@arms/js-sdk npm包,以便使用該模塊來上報日志。

      npm install @arms/js-sdk
    2. 將以下內容添加至/utils目錄下的monitor.js文件中以完成初始化。

      說明

      您可以自定義JS文件的名稱和存放位置。

      import MiniProgramLogger from '@arms/js-sdk/miniapp';
      const Monitor = MiniProgramLogger.init({
          pid: 'xxx',
          uid: 'userxxx', // 設置用戶uid,用于統計UV信息。
          region: 'cn', // 指定應用部署的地域:中國設為cn,中國以外地域設為sg。默認值為cn。
          // 基礎小程序監控需要手動傳入RPC。請按照實際業務寫實現方法,以下示例為釘釘E應用中的調用方式。
          sendRequest: (url, resData) => {
                // 此部分由業務方配置,支持Get/Post上報。
              // demo in dingding
              var method = 'GET';
              var data;
              if (resData) {
                  method = 'POST';
                  data = JSON.stringify(resData);
              }
              dd.httpRequest({
                  url: url,
                  method: method,
                  data: data,
                  fail: function (error) {
                      //...
                  }
              });
          },
           // 手動傳入獲取當前頁面路徑的方法。請按照實際業務寫實現方法,以下示例為釘釘E應用中的調用方式。
           getCurrentPage: () => {
                // 此部分由業務方配置。
              if (typeof getCurrentPages !== 'undefined' && typeof getCurrentPages === 'function') {
                  var pages = (getCurrentPages() || []);
                  var pageLength = pages.length;
                  var currPage = pages[pageLength - 1];
                  return (currPage && currPage.route) || null;
              }
           }
      });
      
      export default Monitor;
      說明

      關于參數的詳細配置,請參見通用SDK配置項

  2. 上報日志:

    1. app.js中,使用以下兩種方法之一上報日志:

      • 使用Monitor.hookApp(options)方法靜默捕獲Error類日志。其中的options即為App層相應的Object配置。

        import Monitor from '/utils/monitor';
        
            App(Monitor.hookApp({
              onError(err) {
                console.log('進入onError:', err);
              },
              onLaunch() {
                console.log('進入onLaunch');
              },
        
              onShow(options) {
              },
              onHide() {
              }
            }));                
      • 使用Monitor.error(err) 方法手動上報Error類日志。

        import Monitor from '/utils/monitor';
        
            App({
              onError(err) {
                  Monitor.error(err);
                console.log('進入onError:', err);
              },
              onLaunch() {
                console.log('進入onLaunch');
              },
        
              onShow(options) {
              },
              onHide() {
              }
            });
    2. pageJS文件中,使用以下兩種方法之一上報日志:

      • 使用Monitor.hookPage(options)方法靜默上報PV、Health數據。

        說明

        此方法不支持靜默上報API請求。

        import Monitor from '/utils/monitor';
        
            Page(Monitor.hookPage({
               data: {},
                onLoad(query) {
                },
                onReady() {
                    // 頁面加載完成。
                },
                onShow() {
        
                },
                onLoad(query) {
        
                },
                onHide() {
        
                },
                onUnload() {
        
                },
                onTitleClick() {
                    /**
                     * 統計打點數據,自定義打點。
                     * @desc
                     */
                    Monitor.sum('titleClick');
                }       
            }));
      • 調用API方法主動打點。

        說明

        關于API方法的詳細信息,請參見API方法

        import Monitor from './util/monitor';
        
            Page({
               data: {},
                onShow() {
                    Monitor.pageShow();
                },
                onHide() {
                    Monitor.pageHide();
                },
                onUnload() {
                    Monitor.pageHide();
                },
                onTitleClick() {
                    /**
                     * 統計打點數據,自定義打點。
                     * @desc
                     */
                    Monitor.sum('titleClick');
                }       
            });
  3. 設置安全域名:

    • 如果region設為cn,則將https://arms-retcode.aliyuncs.com添加到合法域名。

    • 如果region設為sg,則將https://arms-retcode-sg.aliyuncs.com添加到合法域名。

API方法

方法

參數

備注

hookApp

{}

請傳入原有的App參數。可用于在App的生命周期中自動打點。

hookPage

{}

請傳入原有的Page參數。可用于在Page的生命周期中自動打點。

setCommonInfo

{[key: string]: string;}

設置日志基礎字段,可用于灰度發布等場景。

setConfig

{[key: string]: string;}

設置config字段,具體操作,請參見SDK參考

pageShow

{}

Page Show打點,發送PV數據。

pageHide

{}

Page Hide打點,發送Health數據。

error

String/Object

錯誤日志打點。

api

請參見前端接口說明

API類日志上報。

sum/avg

String

自定義求和、求均值日志上報。

說明

小程序監控項目如需使用hookApp、hookPage嵌入生命周期打點,必須符合標準小程序關于AppPage的規范,即App層有onError,Page層有onShowonHideonUnload。使用方法示例,請參見基礎使用方法

大部分日志上報APIWeb端監控SDK一致,其他API的使用方法如下:

  • 如需發送當前頁面的PV數據,則在PageonShow方法下調用pageShow() 方法。

    說明

    請勿與hookPage()方法同時使用此方法,否則會造成PV類日志重復上報。

    import Monitor from '/util/monitor';
    Page({
        onShow: function() {
            Monitor.pageShow();
        }
    })
  • 如需發送當前頁面的Health類數據,統計當前頁面的健康度和頁面停留時間,則在PageonHideonUnload方法下調用pageHide()方法。

    說明

    請勿與hookPage()方法同時使用此方法,否則會造成日志重復上報。

    import Monitor from '/util/monitor';
      Page({
    
          onHide: function() {
              Monitor.pageHide();
          },
          onUnload: function() {
              Monitor.pageHide();
          }
          ... 
      })

進階場景

當基礎使用方法無法滿足需求時,請參見以下進階場景:

  • 設置uid(主要用于統計UV信息)

    • 如果在監控SDK初始化之前,能夠獲得與用戶有關的信息,則可以直接設置uid

    • 如果在監控SDK初始化之前,無法獲得與用戶有關的信息,則可以在應用onShow前獲取用戶信息,然后通過setCommonInfo({uid: 'xxx'}); 設置uid

  • 設置小程序相關的公共信息

    請使用setCommonInfo方法設置小程序相關的公共信息。ARMS前端監控會對以下字段進行統計分析:

    • sr:屏幕尺寸

    • vp:瀏覽器窗口可見區域

    • dpr:屏幕像素比

    • ul:文檔語言

    • dr:文檔Referrer

    • ct:網絡連接類型(例如WiFi3G)

      警告

      切勿使用setCommonInfo方法設置過多字段,否則可能超出請求的限制長度,從而導致請求失敗。

通用SDK配置項

ARMS前端監控提供一系列SDK配置項,讓您能夠通過設置參數來滿足額外需求。以下是適用于本文場景的通用配置項。

pid

String

項目唯一ID,由ARMS在創建站點時自動生成。

uid

String

用戶ID,用于標識訪問用戶,可手動配置,用于根據用戶ID檢索。如果不配置,則由SDK隨機自動生成且每半年更新一次。

SDK自動生成

tag

String

傳入的標記,每條日志都會攜帶該標記。

release

String

應用版本號。建議您配置,便于查看不同版本的上報信息。

undefined

environment

String

環境字段,取值為:prod、gray、pre、dailylocal,其中:

  • prod表示線上環境。

  • gray表示灰度環境。

  • pre表示預發環境。

  • daily表示日常環境。

  • local表示本地環境。

prod

sample

Integer

日志采樣配置,值為1~100的整數。對性能日志和成功API日志按照1/sample的比例采樣,關于性能日志和成功API日志的指標說明,請參見統計指標說明

1

behavior

Boolean

是否為了便于排查錯誤而記錄報錯的用戶行為。

false

ARMS前端監控還提供了更多SDK配置項,可滿足進一步的需求。更多信息,請參見SDK參考