×
图文详情
  • ISBN:9787111653622
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:295
  • 出版时间:2020-05-01
  • 条形码:9787111653622 ; 978-7-111-65362-2

本书特色

本书从实战角度全面讲解了iOS全埋点技术和解决方案,为基于iOS系统的各种数据采集场景提供详尽的指导。 本书由神策数据官方出品,总结了他们过去为1000余家企业客户提供服务的实践经验。执笔人是神策数据合肥研发中心负责人,在Android & iOS等领域有10年的研发经验,对各种数据采集技术和解决方案都有深入研究,开发和维护着国内*个商用的开源 Android & iOS 数据埋点 SDK。 全书一共14章: 第1~2章介绍了数据采集SDK框架的搭建,以及应用程序的退出和启动,这是实现iOS全埋点的基础; 第3~6章依次详细讲解了页面浏览事件、控件点击事件、UITableView和UICollection View点击事件、手势采集等场景的全埋点技术和解决方案; 第7~14章分别讲解了用户标识、时间相关、数据存储、数据同步、采集崩溃、App 与 H5 打通、App Extension React Native等场景的全埋点技术和解决方案。 所有的解决方案都提供了完整的项目源代码,具有极强的实操性。

内容简介

大部分互联网行业的从业人员可能都比较熟悉埋点这个概念,即通过嵌入方或者第三方 SDK,采集用户在产品上的操作,也就是采集用户的行为数据。埋点一般可以分为客户端埋点和后端埋点。客户端埋点由于更加贴近业务,更加直观,因此成为目前市面上的主流数据采集手段。其中,Android与iOS端的埋点更是得到了广泛应用。对于iOS端的埋点,目前市面上主要流行代码埋点与全埋点两种技术方案。其中,代码埋点即显式地调用数据采集SDK提供的接口来采集数据,在采集能力上有比较大的优势,但是需要做额外的开发,易用性较为欠缺;全埋点则不需要额外写代码,使用方便快捷,但是在采集能力上有所欠缺,并且存在比较多的兼容性问题。两种方案说不上孰优孰劣,各自有适用的应用场景。根据服务客户所积累的很好实践,我们推崇两种方案综合使用。灼洲以及他所负责的SDK团队,在公司内部一直负责客户端与服务端的数据采集SDK的研发工作,不仅为客户提供了完整的数据采集方案,而且解决了客户在数据采集过程中碰到的各种疑难问题。在整个研发与服务客户的过程中,灼洲团队积累了丰富的经验,并且通过开源数据采集SDK、持续举办各种技术沙龙,为整个数据采集的技术社区做出了一些贡献。在这个过程中,团队也希望能够通过这本书的出版,给读者讲明白“iOS全埋点”这一之前看起来有点像“黑科技”的技术方案的实现细节,以及各种实现方式的优缺点。同时,也希望读者在读了本书之后,能够对数据采集有更多的认识,能够结合自己的实际业务场景,设计出更好的数据采集方案。

目录

推荐序 前言 第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
展开全部

作者简介

王灼洲 资深移动开发技术专家,目前就职于神策网络科技(北京)有限公司,担任合肥研发中心负责人,是公司*早的核心骨干。 有10年的Android & iOS开发经验,是国内**批Android研发工程师。对基于Android和iOS系统的各种客户端和服务端的数据采集技术和解决方案都有深入研究,开发和维护着国内**个商用的开源 Android & iOS 数据埋点 SDK。 著有《Android全埋点解决方案》一书,在行业里引起了巨大的反响。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航