ajAnalytics
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
概述
ajAnalytics 本模块封装了极光统计SDK,通过简洁直观的数据报表帮助开发者了解用户的属性和使用情况,优化用户体验,为企业决策提供有效的数据支撑。注:本模块依赖于ajpush模块,需要与ajpush模块最新版本1.1.1及以上一起使用。
模块使用攻略
使用之前须在极光官网(https://www.jiguang.cn)申请开发者账号并创建应用,获取 appkey。
需要配置 config.xml 文件,config.xml添加以下代码,需通过云端编译生效,配置方法如下:
配置示例:
<meta-data name="JPUSH_APPKEY" value="appkey"/>
init
初始化sdk并配置必要参数
init()
params
appKey
- 类型:字符串
- 描述:(必须)极光创建App时候得到的appkey。
debug
- 类型:布尔型
- 描述:(可选)设置是否开启debug模式。true则会打印更多的日志信息,默认是false。
crashlog
- 类型:布尔型
- 描述:(可选)开启crashlog日志上报,true要上报,默认为false。
period
- 类型:数值型
- 描述:(可选)周期,单位秒,最小10秒,最大1天,超出范围会打印调用失败日志。传0表示统计数据即时上报,默认0。
channel
- 类型:字符串
- 描述:(必须)希望配置的channel。
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
cmd:"",//init;
code:0 //初始化成功
result:'success'
}
err:
- 类型:JSON对象
- 内部字段:
{
code: 0 //数字类型;
//错误码:
//-1(未知错误),
//0(成功)
}
示例代码
var param = {
debug:false,
crashlog:false,
period:0,
channel:'mychannel',
appKey:"your appKey"
};
ajAnalytics = api.require('ajAnalytics');
ajAnalytics.init(param, function(ret, err){
console.log(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
identify
登记账户信息
identify()
params
account
- 类型:字符串
- 描述:(必须)用户唯一id,可以根据需要传入业务中的userid等。
attrs
- 类型:JSON 对象
- 描述:(可选项)扩展参数,可以添加任意字符串的key,value,最多添加10个。
- 内部字段:
- {
- k1: “v1”,
- k2: “v2”,
- k3:”v3”
- }
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
cmd:"identify",;
code:0 //成功
result:'identify success'
}
err:
- 类型:JSON对象
- 内部字段:
{
code: 0 //数字类型;
//错误码:
//-1(未知错误),
//0(成功)
}
示例代码
var ajAnalytics = api.require('ajAnalytics');
var param = {
account:"account"+ ~~(Math.random()*10000),
attrs:{"k1":"v1","k2":"v2","k3":"v3"}
};
ajAnalytics.identify(param, function(ret, err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onEvent
记录自定义事件
onEvent()
params
eventType
- 类型:字符串
- 描述:(必须)事件模型,支持count(计数事件)、calculate(计算事件)、register(注册事件)、login(登录事件)、browse(浏览事件)、purchase(购买事件),默认是count(计数事件)。
attrs
- 类型:JSON 对象
- 描述:(可选项)扩展参数,可以添加任意字符串的key,value,最多添加10个。
- 内部字段:
- {
- k1: “v1”,
- k2: “v2”,
- k3:”v3”
- }
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
cmd:"onEvent",
code:0, //成功
result:'success'
}
err:
- 类型:JSON对象
- 内部字段:
{
code: 0 //数字类型;
//错误码:
//-1(未知错误),
//0(成功)
}
示例代码
/*以下是各个事件传参格式,参数意义参考极光文档:https://docs.jiguang.cn/janalytics/client/android_api/
var param = {
eventType:"login",//LoginEvent(登录事件)
method:"qq",//登录方式(非空)
success:true,//登录是否成功(非空)
attrs:{"k11":"v11","k2":"v2","k3":"v3"}
};
var param = {
eventType:"register",//RegisterEvent(注册事件)
method:"qq",//注册方式(非空)
success:true,//注册是否成功(非空)
attrs:{"k11":"v11","k2":"v2","k3":"v3"}
};
var param = {
eventType:"purchase",//PurchaseEvent(购买事件)
id:'good001',
name:"goodname001",
type:"goodtype",
count:10,//购买数量
success:true,
attrs:{"k11":"v11","k2":"v2","k3":"v3"}
};
var param = {
eventType:"browse",//BrowseEvent(浏览事件)
eventId:'eventId001',//浏览内容id
name:"bname",//内容名称(非空)
type:"btype",//内容类型
duration:60,//浏览时长,单位秒
attrs:{"k11":"v11","k2":"v2","k3":"v3"}
};
var param = {
eventType:"calculate",//CalculateEvent(计算事件)
eventId:'eventId001',//事件Id(非空)
value:99.99,//事件的值(非空)
attrs:{"k11":"v11","k2":"v2","k3":"v3"}
};
var param = {
eventType:"count",//CountEvent(计数事件)
eventId:'eventId001'//事件Id(非空),
attrs:{"k11":"v11","k2":"v2","k3":"v3"}
};
*/
var ajAnalytics = api.require('ajAnalytics');
var param = {
eventType:"count",
eventId:'eventId001',//事件Id(非空)
attrs:{"k11":"v11","k2":"v2","k3":"v3"}
};
ajAnalytics.onEvent(param, function(ret, err){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本