Lotuseed Android SDK 集成指南

三、添加方法

所有方法请在SDK初始化代码后进行调用(如果存在SDK初始化代码);

1、应用启动和关闭

接口说明:

1) 用于准确跟踪应用的打开次数,使用时长等信息;
2) 您需要在app的每个Activity的onResume和onPause方法里添加对于Lotuseed API的调用;
3) 如果所有Activity都继承同一个基类,只需要在基类中添加调用,子 Activity;

注意:

添加onResume, onPause是应用次数/时长控制的关键,未正确添加会影响到多数统计数据,所以务必需要正确添加。

接口定义

    public static void onResume(final Context context);
    public static void onPause(final Context context);

参数说明

参数 类型 描述
context Context 当前Activity的对象示例。

示例代码

@Override
protect void onResume (){
    super.onResume();

    Lotuseed.onResume (this);
}


@Override
protect void onPause (){
    super.onPause();

    Lotuseed.onPause(this);
}

2、使用错误报告

接口说明
1) 用于捕捉应用程序内未导致crash的错误日志,辅助开发者进行错误定位;
2) 请在SDK初始化代码后调用Lotuseed.onCrashLog()方法;

接口定义

//自动提交错误
public static void onCrashLog();
//手动提交错误
public static void onCustomLog(String logmsg);

参数说明

参数 类型 描述
logmsg String 提交的调试日志信息

示例代码

1. 自动提交onCrash Log :

@Override
protect void onCreate (){
super.onCreate();

Lotuseed.init(this);
//可选
Lotuseed.startWithAppKey(YOUR_APPKEY, YOUR_CHANNEL); 
//可选
Lotuseed.onCrashLog(); //使用自动提交错误报告
}

2. 手动提交onCustomLog:

Lotuseed.onCustomLog("我的错误信息");

3、统计自定义页面

接口说明
1. onResume和onPause接口用于统计Activity的起停,如需统计webView或其他中间件(如PhoneGap、WRP等)则可以通过onPageViewBegin和onPageViewEnd进行统计;
2. 这两个api需配对使用,参数pageName用于标识页面名称;另外下一个onPageViewBegin需在前一个onPageViewEnd后调用。

接口定义

//页面起始
public static void onPageViewBegin(final String pageName);
//页面结束
public static void onPageViewEnd(final String pageName);

参数说明

参数 类型 描述
pageName String 提交的调试日志信息

示例代码
略。

4、发送自定义事件

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

#事件数量统计:

接口定义

//默认使用智能发送策略模式接口
Lotuseed.onEvent(String eventID);
Lotuseed.onEvent(String eventID, long count);
Lotuseed.onEvent(String eventID, String label);
Lotuseed.onEvent(String eventID, String label,long count);
Lotuseed.onEvent(String eventID, Map<String, String> map);
Lotuseed.onEvent(String eventID, Map<String, String> map, long count);
//带实时发送参数immediately接口
Lotuseed.onEvent(String eventID, boolean immediately);
Lotuseed.onEvent(String eventID, long count, boolean immediately);
Lotuseed.onEvent(String eventID, String label, boolean immediately);
Lotuseed.onEvent(String eventID, String label, long count, boolean immediately);
Lotuseed.onEvent(String eventID, Map<String, String> map, boolean immediately);
Lotuseed.onEvent(String eventID, Map<String, String> map, long count, boolean immediately);

参数说明:

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

接口定义

//默认使用智能发送策略模式接口

Lotuseed.onEventDuration(String eventID, long duration);
Lotuseed.onEventDuration(String eventID, String label, long duration);
Lotuseed.onEventDuration(String eventID, Map<String, String> map, long duration);

//带实时发送参数immediately接口
Lotuseed.onEventDuration(String eventID, long duration, boolean immediately);
Lotuseed.onEventDuration(String eventID, String label, long duration, boolean immediately);
Lotuseed.onEventDuration(String eventID, Map<String, String> map, long duration, boolean immediately);

参数说明:

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

注意:
lotuseed除激活和app启动事件外,其他所有事件默认采用智能批量发送策略。

5、添加特定事件

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

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

接口定义

//用户注册
public static void onRegistration(String accountId);
public static void onRegistration(String accountId , Lotuseed.Gender gender, int age);
//用户登录
public static void onLogin(String accountId);
//用户注销
public static void onLogout(String accountId);

参数说明

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

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

接口定义

//用户订单
public static void onOrder(String accountId, String orderId, double number);

参数说明

参数 类型 描述
accountId String 用户账号ID
orderId String 用户订单ID
number double 订单金额

6、添加辅助功能

#添加apk更新功能:

接口说明
更新升级apk,支持差分增量更新功能,减少下载流量,增强用户体验;

接口定义

//自动更新提醒
public static void tryUpdateSlient();
//手动尝试更新
public static void tryUpdateManual();
//获取更新信息
public static tryUpdateAppInfo(Handler mHandler);

参数说明

参数 类型 描述
mHandler Handler 获取版本更新信息,存在新版本则从Handler的Message.obj返回OnlineAppinfo对象;从OnlineAppinfo对象可以获取到新版本号、下载URL地址、更新日志等信息

示例代码

  • 自动更新提醒:
@Override
protect void onCreate (){
    super.onCreate();

    Lotuseed.init(this);
    //可选
    Lotuseed.startWithAppKey(YOUR_APPKEY, YOUR_CHANNEL); 
    //可选
    Lotuseed.tryUpdateSlient(); //使用自动更新提醒
}
  • 手动尝试更新: 代码中调用Lotuseed.tryUpdateManual();

获取更新信息:

Lotuseed.tryUpdateAppInfo(new Handler() {

    @Override

    public void handleMessage(Message msg) {

        if (msg.obj != null) {

            OnlineAppinfo info = (OnlineAppinfo)msg.obj;

            Log.d("LOTUSEED", info.toString());

        }

    }
});

备注说明
配置AndroidManifest.xml:

    <activity
            android:label="@string/app_name"
            android:name="com.lotuseed.android.UpdateNotifyActivity"
            android:theme="@android:style/Theme.Translucent" >
   </activity>
#在线参数配置功能

接口说明

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

接口定义

//更新在线参数
public static void updateOnlineConfig();
//通过key获取在线参数
public static void getConfigParams(final String key, String defaultValue);

参数说明

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

如何使用

  1. 在SDK初始化代码后添加: ```java Lotuseed.updateOnlineConfig();
2.    程序内获取参数方法如下:

```java
String param = Lotuseed.getConfigParams("key", "defaultValue");  //如果是文件参数,则该方法返回本地文件名;