前言
神策分析 iOS SDK,是一款轻量级用于 iOS 端的数据采集埋点 SDK。神策分析 iOS SDK 不仅有代码埋点功能,还通过使用运行时机制(Runtime)中的相关技术实现 iOS 端的全埋点(无埋点、无码埋点、无痕埋点、自动埋点)、点击图、可视化全埋点等功能,下面将以SDK 版本 v1.11.16 为例介绍神策分析 iOS SDK 的架构。
目录结构
神策分析 iOS SDK 自开源以来,从最开始满足代码埋点的需求,到后来支持全埋点、可视化全埋点,SDK 的代码不断优化,目录结构也不断发生调整。目前开源代码中存在 Example、SensorsAnalyticsSDK 两个工程,Example 是一个测试工程,SensorsAnalyticsSDK 是神策分析 iOS SDK 工程,如下图所示:
Example 工程主要包含了下面几个目录:
-
SensorsData:基于 Objective-C 的 SDK 示例代码
-
SensorsDataSwift:基于 Swift 的 SDK 示例代码
-
SensorsDataExtention:App Extension 的示例代码
SensorsAnalyticsSDK 工程主要包含了下面几个目录:
-
SensorsAnalyticsSDK:神策分析 iOS SDK 的源码
-
SensorsAnalyticsExtension:App Extension 的数据管理类源码
-
SensorsAnalyticsTests:神策分析 iOS SDK 的单元测试源码
数据流程
上一节中对于神策分析 Android SDK 架构解析进行了详细的介绍,为了便于大家进一步理解 SDK 的架构,下面给出数据从采集到上传的流程,
如图所示: