iOS - 無侵入式統計打點


統計常規(guī)使用

  • 客戶端統計中當要使用統計的時候,普通的寫法是將統計單獨寫一個功能模塊,在工程中引入极舔,并在事件發(fā)生時去調用方法,例如:
-(void)btnClick{
  //某按鈕點擊
[StatClass logEvent:eventId message:@"message"];
}

常規(guī)統計造成的問題

  • 按照以上方式在客戶端進行統計的話可能會造成以下問題:
    • 在客戶端可能很多地方都會有類似冗余的代碼链瓦,侵入式的方式會提高功能模塊間耦合拆魏,代碼上及其不友好。
    • 如果測試同學沒有測出來很容易造成漏點慈俯,造成數據統計上出現問題稽揭。

無侵入解決思路

  • 思路:
    • 總體思路是否可以嘗試將客戶端所需的統計內容通過文件的形式下發(fā)到服務端,客戶端通過解析文件來獲取所需統計內容肥卡,客戶端在進行事件調用的時候再進行打點文件的寫入。
    • 代碼層盡量做到在不修改之前代碼的情況下事镣,完成統計功能步鉴。
    • 借用 method swizzing 來替換通常的方法,在自己的實現中添加對打點事件的解析璃哟,解析后寫入打點文件氛琢。
    • 制定文件協議,盡量通過有限的方法參數來完成多種打點需求随闪。
  • 可能出現的問題:
    • hook 有的系統原有方法會出現問題阳似。
    • 時常打點的統計。

實現過程與問題的解決

  • 過程:
    • 利用文件铐伴,在服務器配置所需打點文件撮奏,并下發(fā)客戶端俏讹,客戶端獲取文件后進行升級。
    • 獲取文件中打點內容畜吊,并進行緩存泽疆。
    • 根據 method swizzing 進行方法替換,實現通用打點邏輯玲献,這里實現的是將 class 和 method 一些參數傳入解析類中和文件內容進行匹配殉疼。
    • 打點類將結果寫入統計文件中,之后上傳后臺統計服務器捌年。
  • 待解決的問題:
    • 時常打點可以通過打點時候寫入時間戳瓢娜,后臺進行統計來完成。
    • hook 原有方法造成的問題正在解決礼预。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末眠砾,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子逆瑞,更是在濱河造成了極大的恐慌荠藤,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件获高,死亡現場離奇詭異哈肖,居然都是意外死亡,警方通過查閱死者的電腦和手機念秧,發(fā)現死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門淤井,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人摊趾,你說我怎么就攤上這事币狠。” “怎么了砾层?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵漩绵,是天一觀的道長。 經常有香客問我肛炮,道長止吐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任侨糟,我火速辦了婚禮碍扔,結果婚禮上,老公的妹妹穿的比我還像新娘秕重。我一直安慰自己不同,他們只是感情好,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著二拐,像睡著了一般服鹅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上卓鹿,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天菱魔,我揣著相機與錄音,去河邊找鬼吟孙。 笑死澜倦,一個胖子當著我的面吹牛,可吹牛的內容都是我干的杰妓。 我是一名探鬼主播藻治,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼巷挥!你這毒婦竟也來了桩卵?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤倍宾,失蹤者是張志新(化名)和其女友劉穎雏节,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體高职,經...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡钩乍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了怔锌。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寥粹。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖埃元,靈堂內的尸體忽然破棺而出涝涤,到底是詐尸還是另有隱情,我是刑警寧澤岛杀,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布阔拳,位于F島的核電站,受9級特大地震影響类嗤,放射性物質發(fā)生泄漏衫生。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一土浸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧彭羹,春花似錦黄伊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽墓阀。三九已至,卻和暖如春拓轻,著一層夾襖步出監(jiān)牢的瞬間斯撮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工扶叉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留勿锅,地道東北人。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓枣氧,卻偏偏與公主長得像溢十,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子达吞,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內容