咱們平常的業務中,須要對用戶行爲分析,便須要在咱們的系統中埋點,一般埋點方式分爲幾種:一、通用系統埋點;二、前端埋點;三、後端接口埋點;前端
無埋點並非字面意思不埋點,其實也是一種埋點,只是讓開發人員徹底無感知,直接嵌入sdk,而後每一個元素都能查看他們的狀況,後續開發中也不須要開發者再作什麼開發。總結就是嵌入以後,開箱即用,不用開發。數據庫
Heap、國外主打的auto-capture後端
數據經過SDK,「自動」、「所有」地抓取後,就存儲在數據庫裏,任意獲取,網站再升級迭代也不用二次埋點markdown
一、數據量巨大,每一個地方都上報數據的話,那麼這個日誌數據庫將會存儲過多的無用信息dom
二、數據存在偏差,以WEB前端爲例,文檔一般是以DOM Tree的形式呈現,以下圖所示,經過一個元素在DOM Tree中的位置,以及其自身的屬性,咱們就能夠定位到某個元素。若是單頁應用的話,dom結構就會動態變化,那麼獲取到的元素就會變動,日誌還準嗎?工具
每處埋點須要一個惟一標識,調用一次落數接口,傳入須要的數據網站
後端埋點的話,多用於一些私密數據,直接在接口中埋點,這些數據沒法傳輸到前端的spa
要想規範埋點規則,最好是搭建一套通用埋點系統,而後只用申請本身的應用的點位,而後讓開發綁定點位到具體的時機日誌
遵循如下規則:code
該系統A
的某個頁面的標識該系統A.該頁面B
的某個區塊該系統A.該頁面B.該區塊C
的某個按鈕或其餘元素只須要在系統中建立好此次系統要落數的點位,而後綁定到落數的時機,就行了