商品簡介
作者簡介
名人/編輯推薦
目次
商品簡介
本書從實戰角度全面講解了iOS全埋點技術和解決方案,為基於iOS系統的各種數據采集場景提供詳盡的指導。全書一共14章。第1~2章介紹了數據采集SDK框架的搭建,以及應用程序的退出和啟動,這是實現iOS全埋點的基礎;第3~6章依次詳細講解了頁面瀏覽事件、控件點擊事件、UITableView和UICollection View點擊事件、手勢採集等場景的全埋點技術和解決方案;第7~14章分別講解了用戶標識、時間相關、數據存儲、數據同步、採集崩潰、App與H5打通、App Extension React Native等場景的全埋點技術和解決方案。所有的解決方案都提供了完整的項目源代碼,具有極強的實操性。
作者簡介
王灼洲,資深移動開發技術專家,目前就職於神策網絡科技(北京)有限公司,擔任合肥研發中心負責人,是公司最早的核心骨幹。
有近10年的Android & iOS開發經驗,是國內第一批Android研發工程師。對基於Android & iOS系統的各種客戶端和服務端的數據采集技術和解決方案都有深入研究,開發和維護著國內第一個商用開源Android & iOS數據埋點SDK。
著有《Android全埋點解決方案》一書,在行業裡引起了巨大的反響。
有近10年的Android & iOS開發經驗,是國內第一批Android研發工程師。對基於Android & iOS系統的各種客戶端和服務端的數據采集技術和解決方案都有深入研究,開發和維護著國內第一個商用開源Android & iOS數據埋點SDK。
著有《Android全埋點解決方案》一書,在行業裡引起了巨大的反響。
名人/編輯推薦
神策數據官方出品,合肥研發中心負責人執筆,1000余家客戶服務經驗總結,提供完整項目源碼
目次
推薦序
前言
第1章 數據采集SDK1
1.1 數據采集SDK簡介1
1.2 搭建SDK框架3
1.2.1 新建Cocoa Touch Framework3
1.2.2 新建Workspace4
1.2.3 新建Demo工程7
1.2.4 添加依賴關係10
1.2.5 編寫埋點SDK10
1.2.6 Demo集成埋點SDK18
第2章 應用程序退出和啟動20
2.1 全埋點簡介20
2.2 應用程序退出21
2.2.1 應用程序狀態21
2.2.2 實現步驟22
2.3 應用程序啟動24
2.3.1 實現步驟24
2.3.2 優化26
2.4 被動啟動28
2.4.1 Background Modes29
2.4.2 實現步驟30
2.4.3 優化33
第3章 頁面瀏覽事件36
3.1 UIViewController 生命週期36
3.2 Method Swizzling37
3.2.1 Method Swizzling基礎37
3.2.2 實現Method Swizzling的相關函數39
3.2.3 實現Method Swizzling40
3.3 實現頁面瀏覽事件全埋點42
3.3.1 實現步驟42
3.3.2 優化45
3.3.3 擴展48
3.3.4 遺留問題52
第4章 控件點擊事件53
4.1 Target-Action53
4.2 方案一54
4.2.1 實現步驟55
4.2.2 優化$AppClick事件57
4.2.3 支持更多控件65
4.3 方案二70
4.3.1 實現步驟70
4.3.2 支持更多控件75
4.4 方案總結78
第5章 UITableView和UICollection-View點擊事件80
5.1 支持UITableView控件80
5.1.1 方案一:方法交換80
5.1.2 方案二:動態子類86
5.1.3 方案三:消息轉發93
5.1.4 三種方案的總結102
5.1.5 優化103
5.2 支持UICollectionView控件107
第6章 手勢採集112
6.1 手勢識別器112
6.2 手勢全埋點114
6.2.1 UITapGestureRecognizer全埋點114
6.2.2 UILongPressGestureRecognizer全埋點118
第7章 用戶標識121
7.1 登錄之前122
7.1.1 UDID122
7.1.2 UUID125
7.1.3 MAC地址126
7.1.4 IDFA128
7.1.5 IDFV129
7.1.6 IMEI130
7.1.7 最佳實踐130
7.2 登錄之後140
第8章 時間相關144
8.1 事件發生的時間戳145
8.2 統計事件持續時長147
8.2.1 實現步驟147
8.2.2 事件的暫停和恢復152
8.2.3 後臺狀態下的事件時長155
8.3 全埋點事件時長158
8.3.1 $AppEnd事件時長158
8.3.2 $AppViewScreen 事件時長160
第9章 數據存儲162
9.1 數據存儲策略162
9.1.1 沙盒163
9.1.2 數據緩存165
9.2 文件緩存166
9.2.1 實現步驟166
9.2.2 優化174
9.2.3 總結179
9.3 數據庫緩存179
9.3.1 實現步驟179
9.3.2 優化190
9.3.3 總結197
第10章 數據同步198
10.1 同步數據198
10.1.1 Foundation簡介198
10.1.2 同步數據202
10.2 數據同步策略212
10.2.1 基本原則212
10.2.2 策略一214
10.2.3 策略二215
10.2.4 策略三220
第11章 採集崩潰223
11.1 NSException異常223
11.1.1 捕獲NSException 異常224
11.1.2 傳遞UncaughtException-Handler227
11.2 捕獲信號229
11.2.1 Mach 異常和Unix 信號230
11.2.2 捕獲Unix信號異常231
11.3 採集應用程序異常時的$AppEnd事件235
第12章 App與H5打通238
12.1 App與H5打通原因238
12.2 方案一:攔截請求239
12.2.1 修改UserAgent239
12.2.2 是否攔截243
12.2.3 二次加工H5事件244
12.2.4 攔截246
12.2.5 測試驗證247
12.3 方案二:JavaScript與WebView相互調用255
第13章 App Extension259
13.1 App Extension介紹259
13.1.1 App Extension類型259
13.1.2 App Extension 生命週期261
13.1.3 App Extension通信261
13.1.4 App Extension示例262
13.2 App Extension埋點270
第14章 React Native全埋點283
14.1 React Native 簡介283
14.1.1 創建項目283
14.1.2 基礎控件286
14.2 React Native全埋點293
14.2.1 事件響應293
14.2.2 $AppClick 事件295
前言
第1章 數據采集SDK1
1.1 數據采集SDK簡介1
1.2 搭建SDK框架3
1.2.1 新建Cocoa Touch Framework3
1.2.2 新建Workspace4
1.2.3 新建Demo工程7
1.2.4 添加依賴關係10
1.2.5 編寫埋點SDK10
1.2.6 Demo集成埋點SDK18
第2章 應用程序退出和啟動20
2.1 全埋點簡介20
2.2 應用程序退出21
2.2.1 應用程序狀態21
2.2.2 實現步驟22
2.3 應用程序啟動24
2.3.1 實現步驟24
2.3.2 優化26
2.4 被動啟動28
2.4.1 Background Modes29
2.4.2 實現步驟30
2.4.3 優化33
第3章 頁面瀏覽事件36
3.1 UIViewController 生命週期36
3.2 Method Swizzling37
3.2.1 Method Swizzling基礎37
3.2.2 實現Method Swizzling的相關函數39
3.2.3 實現Method Swizzling40
3.3 實現頁面瀏覽事件全埋點42
3.3.1 實現步驟42
3.3.2 優化45
3.3.3 擴展48
3.3.4 遺留問題52
第4章 控件點擊事件53
4.1 Target-Action53
4.2 方案一54
4.2.1 實現步驟55
4.2.2 優化$AppClick事件57
4.2.3 支持更多控件65
4.3 方案二70
4.3.1 實現步驟70
4.3.2 支持更多控件75
4.4 方案總結78
第5章 UITableView和UICollection-View點擊事件80
5.1 支持UITableView控件80
5.1.1 方案一:方法交換80
5.1.2 方案二:動態子類86
5.1.3 方案三:消息轉發93
5.1.4 三種方案的總結102
5.1.5 優化103
5.2 支持UICollectionView控件107
第6章 手勢採集112
6.1 手勢識別器112
6.2 手勢全埋點114
6.2.1 UITapGestureRecognizer全埋點114
6.2.2 UILongPressGestureRecognizer全埋點118
第7章 用戶標識121
7.1 登錄之前122
7.1.1 UDID122
7.1.2 UUID125
7.1.3 MAC地址126
7.1.4 IDFA128
7.1.5 IDFV129
7.1.6 IMEI130
7.1.7 最佳實踐130
7.2 登錄之後140
第8章 時間相關144
8.1 事件發生的時間戳145
8.2 統計事件持續時長147
8.2.1 實現步驟147
8.2.2 事件的暫停和恢復152
8.2.3 後臺狀態下的事件時長155
8.3 全埋點事件時長158
8.3.1 $AppEnd事件時長158
8.3.2 $AppViewScreen 事件時長160
第9章 數據存儲162
9.1 數據存儲策略162
9.1.1 沙盒163
9.1.2 數據緩存165
9.2 文件緩存166
9.2.1 實現步驟166
9.2.2 優化174
9.2.3 總結179
9.3 數據庫緩存179
9.3.1 實現步驟179
9.3.2 優化190
9.3.3 總結197
第10章 數據同步198
10.1 同步數據198
10.1.1 Foundation簡介198
10.1.2 同步數據202
10.2 數據同步策略212
10.2.1 基本原則212
10.2.2 策略一214
10.2.3 策略二215
10.2.4 策略三220
第11章 採集崩潰223
11.1 NSException異常223
11.1.1 捕獲NSException 異常224
11.1.2 傳遞UncaughtException-Handler227
11.2 捕獲信號229
11.2.1 Mach 異常和Unix 信號230
11.2.2 捕獲Unix信號異常231
11.3 採集應用程序異常時的$AppEnd事件235
第12章 App與H5打通238
12.1 App與H5打通原因238
12.2 方案一:攔截請求239
12.2.1 修改UserAgent239
12.2.2 是否攔截243
12.2.3 二次加工H5事件244
12.2.4 攔截246
12.2.5 測試驗證247
12.3 方案二:JavaScript與WebView相互調用255
第13章 App Extension259
13.1 App Extension介紹259
13.1.1 App Extension類型259
13.1.2 App Extension 生命週期261
13.1.3 App Extension通信261
13.1.4 App Extension示例262
13.2 App Extension埋點270
第14章 React Native全埋點283
14.1 React Native 簡介283
14.1.1 創建項目283
14.1.2 基礎控件286
14.2 React Native全埋點293
14.2.1 事件響應293
14.2.2 $AppClick 事件295
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

