注意
- SensorsAnalyticsSDK 从 v3.0.3 开始支持 macOS
- SensorsAnalyticsSDK 从 v4.6.0 开始支持 tvOS
- 在 macOS 和 tvOS,只支持基础的代码埋点,不支持全埋点、可视化全埋点、曝光等高级功能
提示
- 在使用前,请先阅读数据模型
- SDK 的更新日志,可参阅 Release Notes
macOS 集成 SDK
CocoaPods 方式
- 在 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" 中添加依赖库:libicucore、libsqlite3 和 libz
- 在 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" 中添加依赖库:libicucore、libsqlite3 和 libz
tvOS 集成 SDK
CocoaPods 方式
- 在 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" 中添加依赖库:libicucore、libsqlite3 和 libz
- 在 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" 中添加依赖库:libicucore、libsqlite3 和 libz
初始化神策分析 SDK
获取数据接收地址
如下图所示获取数据接收地址:
初始化 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
使用神策分析 SDK
代码埋点追踪事件
神策分析 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
注意:
- 事件名和属性名需要时合法变量名,且不能以
$
开头; - 属性名大小写敏感,并且不同事件会共用同名属性。即若
foo
事件含有aaa
属性,则后续所有事件不能使用与aaa
仅大小写不同的属性(如 aAa、aaA); - 事件名和属性其他约束,具体请参考 数据格式;
- macOS SDK 暂时只支持代码埋点,不支持全埋点。
用户关联
用户关联是为了对用户进行唯一标识,提高用户行为分析的准确性。目前神策提供了简易用户关联和全域用户关联分为用于支撑不同的业务场景。
注意
由于模块化的架构,macOS 部分的用户关联部分的使用 API 参照 iOS SDK 即可,但是其它接口的使用需要参照本文档中接口。
设置事件公共属性
对于所有事件都需要添加的属性,初始化 SDK 后,可使用 - registerSuperProperties: 将属性注册为公共属性。详细使用文档参见基础 API 功能介绍。