某些情況下我們需要對小程序某些用戶的行為進行數據進行統計,比如統計某個頁面的UV, PV等,統計某個功能的使用情況等。好讓產品對于產品的整個功能有所了解。 在網頁里,我們很多人都用過谷歌統計,小程序里也有一些第三方數據統計的庫, 比如騰訊的MTA等等。 但是,第三方的數據統計庫要么功能太簡單,滿足不了需求,要么就是要收費。(留下了貧窮的淚水。) 等等,又不是你出錢,怕啥? 貴一點就貴一點呀。
嗯,說的沒錯。但是,公司團隊內部想實現一套完整的自己的數據統計系統以滿足自己的需求。所以,還是沒有用第三方的。
所以,具體要統計些啥?
產品經理
想知道用戶都是怎么進入我們的小程序的? 用戶在我們小程序里那個頁面停留的時間最長?平均用戶停留時間是多少? 想知道我們最近開發的那個功能用的人多不多? 想統計小程序里的一些按鈕有多少用戶點擊了開發自己
總是很難復現用戶端出現的bug, 要是可以知道用戶端發生錯誤時,知道用戶當時的用的手機型號,微信版本,網絡環境,頁面參數,和錯誤信息就好了 想知道我們小程序啟動時間是多少? 接口在用戶端的平均響應時間是多少ms? 哪些接口報錯了針對產品經理的需求,我們可以知道,Ta想要的是就是數據統計要實現的功能。對于開發來說,我們關注的更多就是錯誤統小程序性能這塊的東西。
好,到這里,我們需求是明白了。就是要實現一套既能統計普通的埋點數據,也要能統計到小程序里一些特殊觸發的事件,比如appLaunch, appHide 等,還要可以統計錯誤。
好,那先來看看如何實現產品的需求吧
用戶進入小程序可以在 小程序 onLaunch 回調里拿到參數 的scene 值,這樣就可以知道用戶是怎么進入小程序的了。小case, 難不到我。
嗯,第一個需求實現了,那如何統計第二個呢?如何統計某個頁面的停留時間呢?
這也難不倒我,用戶在進入頁面時會觸發onShow 事件, 同樣,在離開頁面(或者切后臺時)會觸發onHide事件,我只需要在onShow里記錄一下時間,同時在onHide 里也記錄一下時間,把兩個時間一減就可以了。
Page({ data: { beginTime: 0, endTime: 0 }, onShow: function() { // Do something when page show. this.setData({ beginTime: new Date().getTime() }) }, onHide: function() { // Do something when page hide. let stayTime = new Date().getTime() - this.beginTime; // 這個就是用戶在這個頁面的停留時間了 }, })等等,這樣確實實現了需求,萬一產品要統計所有也面的停留時長? 那我們豈不要在每一個頁面都這樣寫一遍?有沒有更好的方法呢?
新聞熱點
疑難解答