iOS進階_資料統計(埋點)
阿新 • • 發佈:2019-01-02
需求
如果公司App使用者基數很大,那就根據埋點資料分析App使用的反饋則意義重大。公司產品也會根據埋點資料做資料分析從而優化App功能設計。那麼要如何進行資料分析呢?分析的是什麼問題?需要哪些資料?這些資料從哪裡來?
首先通過產品定位及目標來確定自己需要哪些資料,其次通過在產品各個流程環節中設定資料埋點,最後,當用戶使用產品時,後臺就能源源不斷地接收到資料了。
那麼在iOS工程中如何實現埋點功能呢?
一般的埋點分為介面級別,action事件級別。
介面級別中的資料一般都是靜態的,與業務邏輯不相關,比如進入時間,離開時間,是否進入該介面等等。
action事件級別中互動事件統計,包括單擊、雙擊、手勢互動等
方案
- 使用第三方統計SDK,如:友盟的U-App,騰訊的MTA等。
手動埋點:常規的做法是將埋點程式碼封裝成工具類,但凡工程中需要埋點(如點選事件、頁面跳轉)的地方都插入埋點程式碼。
- 主要統計的資料為:當前頁面,頁面停留時間(進入與退出時間差計算),點選事件等。缺點是程式碼散亂不易維護
- 記錄每個頁面進入退出(viewWillAppear與viewWillDisappear)的時間,用來計算頁面停留時間,把觸發時間以及一些點選行為操作全記到一個模型物件中,然後在頁面離開或點選事件觸發把這個模型寫入到資料表中,到時候只要從表中取出資料再發送給後臺即可實現埋點。
- 為防止對後臺介面造成資料攻擊,每5分鐘從資料庫中取一次資料傳送,每200條列表資料向服務傳送,直到本次取出所有資料全部發送完畢。
3.無碼埋點
- Method Swizzling、Hook與程式碼注入,基於執行時的埋點方案。