umAnalytics原生插件封装了友盟APP统计SDK。实现了友盟统计功能,包括启动次数、事件、页面等app数据的统计。
产品简述:
从App基础指标分析到用户行为洞察,提供免费的交互式即席查询能力,助力互联网企业充分挖掘用户行为数据价值,全面提升业务增长效能。
全面洞察渠道获客效果:
高灵活度业务看板:
用户行为分析:
稳定性监控:
详情查看友盟统计产品文档: https://developer.umeng.com/docs/119267/detail/126061
1. 注册帐号
请开发者到友盟+官网注册自己的账号
2. 创建应用并获取AppKey
AppKey是友盟+后台用来标示App的唯一标识符,集成SDK前需要在创建应用并获取相应的AppKey。创建应用并获取对应的AppKey.具体操作请查看如下网址:网址链接
3. 添加自定义事件
如果需要自定义事件统计,需进入应用,然后点击 设置 => 事件 => 添加事件 。自定义事件功能说明
4. 配置 config.xml 文件
<feature name="umAnalytics">
<param name="ios_appkey" value="*************"/>
<param name="ios_channel" value="******"/>
<param name="android_appkey" value="***********"/>
<param name="android_channel" value="******"/>
</feature>
字段描述:
1. ios_appkey:通过友盟移动统计网站获得iOS系统的key
2. ios_channel: iOS渠道号
3. android_appkey:通过友盟移动统计网站获得Android系统的key
4. android_channel: Android的渠道号
5. 不能与以下原生插件共同使用
6. 其他问题和说明
7.注意事项
(1) 由于google play 及国内的一些app store审查的原因,自原生插件版本 1.0.5 后,新增接口 config、onResume、onPause,在原先初始化(init)之前需要调用config接口,并且需要在监听到app主页面启动后调用onResume、onPause接口
(2) 请务必在《隐私政策》中向用户告知使用友盟+SDK,参考条款如下:
使用SDK名称:友盟SDK
服务类型:请按SDK功能填写,如统计分析
收集个人信息类型:设备信息(IMEI/MAC/Android ID/IDFA/OpenUDID/GUID/SIM卡IMSI/ICCID/地理位置等)
隐私权政策链接:https://www.umeng.com/page/policy
api.addEventListener({
name:'resume'
}, function(ret, err){
umAnalytics.onResume();
});
api.addEventListener({
name:'pause'
}, function(ret, err){
umAnalytics.onPause();
});
配置并初始化
config({params})
ret:
{
status:true 布尔类型;是否成功
}
var umAnalytics = api.require('umAnalytics');
umAnalytics.config(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
Android系统
可提供的1.0.0及更高版本
api.addEventListener 监听到 resume 事件后调用
onResume({params})
var umAnalytics = api.require('umAnalytics');
umAnalytics.onResume();
Android系统
可提供的1.0.0及更高版本
api.addEventListener 监听到 pause 事件后调用
onPause({params})
var umAnalytics = api.require('umAnalytics');
umAnalytics.onPause();
Android系统
可提供的1.0.0及更高版本
原生插件初始化
init({params}, callback(ret, err))
debugMode:
ret:
{
status:true 布尔类型;是否成功
}
err:
{
code: //错误码
msg:'初始化失败' //字符串类型;错误信息
}
var umAnalytics = api.require('umAnalytics'); umAnalytics.init({
debugMode:true
}, function(ret, err) {
if (ret.status) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
触发自定义事件,需要提前在统计平台上定义事件;自定义事件可以实现在应用程序中埋点来统计用户的点击行为。自定义事件目前包括“计数事件”和“计算事件”。
使用自定义事件功能请先登陆友盟+官网,在“统计分析->设置->事件”(子账户由于权限限制可能无法看到“设置”选项,请联系主帐号开通权限。)页面中添加相应的事件id,然后服务器才会对相应的事件请求进行处理。
onEvent(params,callback(ret, err))
eventId:
attributes:
counter:
ret:
{
status: true, //布尔型;true||false,操作是否成功
}
err:
{
code: 3, //错误码;
//3(请设置 eventId)
//4(请设置 attributes)
msg: "请设置 eventId" //字符串类型;错误信息
}
//使用计数事件需要在后台添加事件时选择“计数事件”。例:统计微博转发次数
// 计数事件1:统计发生次数(只有 eventId 一个参数时)
var umAnalytics = api.require('umAnalytics');
umAnalytics.onEvent({
eventId: 'Forward',
},function(ret, err){
if(ret.status){
api.alert({
msg: JSON.stringify(ret)
})
}else{
api.alert({
msg: JSON.stringify(err)
})
}
});
// 计数事件2:统计点击行为各属性被触发的次数(有 eventId、attributes 两个参数时)
// 例:统计购买商品类型为book,数量为3本
var umAnalytics = api.require('umAnalytics');
umAnalytics.onEvent({
eventId: 'purchase',
attributes: {
type: 'book',
quantity: '3'
}
},function(ret, err){
if(ret.status){
api.alert({
msg: JSON.stringify(ret)
})
}else{
api.alert({
msg: JSON.stringify(err)
})
}
});
// 计算事件:使用计算事件需要在后台添加事件时选择“计算事件”(字符串型);统计数值型变量的值的分布(有 eventId、attributes、 counter 三个参数时)
//示例:购买《Swift Fundamentals》这本书,花了110元
var umAnalytics = api.require('umAnalytics');
umAnalytics.onEvent({
eventId: 'pay',
attributes: {
book: '《Swift Fundamentals》'
},
counter: 110,
},function(ret, err){
if(ret.status){
api.alert({
msg: JSON.stringify(ret)
})
}else{
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
自定义页面统计开始,与onPageEnd
成对使用,在页面打开时调用此方法,如页面不需要统计,则无需调用此方法。
注意:本方法不会随页面打开自动调用,一定要在页面的初始化中写入。
onPageStart({parmas},callback(ret, err))
pageName:
ret:
{
status: //布尔值,是否获取用户信息成功
}
var umAnalytics = api.require('umAnalytics');
umAnalytics.onPageStart({
pageName: '页面名称',
}, function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
自定义页面统计结束,与onPageStart
成对使用,单独使用无效,在页面关闭前调用。
注意:本方法不会随页面关闭自动调用,需要写在关闭页面的api.closeWin()或api.closeFrame()方法前有效。
onPageEnd({parmas},callback(ret, err))
pageName:
ret:
{
status: //布尔值,是否获取用户信息成功
}
var umAnalytics = api.require('umAnalytics');
umAnalytics.onPageEnd({
pageName: '页面名称',
}, function(ret, err) {
if (ret) {
api.alert({
msg: JSON.stringify(ret)
})
} else {
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
账号统计:登录。友盟在统计用户时以设备为标准,如果需要统计应用自身的账号,请使用此接口
profileSignInWithPUID({params}, callback(ret, err))
userID:
provider:
ret:
{
status: true, //布尔型;true||false,操作是否成功
}
var umAnalytics = api.require('umAnalytics');
umAnalytics.profileSignInWithPUID({
userID:'000593',
provider:"大通燃气"
},function(ret,err){
if(ret){
api.alert({
msg: JSON.stringify(ret)
})
}else{
api.alert({
msg: JSON.stringify(err)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
账号统计:退出。友盟在统计用户时以设备为标准,如果需要统计应用自身的账号,请使用此接口
profileSignOff(callback(ret, err))
ret:
{
status: true, //布尔型;true||false,操作是否成功
}
var umAnalytics = api.require('umAnalytics');
umAnalytics.profileSignOff(function(ret){
if(ret){
api.alert({
msg: JSON.stringify(ret)
})
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本