注意

  1. SensorsAnalyticsSDK 从 v3.0.3 开始支持 macOS
  2. SensorsAnalyticsSDK 从 v4.6.0 开始支持 tvOS
  3. 在 macOS 和 tvOS,只支持基础的代码埋点,不支持全埋点、可视化全埋点、曝光等高级功能

提示

1. macOS 集成 SDK

  • Podfile 文件中添加 pod 'SensorsAnalyticsSDK', '>=3.0.3'
  • 打开终端,切换到项目目录
  • 执行 pod install  pod update

注:如果执行 pod update 无法检测到最新版本,可以先执行 pod cache clean SensorsAnalyticsSDK 清除本地缓存。

  • 从  GitHub 获取 SDK 的源代码
  • 将源代码中 SensorsAnalyticsSDK 目录导入 App 项目,并选中 Copy items if needed
  • 保留  Core、Store、JSBridge 三个文件夹,并将其他代码删除

  • 项目设置 "Build Phase" -> "Link Binary With Libraries" 中添加依赖库:libicucorelibsqlite3libz

2. tvOS 集成 SDK

  • Podfile 文件中添加 pod 'SensorsAnalyticsSDK', '>=4.6.0'
  • 打开终端,切换到项目目录
  • 执行 pod install  pod update

注:如果执行 pod update 无法检测到最新版本,可以先执行 pod cache clean SensorsAnalyticsSDK 清除本地缓存。

  • 从  GitHub 获取 SDK 的源代码
  • 将源代码中 SensorsAnalyticsSDK 目录下 Core、Store  个文件夹导入 App 项目,并选中 Copy items if needed
  • 删除 Core 中的 HookDelegate 文件夹

  • 项目设置 "Build Phase" -> "Link Binary With Libraries" 中添加依赖库:libicucorelibsqlite3libz

3. 初始化神策分析 SDK

3.1. 获取数据接收地址

如下图所示获取数据接收地址:

3.2. 初始化 SDK 及基本配置

注意:需要在 程序入口主线程 初始化 SDK,否则可能会丢失部分事件数据。

初始化 SDK

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    // Insert code here to initialize your application
     
     // 初始化配置
    SAConfigOptions *options = [[SAConfigOptions alloc] initWithServerURL:<#数据接收地址#> launchOptions:nil];
#ifdef DEBUG
    // 开启 Log
    options.enableLog = YES;
#endif
    // 初始化 SDK
    [SensorsAnalyticsSDK startWithConfigOptions:options];
}
CODE

4. 使用神策分析 SDK

4.1. 代码埋点追踪事件

神策分析 SDK 成功初始化后,可以通过 track: 和 track:withProperties: 方法追踪用户行为事件,并为事件添加自定义属性。以电商产品为例,可以这样追踪一次购物行为

代码埋点

UInt64 productId = 123456;
NSString *productCatalog = @"Laptop Computer";
BOOL isAddedToFavorites = NO;
 
[[SensorsAnalyticsSDK sharedInstance] track:@"ViewProduct"
                             withProperties:@{@"ProductID" : [NSNumber numberWithUnsignedLong:productId],
                                              @"ProductCatalog" : productCatalog,
                                              @"IsAddedToFav" : isAddedToFavorites ? @YES : @NO}];
CODE

注意:

  1. 事件名和属性名需要时合法变量名,且不能以 $ 开头;
  2. 属性名大小写敏感,并且不同事件会共用同名属性。即若 foo 事件含有 aaa 属性,则后续所有事件不能使用与 aaa 仅大小写不同的属性(如 aAa、aaA);
  3. 事件名和属性其他约束,具体请参考 数据格式
  4. macOS SDK 暂时只支持代码埋点,不支持全埋点。

4.2. 用户关联

用户关联是为了对用户进行唯一标识,提高用户行为分析的准确性。目前神策提供了简易用户关联和全域用户关联分为用于支撑不同的业务场景。

注意

由于模块化的架构,macOS 部分的用户关联部分的使用 API 参照 iOS SDK 即可,但是其它接口的使用需要参照本文档中接口。

4.3. 设置事件公共属性

对于所有事件都需要添加的属性,初始化 SDK 后,可使用 - registerSuperProperties: 将属性注册为公共属性。详细使用文档参见基础 API 功能介绍