iOS SDK 快速接入

最后更新于:2018-08-14 10:59:42

在使用前,请先阅读数据模型的介绍。

1. 事件设计表(示例)

事件设计表一般是由神策分析师和你们对接的同事,针对具体业务需求一起梳理的需要做埋点的 Excel 表。

事件和用户属性设计
事件表 用户表
事件名 事件属性 用户属性
购买商品( ViewProduct ) 商品名称( ProductName ) 姓名( name )
商品价格( ProductPrice ) 性别( gender )

2. iOS SDK 集成

pod 'SensorsAnalyticsSDK'
  1. 下载 iOS SDK 源码
  2. 将解压目录下 SensorsAnalyticsSDK 文件夹拖拽到 Xcode 工程内并请勾选 Copy items if needed 选项
  3. 项目设置 Build Phase —> Link Binary With Libraries 添加依赖库:libicucore、libsqlite3 和 libz

3. iOS SDK 使用

3.1 初始化 SDK

AppDelegate.m 文件导入头文件 #import \ 并在 - application:didFinishLaunchingWithOptions: 方法中初始化 SensorsAnalytics SDK

#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 数据】