Lotuseed iOS SDK 集成指南

三、添加方法

参考“SDK初始化”一节,除setXXX方法外,其他方法请在startWithAppKey方法后进行调用,防止产生无效数据。

1、跟踪记录PageView

接口说明:

1) onPageViewBeginonPageViewEnd接口用于跟踪记录PageView访问时长、页面转化等;
2) 这两个API需配对使用,参数pageName用于标识页面名称;另外下一个onPageViewBegin需在前一个onPageViewEnd后调用;
3) onPV接口用于跟踪同一个Page页面内的子页面跟踪(需配合onPageViewBegin和onPageViewEnd接口使用),如商城页的专题跟踪。

接口定义

    //页面起始
    + (void)onPageViewBegin:(NSString *)pageName;
    //页面结束
    + (void)onPageViewEnd:(NSString *)pageName;

    //自定义页面结束
    + (void)onPV:(NSString *)pageName;

参数说明

参数 类型 描述
pageName NSString PageView标识串

示例代码

    - (void)viewWillAppear:(BOOL)animated {

        [super viewWillAppear:animated];

        [Lotuseed onPageViewBegin:@"PageOne"];
    }
    - (void)viewWillDisappear:(BOOL)animated {

        [super viewWillDisappear:animated];

        [Lotuseed onPageViewEnd:@"PageOne"];
    }

2、使用错误报告

接口说明
1) 用于捕捉应用程序内未导致crash的错误日志,辅助开发者进行错误定位;

接口定义

   //自动提交错误
   + (void) setCrashReportEnabled:(BOOL)value;

   //手动提交错误
   + (void) onCustomLog:(NSString *)logmsg;

参数说明

参数 类型 描述
value BOOL 是否采用自动提交(SDK默认不提交错误日志)
Logmsg NSString 提交的调试日志信息

如何使用

Lotuseed SDK提供两种提交错误报告的方法:
1)自动提交Crash Log :

    [Lotuseed setCrashReportEnabled:YES];

2)手动提交Custom Log:
代码中调用

    [Lotuseed onCustomLog :(NSString*)logmsg];

参数为开发者提交的调试日志信息;

3、发送自定义事件

接口说明
除了基本统计分析功能外,我们还支持您自定义的事件分析,例如您可以统计游戏中通过不同关卡的人数,广告的点击次数或者视频被播放的次数等等。

#事件数量统计:

接口定义

    //默认使用智能发送策略模式接口
    +(void)onEvent:(NSString *)eventID;
    +(void)onEvent:(NSString *)eventID withCount:(long)count;
    +(void)onEvent:(NSString *)eventID label:(NSString *)label;
    +(void)onEvent:(NSString *)eventID label:(NSString *)label withCount:(long)count;
    +(void)onEvent:(NSString *)eventID attributes:(NSDictionary *)dic;
    +(void)onEvent:(NSString *)eventID attributes:(NSDictionary *)dic withCount:(long)count;

    //带实时发送参数immediately接口
    +(void)onEvent:(NSString *)eventID postData:(BOOL)immediately;
    +(void)onEvent:(NSString *)eventID withCount:(long)count postData:(BOOL)immediately;
    +(void)onEvent:(NSString *)eventID label:(NSString *)label postData:(BOOL)immediately;
    +(void)onEvent:(NSString *)eventID label:(NSString *)label withCount:(long)count postData:(BOOL)immediately;
    +(void)onEvent:(NSString *)eventID attributes:(NSDictionary *)dic postData:(BOOL)immediately;
    +(void)onEvent:(NSString *)eventID attributes:(NSDictionary *)dic withCount:(long)count postData:(BOOL)immediately;

参数说明:

参数 类型 描述
eventID NSString 为当前统计的事件ID。
count long 事件本地累计数。当大量重复事件发生时,为减少网络流量,建议程序中先本地计算累计数count值。
label NSString 事件的一个属性描述。
Dic NSDictionary 为当前事件的属性和取值集合(key-value)。
immediately BOOL 实时发送开关,true为实时发送。
#事件时长统计:

接口定义

    //默认使用智能发送策略模式接口
    +(void)onEvent:(NSString *)eventID withDuration:(long)duration;
    +(void)onEvent:(NSString *)eventID label:(NSString *)label withDuration:(long)duration;
    +(void)onEvent:(NSString*)eventIDattributes:(NSDictionary*)dic withDuration:(long)duration;

    //带实时发送参数immediately接口
    +(void)onEvent:(NSString *)eventID withDuration:(long)duration postData:(BOOL)immediately;
    +(void)onEvent:(NSString *)eventID label:(NSString *)label withDuration:(long)duration postData:(BOOL)immediately;
    +(void)onEvent:(NSString *)eventID attributes:(NSDictionary *)dic withDuration:(long)duration postData:(BOOL)immediately;

参数说明:

参数 类型 描述
eventID NSString 为当前统计的事件ID。
duration long 时长,单位:毫秒。
label NSString 事件的一个属性描述。
Dic NSDictionary 为当前事件的属性和取值集合(key-value)。
immediately BOOL 实时发送开关,true为实时发送。

4、添加特定事件

#添加用户注册、登录、注销事件:

接口说明
追踪注册用户数,统计注册用户留存、活跃,用户登录、退出等信息;

接口定义

    //用户注册
    + (void)onRegistration:(NSString*)accountId;
    + (void)onRegistration:(NSString*)accountId 
      gender:(LSGAGender)gender 
      age:(int)age;

    //用户登录
    + (void)onLogin:(NSString*)accountId;
    + (void)onLogin:(NSString*)accountId 
      type:(NSString*)accountType;

    //用户注销
    + (void)onLogout:(NSString*)accountId;

参数说明

参数 类型 描述
accountId String 用户账号ID
gender Lotuseed.Gender 用户性别
age int 用户年龄
#添加用户订单事件:

接口说明
统计分析用户的订单信息;

接口定义

    //用户订单
    + (void)onOrder:(NSString*)accountId 
        orderId:(NSString*)orderId 
        amount:(double)number;

参数说明

参数 类型 描述
accountId String 用户账号ID
accountType String 账号类型:微信、QQ、微博等
orderId String 用户订单ID
number double 订单金额

5、获取独立设备ID

接口定义

    //获取设备ID
    + (NSString*)getDeviceID;

注意
如需支持iOS7及以上设备多app取得相同设备ID,则请参考startWithAppKey中的接口参数appleID。

6、添加辅助功能

#添加app更新提醒功能:

接口说明
支持app更新提醒功能,更新提示语和URL在Lotuseed Web上进行配置。

接口定义

    //默认方式进行版本更新检查
    + (void)checkUpate;

    //自定义提示标题进行版本更新检查
    + (void)checkUpate:(NSString*)title updateButtonCaption:(NSString*)update cancelButtonCaption:(NSString*)cancel;

    //自定义Delegate模式进行版本更新检查
    + (void)checkUpdateWithDelegate:(id)delegate didFinishSelector:(SEL)selector;

    //判断当前是否正在更新检查中
    + (BOOL)isUpdating;

参数说明

参数 类型 描述
title NSString 更新提示界面标题文本串
update NSString 立即更新按钮提示文本串
cancel NSString 取消更新按钮提示文本串
delegate id 自定义更新Delegate对象
selector SEL 自定义更新回调方法
#在线参数配置功能

接口说明

  1. 在线参数配置功能主要用于解决在不更新升级app的情况下通过云端下发参数值而改变app的逻辑,如彩蛋功能;
  2. 通过Lotuseed Web云端配置key-value键值对。 value可以是一个字符串,也可以是一个文件下载URL;key,value支持中文字符编码;如果参数是一个文件,SDK负责自动文件下载实现;
  3. updateOnlineConfig()更新在线参数,getConfigParams()获取在线参数。

接口定义

    //更新在线参数
    + (void) updateOnlineConfig;

    //通过key获取在线参数
    + (void) getConfigParams:(NSString*)key withDefaultValue:(NSString*)defaultValue;

参数说明

参数 类型 描述
key String 获取参数的key
defaultValue String 未获取到时的默认值

如何使用

  1. 在程序入口添加以下语句:
    [Lotuseed updateOnlineConfig];
  1. 程序内获取参数方法如下:
    NSString *param = [Lotuseed getConfigParams:@"key" withDefaultValue:@"defaultValue"];  //如果是文件参数,则该方法返回本地文件名;