本插件封装了极光统计SDK
极光以提供更加全面的开发者服务为目标,利用极光推送的数据和网络优势结合更丰富的功能,推出了极光统计(英文:JAnalytics)。极光统计为独立的统计 SDK ,让开发者可以更便捷的集成无需依赖 JPush 可以单独使用。通过简洁直观的数据报表帮助开发者了解用户的属性和使用情况,优化用户体验,为企业决策提供有效的数据支撑。
iOS使用此插件之前需先配置 config.xml 文件,方法如下
<feature name="jAnalytics">
<param name="appkey" value=""/>
<param name="channel" value=""/>
<param name="advertisingId" value=""/>
<param name="isProduction" value=""/>
<param name="appkey" value=""/>
<param name="debug" value=""/>
</feature>
字段描述:
appkey:appkey,在极光官网申请开发者账号并创建应用获取。
**channel**:(可选项)发布渠道。
**advertisingId**:(可选项)广告标识符(IDFA),IDFA能帮助您更准确的统计。
**isProduction**:(可选项)是否生产环境. 如果为开发状态,设置为false; 如果为生产状态,应改为 true.默认为false。
**debug**:(可选项)设置是否打印sdk产生的Debug级log信息, 默认为false(不打印log)
**urlScheme**:(可选项)用于实现应用间跳转及数据交换,开启圈选埋点必填。
Android 需要在config.xml中配置如下
<!-- 配置appkey:从 portal 上应用信息中获取 AppKey,并填写你的 Channel-->
<meta-data name="JPUSH_APPKEY" value="Your AppKey"/>
<meta-data name="JPUSH_CHANNEL" value="Your Channel"/>
Android 隐私政策说明
开发者请务必在《隐私政策》中向用户告知应用使用了极光统计SDK,参考条款如下:
SDK名称:极光统计SDK 服务类型:消息统计服务 SDK收集个人信息类型:
设备信息(IMEI/MAC/Android ID/IDFA/OAID/OpenUDID/GUID/SIM卡IMSI信息等):用于识别唯一用户,保证消息的精准统计;为开发者提供业务统计信息的服务; 网络信息与位置信息(IP地址,WiFi信息,基站信息等相关信息):优化SDK与极光服务器的网络连接请求,保证服务的稳定性和连续性;实现区域统计的功能。 APP安装列表信息:我们为向您提供统计功能,通过该信息推荐更符合您用户需要的统计内容,减少无用统计信息对您用户的打扰,您可以选择开启或关闭这项服务。 极光隐私权政策链接:《AURORA极光隐私政策》
注: 若通过极光统计SDK,请《隐私政策》向用户告知,建议如下:
隐私确认接口与SDK初始化 概述 极光合规授权接口是为了保障用户隐私为根本目的,广大的开发者务必遵循其相关协议,确保用户同意《隐私政策》之后,再另行使用极光业务SDK功能。
接口说明
var jAnalytics = api.require('jAnalytics');
jAnalytics.setAuth({
auth:true
});
调用逻辑:
同意隐私协议:
var jAnalytics = api.require('jAnalytics');
jAnalytics.setAuth({
auth:true
});
不同意隐私协议:
var jAnalytics = api.require('jAnalytics');
jAnalytics.setAuth({
auth:false
});
初始化SDK 确保App首次启动时,在用户阅读您的《隐私政策》并取得用户授权之后,才调用初始化函数 init(),此时SDK才会真正采集设备信息,并上报,如果没有在用户阅读您的《隐私政策》并取得用户授权, 或者用户不同意您的《隐私政策》,则不能调用初始化方法init()。
一旦App未获取到《隐私政策》的用户授权,后续的App冷启动,开发者应该保证在调用初始化SDK方法init()之前,调用setAuth()方法,告知极光未获得用户授权;
授权 (仅支持Android)
setAuth({param})
auth:
jAnalytics = api.require('jAnalytics');
jAnalytics.setAuth({
auth:true
});
Android系统
可提供的1.0.0及更高版本
开始记录页面停留 (仅支持Android)
init(callback(ret))
ret:
{
status:true, //布尔类型;是否成功
}
jAnalytics = api.require('jAnalytics');
jAnalytics.init(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
开始记录页面停留
startLogPageView({params})
pageName:
jAnalytics = api.require('jAnalytics');
jAnalytics.startLogPageView({
pageName:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
停止记录页面停留
stopLogPageView({params})
pageName:
jAnalytics = api.require('jAnalytics');
jAnalytics.stopLogPageView({
pageName:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
地理位置上报 (仅支持ios)
setLatitudeAndLongitude({params})
latitude:
longitude:
jAnalytics = api.require('jAnalytics');
jAnalytics.setLatitudeAndLongitude({
latitude:'',
longitude:''
});
iOS系统
可提供的1.0.0及更高版本
开启Crash日志收集,默认是关闭状态
crashLogON()
jAnalytics = api.require('jAnalytics');
jAnalytics.crashLogON();
iOS系统,Android系统
可提供的1.0.0及更高版本
注册事件数据上报
registerEvent({params})
method:
success:
extra:
jAnalytics = api.require('jAnalytics');
jAnalytics.registerEvent({
method:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
登陆事件数据上报
loginEvent({params})
method:
success:
extra:
jAnalytics = api.require('jAnalytics');
jAnalytics.loginEvent({
method:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
浏览事件数据上报
browseEvent({params})
name:
contentID:
type:
duration:
extra:
jAnalytics = api.require('jAnalytics');
jAnalytics.browseEvent({
name:'',
contentID:'',
type:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
购买事件数据上报
purchaseEvent({params})
goodsID:
goodsName:
goodsType:
price:
success:
quantity:
currency:
extra:
jAnalytics = api.require('jAnalytics');
jAnalytics.purchaseEvent({
goodsID:'',
goodsName:'',
goodsType:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
自定义计数事件数据上报
countEvent({params})
eventID:
extra:
jAnalytics = api.require('jAnalytics');
jAnalytics.countEvent({
eventID:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
计算事件数据上报
calculateEvent({params})
eventID:
value:
extra:
jAnalytics = api.require('jAnalytics');
jAnalytics.calculateEvent({
eventID:'',
value:''
});
iOS系统,Android系统
可提供的1.0.0及更高版本
设置用户信息
identifyAccount({params},callback(ret,err))
accountID:
creationTime:
sex:
birthdate:
paid:
phone:
email:
name:
wechatID:
qqID:
weiboID:
ret:
{
status:true, //布尔类型;是否成功
}
err:
{
err:0, //数字类型;错误码
msg:'' //字符串类型;错误信息
}
jAnalytics = api.require('jAnalytics');
jAnalytics.identifyAccount({
accountID:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本
解绑当前的用户信息
detachAccount(callback(ret,err))
ret:
{
status:true, //布尔类型;是否成功
}
err:
{
err:0, //数字类型;错误码
msg:'' //字符串类型;错误信息
}
jAnalytics = api.require('jAnalytics');
jAnalytics.identifyAccount({
accountID:''
},function(ret) {
api.alert({ msg:JSON.stringify(ret)});
});
iOS系统,Android系统
可提供的1.0.0及更高版本