umengTJ
来自于:开发者
init onEvent onPageStart onPageEnd
概述
umengTJ实现了友盟统计功能,包括启动次数、事件、页面等app数据的统计,使用此模块之前需要先去 https://i.umeng.com/signup 注册用户,然后增加新的应用获取appkey用于统计。
不能同时使用的模块:umengAnalytics
使用此模块之前可以配置 config 文件来设置appkey和渠道号,(如不进行配置,则一定要在init方法中做相关配置)配置方法如下:
- 名称:umengTJ
- 参数:android_appkey、ios_appkey、android_channel、ios_channel
- 备注:一个 App 需要同时支持 iOS 和 Android 平台,则必须单独申请各自的 appKey,并同时配置在 config 文件中,android渠道和ios渠道分别标注。如非双平台APP,则只需写入一组参数,即:android平台的android_appkey和android_channel;iOS平台的ios_appkey和ios_channel。
- 配置示例:
<feature name="umengTJ">
<param name="android_appkey" value="#########" />
<param name="ios_appkey" value="**********" />
<param name="android_channel" value="apicloud" />
<param name="ios_channel" value="appstore" />
</feature>
字段描述:
1. android_appkey:通过友盟移动统计网站获得Android系统的key
2. ios_appkey:通过友盟移动统计网站获得iOS系统的key
3. ios_channel: iOS渠道号
4. android_channel: Android的渠道号
如何获取友盟appkey
- 注册应用,首先登录友盟统计
然后添加新应用,如是多平台的,需要按平台申请多个应用。
init
模块初始化,所有统计方法都需要在init后被调用,所以init方法一般放在首页面的apiready函数中。
init({params}, callback(ret, err))
params
appid:
- 类型:字符串
- 描述:(可选项)从友盟申请的appKey,注意android和iOS的key是不同的,在使用前需判断手机操作系统,以免错误统计。
path:
- 类型:字符串
- 描述:(可选项)app发布路径或渠道名称,自定义渠道名称(无需申请)后在统计时加以分别。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: 布尔类型;是否成功
msg: JSON对象;初始化成功后得到消息
}
err:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔类型;是否成功
msg: //JSON对象;初始化成功后得到消息
}
示例代码
//如在 config.xml 配置了key和channel,则调用本方法可忽略appid和path参数
var umeng = api.require('umengTJ'); //调用统计模块初始化,一般在app首页面调用
umeng.init({
// appid:'56eba8b4e0f55acc430000a1',
// path:'iosapp'
}, function(ret, err) { //通过 config.xml 配置appid
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onEvent
触发自定义事件,需要提前在统计平台上定义事件
onEvent(params,callback(ret, err))
init({params}, callback(ret, err))
params
eventid:
- 类型:字符串
- 描述:事件ID,与你在友盟中定义的id要一致,id不要是中文的,以免产生乱码。
labelkey:
labelvalue:
callback(ret, err)
ret:
- 类型:JSON 对象
内部字段:
{
status:ture //操作成功状态值,字符串类型
}
示例代码
var umeng = api.require('umengTJ');
umeng.onEvent({
eventid: '2', //自定义事件ID
labelkey: 'money', //自定义事件的参数
labelvalue: '12.00' //自定义事件的参数值
}, function(ret, err) {
if (ret.status) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
补充说明
事件ID、参数、参数值在平台中的显示如下:
查看自定义事件明细后显示参数及参数值
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
onPageStart
自定义页面统计开始,与onPageEnd
成对使用,在页面打开时调用此方法,如页面不需要统计,则无需调用此方法。
注意:本方法不会随页面打开自动调用,一定要在页面的初始化中写入。
onPageStart({parmas},callback(ret, err))
params
pagename:
- 类型:字符串
- 描述:自定义的页面名称,统计开始和结束统计的页面名称必须一致。
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
status: //布尔值,是否获取用户信息成功
msg: //JSON对象,页面统计开始
}
示例代码
var umeng = api.require('umengTJ');
umeng.onPageStart({
pagename: 'main',
}, 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: //布尔值,是否获取用户信息成功
msg: //JSON对象,页面统计开始}
示例代码
var umeng = api.require('umengTJ');
umeng.onPageEnd({
pagename: 'main',
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本