iOS SDK 快速接入
最后更新于:2018-08-14 10:59:42
在使用前,请先阅读数据模型的介绍。
1. 事件设计表(示例)
事件设计表一般是由神策分析师和你们对接的同事,针对具体业务需求一起梳理的需要做埋点的 Excel 表。
事件和用户属性设计 | ||
事件表 | 用户表 | |
事件名 | 事件属性 | 用户属性 |
购买商品( ViewProduct ) | 商品名称( ProductName ) | 姓名( name ) |
商品价格( ProductPrice ) | 性别( gender ) |
2. iOS SDK 集成
pod 'SensorsAnalyticsSDK'
- 下载 iOS SDK 源码
- 将解压目录下 SensorsAnalyticsSDK 文件夹拖拽到 Xcode 工程内并请勾选 Copy items if needed 选项
- 项目设置 Build Phase —> Link Binary With Libraries 添加依赖库:libicucore、libsqlite3 和 libz
3. iOS SDK 使用
3.1 初始化 SDK
AppDelegate.m 文件导入头文件 #import \
#ifdef DEBUG
#define SA_SERVER_URL @"<#【测试项目】数据接收地址#>"
#define SA_DEBUG_MODE SensorsAnalyticsDebugAndTrack
#else
#define SA_SERVER_URL @"<#【正式项目】数据接收地址#>"
#define SA_DEBUG_MODE SensorsAnalyticsDebugOff
#endif
- (void)initSensorsAnalyticsWithLaunchOptions:(NSDictionary *)launchOptions {
// 初始化 SDK
[SensorsAnalyticsSDK sharedInstanceWithServerURL:SA_SERVER_URL
andLaunchOptions:launchOptions
andDebugMode:SA_DEBUG_MODE];
// 设置公共属性
[[SensorsAnalyticsSDK sharedInstance] registerSuperProperties:@{@"appName": @"HelloSensorsAnalytics"}];
// 追踪激活事件,详见:https://sensorsdata.cn/manual/app_channel_tracking.html
[[SensorsAnalyticsSDK sharedInstance] trackInstallation:@"AppInstall"];
// 打开自动采集, 并指定追踪哪些 AutoTrack 事件
[[SensorsAnalyticsSDK sharedInstance] enableAutoTrack:SensorsAnalyticsEventTypeAppStart|
SensorsAnalyticsEventTypeAppEnd|
SensorsAnalyticsEventTypeAppViewScreen|
SensorsAnalyticsEventTypeAppClick];
// 打通 App 与 H5,详见:https://sensorsdata.cn/manual/app_h5.html
[[SensorsAnalyticsSDK sharedInstance] addWebViewUserAgentSensorsDataFlag];
}
3.2 开启全埋点
开发者集成 Sensors Analytics SDK 后,SDK 可以自动采集一些用户行为,如 App 启动、退出等,开发者可以通过 enableAutoTrack: 接口打开自动采集功能:
// 打开自动采集, 并指定追踪哪些 AutoTrack 事件
[[SensorsAnalyticsSDK sharedInstance] enableAutoTrack:SensorsAnalyticsEventTypeAppStart|
SensorsAnalyticsEventTypeAppEnd|
SensorsAnalyticsEventTypeAppViewScreen|
SensorsAnalyticsEventTypeAppClick];
3.3 track 自定义事件
初始化 SDK 之后,可以在相应业务逻辑处通过 track 方法追踪用户行为事件,并为事件添加自定义属性。
// 用户浏览商品详情
- (void)userDidViewProduct {
[[SensorsAnalyticsSDK sharedInstance] track:@"ViewProduct"
withProperties:@{@"ProductName" : @"iPhone 8",
@"ProductPrice" : @(6888)}];
}
3.4 匿名 ID 和用户 ID 关联
用户在登录前 ,SDK 会分配一个匿名 ID 来标识游客。当用户注册成功或登录成功时调用 login 方法,传入对应的用户 ID ;匿名 ID 会与对应的用户 ID 进行关联,关联成功之后视为同一个用户。 调用时机:注册成功、登录成功 、初始化 SDK(如果能获取到用户 ID)都需要调用 login 方法传入用户 ID。
注意:用户 ID 是指可以唯一标识一个用户的 ID,通常是业务数据库里的主键或其它唯一标识。//注册成功、登录成功、初始化SDK后 调用 login 传入用户ID
[[SensorsAnalyticsSDK sharedInstance] login:@"用户 ID"];
3.5 设置用户属性
可以使用 set: 或 set:to: 方法设置用户属性,如年龄、性别等。
// 两种设置用户属性的方式
[[SensorsAnalyticsSDK sharedInstance] set:@"name" to:@"Lady Gaga"];
[[SensorsAnalyticsSDK sharedInstance] set:@{@"gender": @"Female"}];
4. 埋点数据校验
通过 Xcode 控制台查看事件数据
当 DebugMode 为 SensorsAnalyticsDebugAndTrack 或 SensorsAnalyticsDebugOnly 时,可通过 Xcode 控制台查看 track 是否成功。
查看实时导入数据
可以通过神策后台分析界面-【埋点】—【导入实时查 看】-【Debug 数据】 实时查看正在导入的数据,可以看到每条数据对应的事件名和用户 ID (distinct_id )可以通过此功能看到正在测试的数据,实时调试。 p.s. SensorsAnalyticsDebugOnly 时选择 【Debug 数据】