1. 程式人生 > >iOS進階_資料統計(埋點)

iOS進階_資料統計(埋點)

需求

如果公司App使用者基數很大,那就根據埋點資料分析App使用的反饋則意義重大。公司產品也會根據埋點資料做資料分析從而優化App功能設計。那麼要如何進行資料分析呢?分析的是什麼問題?需要哪些資料?這些資料從哪裡來?

首先通過產品定位及目標來確定自己需要哪些資料,其次通過在產品各個流程環節中設定資料埋點,最後,當用戶使用產品時,後臺就能源源不斷地接收到資料了。

那麼在iOS工程中如何實現埋點功能呢?
一般的埋點分為介面級別,action事件級別。
介面級別中的資料一般都是靜態的,與業務邏輯不相關,比如進入時間,離開時間,是否進入該介面等等。

action事件級別中互動事件統計,包括單擊、雙擊、手勢互動等

方案

  1. 使用第三方統計SDK,如:友盟的U-App,騰訊的MTA等。
  2. 手動埋點:常規的做法是將埋點程式碼封裝成工具類,但凡工程中需要埋點(如點選事件、頁面跳轉)的地方都插入埋點程式碼。

    • 主要統計的資料為:當前頁面,頁面停留時間(進入與退出時間差計算),點選事件等。缺點是程式碼散亂不易維護
    • 記錄每個頁面進入退出(viewWillAppear與viewWillDisappear)的時間,用來計算頁面停留時間,把觸發時間以及一些點選行為操作全記到一個模型物件中,然後在頁面離開或點選事件觸發把這個模型寫入到資料表中,到時候只要從表中取出資料再發送給後臺即可實現埋點。
    • 為防止對後臺介面造成資料攻擊,每5分鐘從資料庫中取一次資料傳送,每200條列表資料向服務傳送,直到本次取出所有資料全部發送完畢。

    3.無碼埋點

    • Method Swizzling、Hook與程式碼注入,基於執行時的埋點方案。