推荐序
前言
第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
· · · · · · (
收起)
0 有用 猫管家 2021-01-19 20:55:34
还是有点干货的
0 有用 江糊骗子 2021-05-05 12:23:22
略shi感fen牛逼 从计算机思维到解决方案
0 有用 在水一方 2021-03-10 04:46:30
一天多看完,挺细致的,一步一步,逻辑严谨,实操性很强,又保留了开放讨论性,读完并实践不仅基本可以掌握全埋点的各种实现细节,对编码的严谨,设计模式等这些也会有一些提高,如线程同步,缓存策略这些通用的编码原则。
0 有用 Floiges 2020-08-03 09:37:48
当当上买了新书,2天时间看完。讲的很全面了,也可用来查漏补缺。
0 有用 Utopia 2020-05-20 13:50:47
神策技术团队力作,内容很丰富,讲解了10多种 iOS全埋点技术实现细节,还提供可实现源码,很干货、实用,对我帮助挺大的。