最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

支付寶小程序從手動(dòng)埋點(diǎn)到自動(dòng)埋點(diǎn)的實(shí)現(xiàn)過程

 更新時(shí)間:2022年03月25日 11:54:33   作者:shuaiB  
埋點(diǎn)的意思是在你想要的數(shù)據(jù)節(jié)點(diǎn)出進(jìn)行設(shè)置,可以方便進(jìn)行采集,下面這篇文章主要給大家介紹了關(guān)于支付寶小程序從手動(dòng)埋點(diǎn)到自動(dòng)埋點(diǎn)的相關(guān)資料,需要的朋友可以參考下

手動(dòng)埋點(diǎn)

現(xiàn)在小程序埋點(diǎn)需要手動(dòng)添加埋點(diǎn)事件觸發(fā),

// axml
<view onTap="track" data-ilog="xxx">這只是一個(gè)展示view</view>

//js 
track(e) {
   ...業(yè)務(wù)代碼
   
   // 埋點(diǎn)代碼
  app.sentEventCustom("click", this, this.query, e.target.dataset.ilog);
}

會(huì)有以下幾個(gè)問題:

  • 業(yè)務(wù)代碼和埋點(diǎn)代碼寫在一起,影響代碼的閱讀體驗(yàn)
  • 埋點(diǎn)代碼散落在各個(gè)地方,不方便管理。比如運(yùn)營(yíng)要增加刪除埋點(diǎn)時(shí),統(tǒng)一管理會(huì)更方便

需要埋點(diǎn)的場(chǎng)景

1.普通點(diǎn)擊事件

// axml
<view onTap="track" class="ilog" data-ilog="xxx">這只是一個(gè)展示view</view>

//js 
track(e) {
   // 埋點(diǎn)代碼
   report()
}
  • 下拉刷新時(shí),沒有觸發(fā)點(diǎn)擊,可以選擇對(duì)該事件進(jìn)行埋點(diǎn)
/**
   * @description: 下拉刷新
   * @param {*}
   * @return {*}
   */
  onPullDownRefresh() {
    // 埋點(diǎn)代碼
    report()
  },
  • 埋點(diǎn)要在promise事件上
//js 
async onAuthPhone() { 
  await app.getUserPhone()
  // 埋點(diǎn)代碼
  report()
}

總結(jié):我們要實(shí)現(xiàn)頁面元素點(diǎn)擊時(shí)觸發(fā)埋點(diǎn),也要能在事件執(zhí)行后觸發(fā)埋點(diǎn)

自動(dòng)埋點(diǎn)

1、通過事件冒泡監(jiān)聽元素是否被點(diǎn)擊

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

    • 缺點(diǎn):捕獲的目標(biāo)元素為最里層,該層不一定添加了ilog
  • 方案二:在需要發(fā)送埋點(diǎn)的元素增加樣式類'.ilog',點(diǎn)擊時(shí)最外層catchTap獲取點(diǎn)擊位置的X,Y軸值,同時(shí)通過queryselectAll獲取'.ilog'元素的位置,判斷點(diǎn)擊位置是否在'.ilog'內(nèi),如果是的話,發(fā)送埋點(diǎn)信息。如下圖:

2、擴(kuò)展Page方法

由于最外層綁定catchTap事件方法需要在Page中定義以供wxml調(diào)用,如果每個(gè)頁面手動(dòng)編寫就過于繁瑣了,可以通過改寫Page來實(shí)現(xiàn)自動(dòng)擴(kuò)展,代碼如下

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

3、對(duì)頁面函數(shù)埋點(diǎn)

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

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

4、通過配置表設(shè)置埋點(diǎn)

上面介紹了頁面元素和函數(shù)的埋點(diǎn)方式,下面講一下如何管理埋點(diǎn)信息解決代碼入侵問題,可以把埋點(diǎn)信息以配置表的方式聲明,以后還可以做到動(dòng)態(tài)配置,在服務(wù)端配置完畢下發(fā)到客戶端。

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

總結(jié)

到此這篇關(guān)于支付寶小程序從手動(dòng)埋點(diǎn)到自動(dòng)埋點(diǎn)的文章就介紹到這了,更多相關(guān)支付寶小程序自動(dòng)埋點(diǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • tsc性能優(yōu)化Project References使用詳解

    tsc性能優(yōu)化Project References使用詳解

    這篇文章主要為大家介紹了tsc性能優(yōu)化Project References使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 深入學(xué)習(xí)js函數(shù)的隱式參數(shù) arguments 和 this

    深入學(xué)習(xí)js函數(shù)的隱式參數(shù) arguments 和 this

    這篇文章主要介紹了 深入學(xué)習(xí)js函數(shù)的隱式參數(shù) arguments 和 this,arguments是一個(gè)類數(shù)組結(jié)構(gòu),它保存了調(diào)用時(shí)傳遞給函數(shù)的所有實(shí)參;this是函數(shù)執(zhí)行時(shí)的上下文對(duì)象, 這個(gè)對(duì)象有些讓人感到困惑的行為。 下面分別對(duì)他們進(jìn)行討論。,需要的朋友可以參考下
    2019-06-06
  • 詳解Typescript里的This的使用方法

    詳解Typescript里的This的使用方法

    這篇文章主要介紹了詳解Typescript里的This的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • JavaScript中的new操作符的具體使用

    JavaScript中的new操作符的具體使用

    本文主要介紹了JavaScript中的new操作符的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • JS 在指定數(shù)組中隨機(jī)取出N個(gè)不重復(fù)的數(shù)據(jù)

    JS 在指定數(shù)組中隨機(jī)取出N個(gè)不重復(fù)的數(shù)據(jù)

    這篇文章主要介紹了JS 在指定數(shù)組中隨機(jī)取出N個(gè)不重復(fù)數(shù)據(jù)的方法,需要的朋友可以參考下
    2014-06-06
  • 一個(gè)簡(jiǎn)易時(shí)鐘效果js實(shí)現(xiàn)代碼

    一個(gè)簡(jiǎn)易時(shí)鐘效果js實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了一個(gè)簡(jiǎn)易時(shí)鐘效果js實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 24個(gè)解決實(shí)際問題的ES6代碼片段(小結(jié))

    24個(gè)解決實(shí)際問題的ES6代碼片段(小結(jié))

    這篇文章主要介紹了24個(gè)解決實(shí)際問題的ES6代碼片段,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • ElementUI 的 Tree 組件的基本使用實(shí)戰(zhàn)教程

    ElementUI 的 Tree 組件的基本使用實(shí)戰(zhàn)教程

    這篇文章主要介紹了ElementUI 的 Tree 組件的基本使用實(shí)戰(zhàn)教程,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • uniapp使用uni-imei插件獲取手機(jī)的設(shè)備號(hào)

    uniapp使用uni-imei插件獲取手機(jī)的設(shè)備號(hào)

    uniapp框架是一款開發(fā)跨平臺(tái)應(yīng)用的工具,它支持iOS、Android以及Web等多個(gè)平臺(tái),在這些平臺(tái)中,uniapp可以訪問某些設(shè)備的硬件信息,這篇文章主要給大家介紹了關(guān)于uniapp使用uni-imei插件獲取手機(jī)設(shè)備號(hào)的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 用CSS+JS實(shí)現(xiàn)的進(jìn)度條效果效果

    用CSS+JS實(shí)現(xiàn)的進(jìn)度條效果效果

    用CSS+JS實(shí)現(xiàn)的進(jìn)度條效果效果...
    2007-06-06

最新評(píng)論

泊头市| 习水县| 通海县| 开江县| 福贡县| 江孜县| 大连市| 措美县| 诸暨市| 江西省| 边坝县| 大埔区| 溆浦县| 综艺| 汕头市| 民勤县| 和平区| 宁河县| 鲁山县| 潍坊市| 庐江县| 青田县| 盐山县| 华容县| 清涧县| 阳曲县| 大埔县| 玉门市| 五寨县| 淮滨县| 武胜县| 淳化县| 泾源县| 凉城县| 鄂伦春自治旗| 江永县| 泉州市| 株洲市| 汉沽区| 棋牌| 谢通门县|