umAnalytics
来自于:开发者
init onEvent onPageStart onPageEnd profileSignInWithPUID profileSignOff
概述
umAnalytics模块封装了友盟APP统计SDK。实现了友盟统计功能,包括启动次数、事件、页面等app数据的统计。
模块使用步骤
1. 注册帐号
请开发者到友盟+官网注册自己的账号
2. 创建应用并获取AppKey
AppKey是友盟+后台用来标示App的唯一标识符,集成SDK前需要在创建应用并获取相应的AppKey。创建应用并获取对应的AppKey.具体操作请查看如下网址:网址链接
3. 添加自定义事件
如果需要自定义事件统计,需进入应用,然后点击 设置 => 事件 => 添加事件 。自定义事件功能说明
4. 配置 config.xml 文件
- 名称:umAnalytics
- 备注:一个 App 需要同时支持 iOS 和 Android 平台,则必须单独申请各自的 appKey,并同时配置在 config 文件中,android渠道和ios渠道分别标注。
- 配置示例:
<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. 不能与以下模块共同使用
- umengAnalytics
- umengTJ
6. 其他问题和说明
- 友盟统计常见问题索引;
- 由于苹果的App Store禁止不使用广告而采集IDFA的App上架,建议将应用提交至AppStore时按如下方式配置点击这里;
- 开发测试时,APP的统计信息是不会实时显示在后台统计报表中的,所以需要使用集成测试功能;
- 自定义页面统计的报表为什么没有数据,请点击这里;
- 为提高数据安全性,防止网络攻击,统计数据已加密上报;
7.注意
Android需升级环境进行编译
init
模块初始化
init({params}, callback(ret, err))
params
debugMode:
- 类型:布尔类型
- 描述:使用平台的集成测试时,需开启调试模式
- 默认值:false
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true 布尔类型;是否成功
}
err:
- 类型:JSON 对象
- 内部字段:
{
code: //错误码
msg:'初始化失败' //字符串类型;错误信息
}
示例代码
var umAnalytics = api.require('umAnalytics'); umAnalytics.init({
debugMode:true
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onEvent
触发自定义事件,需要提前在统计平台上定义事件;自定义事件可以实现在应用程序中埋点来统计用户的点击行为。自定义事件目前包括“计数事件”和“计算事件”。
使用自定义事件功能请先登陆友盟+官网,在“统计分析->设置->事件”(子账户由于权限限制可能无法看到“设置”选项,请联系主帐号开通权限。)页面中添加相应的事件id,然后服务器才会对相应的事件请求进行处理。
onEvent(params,callback(ret, err))
params
eventId:
- 类型:字符串
- 描述:事件ID,与你在友盟中定义的id要一致,id不要是中文的,以免产生乱码。
- 说明:eventId请使用(英文、数字、下划线、中划线、小数点及加号)进行定义,使用其中一种或者几种都可以,为保证数据计算的准确性,非这些“合法”以外的字符无法添加
attributes:
counter:
- 类型:字符串
- 描述:(可选项)当前事件的数值。如果设置此参数,则必须设置 attributes 参数
- 默认值:无
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: true, //布尔型;true||false,操作是否成功
}
err:
- 类型:JSON对象
- 内部字段:
{
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){
alert(JSON.stringify(ret));
}else{
alert(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){
alert(JSON.stringify(ret));
}else{
alert(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){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onPageStart
自定义页面统计开始,与onPageEnd
成对使用,在页面打开时调用此方法,如页面不需要统计,则无需调用此方法。
注意:本方法不会随页面打开自动调用,一定要在页面的初始化中写入。
onPageStart({parmas},callback(ret, err))
params
pageName:
- 类型:字符串
- 描述:自定义的页面名称,统计开始和结束统计的页面名称必须一致。
- 默认值:无
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔值,是否获取用户信息成功
}
示例代码
var umAnalytics = api.require('umAnalytics');
umAnalytics.onPageStart({
pageName: '页面名称',
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onPageEnd
自定义页面统计结束,与onPageStart
成对使用,单独使用无效,在页面关闭前调用。
注意:本方法不会随页面关闭自动调用,需要写在关闭页面的api.closeWin()或api.closeFrame()方法前有效。
onPageEnd({parmas},callback(ret, err))
params
pageName:
- 类型:字符串
- 描述:自定义的页面名称,统计开始和结束统计的页面名称必须一致。
- 默认值:无
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔值,是否获取用户信息成功
}
示例代码
var umAnalytics = api.require('umAnalytics');
umAnalytics.onPageEnd({
pageName: '页面名称',
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
profileSignInWithPUID
账号统计:登录。友盟在统计用户时以设备为标准,如果需要统计应用自身的账号,请使用此接口
profileSignInWithPUID({params}, callback(ret, err))
params
userID:
- 类型:字符串
- 描述:用户账号ID.长度小于64字节
- 默认值:无
provider:
- 类型:字符串
- 描述:(可选项)账号来源。如果用户通过第三方账号登陆,可以调用此接口进行统计。不能以下划线”_”开头,使用大写字母和数字标识; 如果是上市公司,建议使用股票代码。
- 默认值:无
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false,操作是否成功
}
示例代码
var umAnalytics = api.require('umAnalytics');
umAnalytics.profileSignInWithPUID({
userID:'000593',
provider:"大通燃气"
},function(ret,err){
if(ret){
alert(JSON.stringify(ret));
}else{
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
profileSignOff
账号统计:退出。友盟在统计用户时以设备为标准,如果需要统计应用自身的账号,请使用此接口
profileSignOff(callback(ret, err))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false,操作是否成功
}
示例代码
var umAnalytics = api.require('umAnalytics');
umAnalytics.profileSignOff(function(ret){
if(ret){
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本