-
Notifications
You must be signed in to change notification settings - Fork 13
王集鹄 edited this page Sep 3, 2013
·
7 revisions
#API
/**
* 初始化NLog
* @param context 上下文
* @param params 参数集合
*/
public void init(Context context, Object... params)params 说明
| 参数 | 说明 | 单位 | 默认值 | 取值范围 |
|---|---|---|---|---|
| ruleUrl | 云端策略存放的路径 | null | ||
| ruleExpires | 策略文件过期时间 | 天 | 2 | |
| childPackages | 主动打开的第三方应用集 | String | ||
| onlywifi | 只在wifi环境下发送 | bool | false | |
| sendMaxLength | 单次发送最大的包长度 | KB | 200 | 2-500 |
| sendInterval | 重发数据周期 | 秒 | 120 | 1-600 |
| sendIntervalWifi | 在wifi环境下的重发周期 | 秒 | 60 | 1-600 |
| sessionTimeout | 会话超时时间 | 秒 | 30 | 30-120 |
| storageExpires | 离线数据过期时间 | 天 | 10 | 2-30 |
| sampleRate | 各个Tracker的抽样率 | 浮点数 | [1...] | 0-1 |
例如
NLog.init(this,
"ruleUrl=", "http://hunter.duapp.com/nlog/demo.rule.js", // 策略文件存放地址
"ruleExpires=", "5", // 策略文件失效时间,5天
"sampleRate=", NLog.buildMap("pv=", 1, "speed=", 0.5) // pv全样本、speed抽50%
); /**
* 执行命令,调用简单,具有容错性
* @param cmd 命令,"<追踪器名>.<方法名>"
* @param params 参数列表
* @return 返回get命令结果
*/
public Object cmd(String cmd, Object... params) 详细接口文档参考:api文档
cmd 说明
| 参数 | 说明 | 备注 |
|---|---|---|
| "start" | 开始追踪器 | |
| "set" | 设置字段 | |
| "get" | 获取字段 | |
| "send" | 发送数据 |
cmd 为 start 说明
| 参数 | 说明 | 备注 |
|---|---|---|
| "postUrl" | 日志服务器地址 | |
| "protocolParameter" | 控制字段是否发送和简写 |
cmd 为 send 说明
| 参数 | 说明 | 备注 |
|---|---|---|
| "appview" | 激活 | |
| "event" | 事件 | category,action,label,value |
| "timing" | 耗时 | category,var,value,label |
| "exception" | 异常 | threadName,description,fatal |
例如
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
deviceId = tm.getDeviceId();
if (applicationContext == null) { // 初始化 // 注意onCreate可能被调用多次,这个判断是必须的
applicationContext = this.getApplicationContext();
NLog.init(this,
"ruleUrl=", "http://hunter.duapp.com/nlog/demo.rule.js", // 策略文件存放地址
"ruleExpires=", 5 // 策略文件失效时间 // 单位:天
);
NLog.cmd("pv.start",
"postUrl=", "http://hunter.duapp.com/command/?command=nlog-post&channel=demo",
"cuid=", deviceId
);
NLog.on("createSession", new NLog.EventListener() {
@Override
public void onHandler(Map<String, Object> map) {
NLog.cmd("pv.send", "appview"); // 发送appview消息
}
});
}
NLog.follow(this);
...
}/**
* Activity生命周期发生改变 需要在每个Activity的onResume()和onPause()方法中调用,监听session变化
* 能够追踪的方法有:onCreate、onStart、onResume、onPause、onStop、onDestroy、onRestart
*/
public static void follow(Context context)例如
@Override
protected void onPause() {
super.onPause();
NLog.follow(this);
}
@Override
protected void onResume() {
super.onResume();
NLog.follow(this);
}| 事件名 | 说明 | 备注 |
|---|---|---|
| createSession | 会话启动时触发 | |
| destroySession | 会话销毁时触发 | |
| follow | activity生命周期变化 | |
| report | 数据上报时触发 | 可对上报数据加工 |
| upgrade | 应用升/降级 | 应用版本号变化 |
