91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

支付寶小程序從手動埋點到自動埋點如何實現

發布時間:2022-03-25 13:45:19 來源:億速云 閱讀:292 作者:iii 欄目:開發技術

本篇內容主要講解“支付寶小程序從手動埋點到自動埋點如何實現”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“支付寶小程序從手動埋點到自動埋點如何實現”吧!

    手動埋點

    現在小程序埋點需要手動添加埋點事件觸發,

    // axml
    <view onTap="track" data-ilog="xxx">這只是一個展示view</view>
    
    //js 
    track(e) {
       ...業務代碼
       
       // 埋點代碼
      app.sentEventCustom("click", this, this.query, e.target.dataset.ilog);
    }

    會有以下幾個問題:

    • 業務代碼和埋點代碼寫在一起,影響代碼的閱讀體驗

    • 埋點代碼散落在各個地方,不方便管理。比如運營要增加刪除埋點時,統一管理會更方便

    需要埋點的場景

    1.普通點擊事件

    // axml
    <view onTap="track" class="ilog" data-ilog="xxx">這只是一個展示view</view>
    
    //js 
    track(e) {
       // 埋點代碼
       report()
    }
    • 下拉刷新時,沒有觸發點擊,可以選擇對該事件進行埋點

    /**
       * @description: 下拉刷新
       * @param {*}
       * @return {*}
       */
      onPullDownRefresh() {
        // 埋點代碼
        report()
      },
    • 埋點要在promise事件上

    //js 
    async onAuthPhone() { 
      await app.getUserPhone()
      // 埋點代碼
      report()
    }

    總結:我們要實現頁面元素點擊時觸發埋點,也要能在事件執行后觸發埋點

    自動埋點

    1、通過事件冒泡監聽元素是否被點擊

    • 方案一:在axml最外層綁定catchTap事件,獲取點擊元素的ilog信息

      • 缺點:捕獲的目標元素為最里層,該層不一定添加了ilog

    • 方案二:在需要發送埋點的元素增加樣式類'.ilog',點擊時最外層catchTap獲取點擊位置的X,Y軸值,同時通過queryselectAll獲取'.ilog'元素的位置,判斷點擊位置是否在'.ilog'內,如果是的話,發送埋點信息。如下圖:

    支付寶小程序從手動埋點到自動埋點如何實現

    2、擴展Page方法

    由于最外層綁定catchTap事件方法需要在Page中定義以供wxml調用,如果每個頁面手動編寫就過于繁瑣了,可以通過改寫Page來實現自動擴展,代碼如下

    // 記錄原Page方法
    const originPage = Page;
    // 重寫Page方法
    Page = (page) => {
      // 給page對象注入三個方法
      page.elementTracker = function() {}
      page.methodTracker = function() {}
      page.isClickTrackArea = function() {}
      return originPage(page);
    };

    3、對頁面函數埋點

    有些場景我們除了對頁面元素點擊埋點,還要對頁面函數進行埋點,例如用戶下拉刷新的時候,可以對原方法進行包裝,插入埋點代碼,方案和第二點差不多。

    const originPage = Page;
    // 重寫Page方法
    Page = (page) => {
      // 給onShow方法插入埋點
      const originMethod = page['onShow'];
      page['onShow'] = function() {
        report() // 記錄埋點
        return originMethod();
      }
      return originPage(page);
    };

    4、通過配置表設置埋點

    上面介紹了頁面元素和函數的埋點方式,下面講一下如何管理埋點信息解決代碼入侵問題,可以把埋點信息以配置表的方式聲明,以后還可以做到動態配置,在服務端配置完畢下發到客戶端。

    const tracks = {
      path: 'pages/film/detail',
      elementTracks: [
        {
          element: '.buy-now',  // 聲明需要監聽的元素
          dataKeys: ['film.filmId'], // 聲明需要獲取Data下的film對象下的filmId字段
        },
      ],
      methodTracks: [
        {
          method: 'toBannerDetail', // 聲明需要監聽的函數
          dataKeys: ['imgUrls'], // 聲明需要獲取Data下的imgUrls數據
        },
      ],
    };

    到此,相信大家對“支付寶小程序從手動埋點到自動埋點如何實現”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    海淀区| 河曲县| 龙江县| 洛南县| 四会市| 曲靖市| 韶山市| 凌海市| 米脂县| 新干县| 怀安县| 天峨县| 霍林郭勒市| 班戈县| 根河市| 天柱县| 海城市| 罗平县| 安平县| 嵊州市| 东山县| 遵义市| 宝兴县| 元氏县| 康平县| 东台市| 柘荣县| 扬中市| 杭锦旗| 乌鲁木齐市| 辉南县| 竹北市| 灵山县| 丰城市| 天津市| 六盘水市| 乐安县| 通化县| 香格里拉县| 石渠县| 维西|