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。
  • 配置示例:
  1. <feature name="umengTJ">
  2. <param name="android_appkey" value="#########" />
  3. <param name="ios_appkey" value="**********" />
  4. <param name="android_channel" value="apicloud" />
  5. <param name="ios_channel" value="appstore" />
  6. </feature>
  • 字段描述:

    1. 1. android_appkey:通过友盟移动统计网站获得Android系统的key
    2. 2. ios_appkey:通过友盟移动统计网站获得iOS系统的key
    3. 3. ios_channel: iOS渠道号
    4. 4. android_channel: Android的渠道号

如何获取友盟appkey

  • 注册应用,首先登录友盟统计

image

然后添加新应用,如是多平台的,需要按平台申请多个应用。

image

init

模块初始化,所有统计方法都需要在init后被调用,所以init方法一般放在首页面的apiready函数中。

init({params}, callback(ret, err))

params

appid:

  • 类型:字符串
  • 描述:(可选项)从友盟申请的appKey,注意android和iOS的key是不同的,在使用前需判断手机操作系统,以免错误统计。

path:

  • 类型:字符串
  • 描述:(可选项)app发布路径或渠道名称,自定义渠道名称(无需申请)后在统计时加以分别。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: 布尔类型;是否成功
  3. msg: JSON对象;初始化成功后得到消息
  4. }

err:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //布尔类型;是否成功
  3. msg: //JSON对象;初始化成功后得到消息
  4. }

示例代码

  1. //如在 config.xml 配置了key和channel,则调用本方法可忽略appid和path参数
  2. var umeng = api.require('umengTJ'); //调用统计模块初始化,一般在app首页面调用
  3. umeng.init({
  4. // appid:'56eba8b4e0f55acc430000a1',
  5. // path:'iosapp'
  6. }, function(ret, err) { //通过 config.xml 配置appid
  7. if (ret.status) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onEvent

触发自定义事件,需要提前在统计平台上定义事件

onEvent(params,callback(ret, err))

init({params}, callback(ret, err))

params

eventid:

  • 类型:字符串
  • 描述:事件ID,与你在友盟中定义的id要一致,id不要是中文的,以免产生乱码。

labelkey:

  • 类型:字符串
  • 描述:事件参数,每个自定义事件可以有10个参数,
  • 本参数无需预先在平台上定义。

labelvalue:

  • 类型:字符串
  • 描述:参数取值,每个参数可以有1000个取值,
  • 本参数值无需在平台上预先定义。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:

    1. {
    2. status:ture //操作成功状态值,字符串类型
    3. }

示例代码

  1. var umeng = api.require('umengTJ');
  2. umeng.onEvent({
  3. eventid: '2', //自定义事件ID
  4. labelkey: 'money', //自定义事件的参数
  5. labelvalue: '12.00' //自定义事件的参数值
  6. }, function(ret, err) {
  7. if (ret.status) {
  8. alert(JSON.stringify(ret));
  9. } else {
  10. alert(JSON.stringify(err));
  11. }
  12. });

补充说明

事件ID、参数、参数值在平台中的显示如下:

image

查看自定义事件明细后显示参数及参数值

image

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onPageStart

自定义页面统计开始,与onPageEnd成对使用,在页面打开时调用此方法,如页面不需要统计,则无需调用此方法。

注意:本方法不会随页面打开自动调用,一定要在页面的初始化中写入。

onPageStart({parmas},callback(ret, err))

params

pagename:

  • 类型:字符串
  • 描述:自定义的页面名称,统计开始和结束统计的页面名称必须一致。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //布尔值,是否获取用户信息成功
  3. msg: //JSON对象,页面统计开始
  4. }

示例代码

  1. var umeng = api.require('umengTJ');
  2. umeng.onPageStart({
  3. pagename: 'main',
  4. }, function(ret, err) {
  5. if (ret) {
  6. alert(JSON.stringify(ret));
  7. } else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onPageEnd

自定义页面统计结束,与onPageStart成对使用,单独使用无效,在页面关闭前调用。

注意:本方法不会随页面关闭自动调用,需要写在关闭页面的api.closeWin()或api.closeFrame()方法前有效。

onPageEnd({parmas},callback(ret, err))

params

pagename:

  • 类型:字符串
  • 描述:自定义的页面名称,统计开始和结束统计的页面名称必须一致。

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: //布尔值,是否获取用户信息成功
  3. msg: //JSON对象,页面统计开始}

示例代码

  1. var umeng = api.require('umengTJ');
  2. umeng.onPageEnd({
  3. pagename: 'main',
  4. }, function(ret, err) {
  5. if (ret) {
  6. alert(JSON.stringify(ret));
  7. } else {
  8. alert(JSON.stringify(err));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本