SDK快速接入(watchOS)
前言(注意事项)
1、 保证自定义事件的ID已经注册。如果您需要使用自定义事件,那么需要在https://mtj.baidu.com 网站上自定义事件中定义您需要的自定义事件的ID,然后按照自定义事件的规范写入代码
2、 保证您已经替换了AppKey。Appkey需要在https://mtj.baidu.com 网站上注册应用,那么就会生成一个Appkey,该key是该应用的唯一标识。如果没有该key,统计数据将不会展现
3、如果不知道怎么接入代码,请参考https://mtj.baidu.com 网站上下载的SDK包中的demo实例程序
4、如果没有数据怎么办?请确认以上三点都已经确认,网站统计数据会在15分钟左右展示出来,如果没有数据有可能是您的时区设置或者时间出现暂时异常,可以选择换台设备来测试,或者联系我们
5、 关于渠道统计结果为appstore,说明您设置渠道在某种情况下丢失。请保证用户可能进入的页面已经设置了渠道,否则如果出现小型的崩溃或者内存不足时有可能导致起初设置的参数丢失
6、 SDK调试相关。为了方便调试,可以使用enableDebug接口来方便开发者通过Log来调试SDK
7、怎样快速的发送统计日志。可以设置session失效时间为1S(默认为30S,一般设置在1到600S之间)。这样每次启动间隔1S以上都会发送日志(前提是设置启动时发送而不是定时发送)
8、怎样查看发送日志。打开调试开关,每次发送时在xcode工具中都会有sdk的Log发出
简介
百度移动统计 SDK(watchOS)是百度为 watchOS 平台提供的应用统计工具(以下简称 SDK)。该文档提供了对如何使用 SDK 的一个详细说明。建议阅读时下载我们的 API 用例,按照用例设置自己的工程。您可以从此处下载SDK。
如有其他问题可以参考网站的FAQ,或者发送邮件到apptongji@baidu.com与我们联系。
版本支持
本SDK支持 watchOS 2.0 以上版本。
使用步骤
添加SDK
1、 添加SDK的静态文件和.h头文件到工程中的watch extension中
2、添加系统依赖库
Watchkit.framework
CoreLocation.framework
Foundation.framework
Security.framework
libz.tbd
添加完成后,项目工程的依赖如下所示:
参数申请
在百度移动统计平台申请应用ID(APP KEY)用于标识您的应用程序
在百度移动统计平台的应用配置功能中创建EventId来定义您的自定义事件
代码集成
1、启动代码
在watch extentsion应用启动函数applicationDidFinishLaunching中调用如下代码即可完成启动功能
BaiduMobStat *statTracker = [BaiduMobStat defaultStat];
statTracker.enableDebugOn = YES; // 开启调试功能
[statTracker startWithAppId:@"08d9722a13"]; // 设置您在百度移动统计平台申请的appkey
启动的过程中同您可以配置一些可选参数,具体有哪些参数,可详见BaiduMobStat.h文件。代码详见Demo程序。
2、自定义事件统计
自定义事件分两种类型,无时长自定义事件、时长自定义事件。
自定义事件统计使用的EventID需要预先在web端配置,并且eventLabel不能为nil或者空字符串。
无时长事件统计
/**
* 记录一次事件的点击,eventId请在网站上创建。未创建的evenId记录将无效。
*
* @param eventId 自定义事件Id,提前在网站端创建
* @param eventLabel 自定义事件Label,附加参数,不能为空字符串
*/
- (void)logEvent:(NSString )eventId eventLabel:(NSString)eventLabel;
自定义事件时长
自定义事件时长分为两种方法
在事件开始的时候调用 eventStart 方法,在事件结束时调用 eventEnd 方法。Sdk 自 动计算事件发生时长
/**
* 记录一次事件的开始,eventId请在网站上创建。未创建的evenId记录将无效。
*
* @param eventId 自定义事件Id,提前在网站端创建
* @param eventLabel 自定义事件Label,附加参数,不能为空字符串
*/
- (void)eventStart:(NSString *)eventId eventLabel:(NSString *)eventLabel;
/**
* 记录一次事件的结束,eventId请在网站上创建。未创建的evenId记录将无效。
*
* @param eventId 自定义事件Id,提前在网站端创建
* @param eventLabel 自定义事件Label,附加参数,不能为空字符串
*/
- (void)eventEnd:(NSString *)eventId eventLabel:(NSString *)eventLabel;
调用 logEventWithDurationTime 方法,并将事件时长作为第三个参数 duration传入
/**
* 记录一次事件的时长,eventId请在网站上创建。未创建的evenId记录将无效。
*
* @param eventId 自定义事件Id,提前在网站端创建
* @param eventLabel 自定义事件Label,附加参数,不能为空字符串
* @param duration 已知的自定义事件时长,单位为毫秒(ms)
*/
- (void)logEventWithDurationTime:(NSString *)eventId eventLabel:(NSString *)eventLabel durationTime:(unsigned long)duration;
自定义事件设置方法
1、 登录百度移动统计,点击应用进入查看报告
2、左侧导航栏找到设置-自定义事件管理
3、点击“添加事件”,输入“事件ID”(与代码中的ID一致),事件名称(事件的字面意义),点击“添加”,完成一个事件的添加。也可以按照模版批量上传
4、在代码中调用event相关Api时,将在web端添加的“事件ID”当作eventId参数传入
3、 页面统计
统计App中的InterfaceController页面访问情况
建议在各个InterfaceController中都添加Api调用统计,以增强对App的监控,同时提升对自定义事件、用户类型等数据的绑定准确度
页面统计接入如下两个API:
/**
* 记录某个页面访问的开始,请参见Example程序,在合适的位置调用。
* 建议在ViewController的viewDidAppear函数中调用
*
* @param name 页面名称
*/
- (void)pageviewStartWithName:(NSString *)name;
/**
* 记录某个页面访问的结束,与pageviewStartWithName配对使用,请参见Example程序,在合适的位置调用。
* 建议在ViewController的viewDidDisappear函数中调用
*
* @param name 页面名称
*/
- (void)pageviewEndWithName:(NSString *)name;
其调用样例如下:
- (void)didAppear {
[super didAppear];
[[BaiduMobStat defaultStat] pageviewStartWithName:@"Page"];
}
- (void)willDisappear {
[super willDisappear];
[[BaiduMobStat defaultStat] pageviewEndWithName:@"Page"];
}
4、渠道统计
您可以在startWithAppId之前调用statTracker.channelId = @"你的渠道名",设置不同的渠道名,如果channelId属性未设置,系统默认会采用AppStore为您的应用渠道。
5、 日志发送策略
日志发送策略有三种:
* 启动时发送(默认值,推荐使用),每次启动并联网时会将上一次启动期间的本地的日志发送
statTracker.BaiduMobStatLogStrategy=BaiduMobStatLogStrategyAppLaunch;
每日发送,设置每日单次发送后,启动时发送数据时会做一次检查,距离上次成功发送数据的时间间隔是否超过24小时,如果超过24小时,则将之前保存在本地的日志全部发送。如果还不到24小时,则不发送
statTracker.BaiduMobStatLogStrategy=BaiduMobStatLogStrategyAppDay;
自定义发送间隔,开发者可以自定义发送间隔(单位为小时,1-24 都可以设置),如果开发者设为N小时,启动时发送数据时会做一次检查,距离上次成功发送数据的时间间隔是否超过N小时,如果超过 N 小时,则将之前保存在本地的日志全部发送。如果还不到N小时,则不发送
statTracker.BaiduMobStatLogStrategy = BaiduMobStatLogStrategyCustom;
statTracker.logSentInterval = N;
调试方法
为了方便开发者进行调试,通过以下代码可以打开调试。运行时会有SDK的Log打印。
开启调试
在应用启动阶段,加入下面的代码(需要在 startWithAppId 之前调用)
statTracker.enableDebugOn=YES;
关闭调试
可以去除该代码或者设置为NO。
FAQ
1、 开通与设置百度移动统计步骤?
* 在百度移动统计的网站上注册并开通百度移动统计
* 登录后点击“新增应用”按钮,按步骤提示输入信息,创建应用
* 创建应用后会获得应用唯一的AppKey(代码中初始化必传参数,后续可在进入查看应用详情页的左侧导航-设置-应用信息查看AppKey)
* 下载iOS SDK,按照文档导入头文件与库文件,并按照步骤集成代码
2、 什么是渠道ID?
* 在集成代码初始化时设置的channelId,即为渠道ID。此处channelId为用户自定义,无标准值,用户自己查看报告时能区别即可
* 用户在web端“设置-渠道管理”中,可以暂停某个渠道,或者重命名渠道ID展现的名称
3、 为什么接入正常,网站却无数据?
* 请按照文档的 前言-关于调试 进行排查。确保AppKey正确设置,网络状态正常等
* 初始化时将属性参数enableDebugOn设置为YES,通过Xcode运行程序,在启动时,看Xcode中的Log信息中是否有移动统计的Log信息,进行进一步排查
* 行为数据上传到服务端到展现,有5-10分钟的延迟,请知晓
4、 用户的去重标准是什么?
* 百度移动统计以OpenUDID为基础,生成设备唯一标识ID,用于标识用户。