umAnalytics

概述

umAnalytics原生插件封装了友盟APP统计SDK。实现了友盟统计功能,包括启动次数、事件、页面等app数据的统计。

产品简述:

从App基础指标分析到用户行为洞察,提供免费的交互式即席查询能力,助力互联网企业充分挖掘用户行为数据价值,全面提升业务增长效能。

全面洞察渠道获客效果:

  • 动态监测推广渠道,精准洞悉渠道分包,获客效果一览即得;
  • 获客情况多维度、多场景查看,全方位了解用户来源

高灵活度业务看板:

  • 提供多行业灵活配置的分析模版,告别分析报表创建难题;
  • 150+业务评估指标,集成即用,及时诊断业务问题

用户行为分析:

  • 提供事件分析、漏斗分析、自定义留存等七种分析模型,实现分析闭环;
  • 支持即席、抽样查询,无需等待,快速把握业务脉搏,驱动业务决策

稳定性监控:

  • 新增卡顿/ANR错误类型上报,实时监控报警,全面、有效
  • 提供行为日志,快速还原错误现场,助力App稳定性优化

详情查看友盟统计产品文档: https://developer.umeng.com/docs/119267/detail/126061

原生插件使用步骤

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. 不能与以下原生插件共同使用

  1. umengAnalytics
  2. umengTJ

6. 其他问题和说明

  1. 友盟统计常见问题索引
  2. 由于苹果的App Store禁止不使用广告而采集IDFA的App上架,建议将应用提交至AppStore时按如下方式配置点击这里
  3. 开发测试时,APP的统计信息是不会实时显示在后台统计报表中的,所以需要使用集成测试功能;
  4. 自定义页面统计的报表为什么没有数据,请点击这里
  5. 为提高数据安全性,防止网络攻击,统计数据已加密上报;

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

配置并初始化

config({params})

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
   { 
     status:true       布尔类型;是否成功
   }

示例代码


var umAnalytics = api.require('umAnalytics'); 
umAnalytics.config(function(ret){ 
    api.alert({
            msg: JSON.stringify(ret)
        })
});
     

可用性

Android系统

可提供的1.0.0及更高版本

onResume

api.addEventListener 监听到 resume 事件后调用

onResume({params})

示例代码


var umAnalytics = api.require('umAnalytics'); 
umAnalytics.onResume();
     

可用性

Android系统

可提供的1.0.0及更高版本

onPause

api.addEventListener 监听到 pause 事件后调用

onPause({params})

示例代码


var umAnalytics = api.require('umAnalytics'); 
umAnalytics.onPause();
     

可用性

Android系统

可提供的1.0.0及更高版本

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) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: JSON.stringify(err)
        })
    }
});
     

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

onEvent

触发自定义事件,需要提前在统计平台上定义事件;自定义事件可以实现在应用程序中埋点来统计用户的点击行为。自定义事件目前包括“计数事件”和“计算事件”。

使用自定义事件功能请先登陆友盟+官网,在“统计分析->设置->事件”(子账户由于权限限制可能无法看到“设置”选项,请联系主帐号开通权限。)页面中添加相应的事件id,然后服务器才会对相应的事件请求进行处理。

onEvent(params,callback(ret, err))

params

eventId:

  • 类型:字符串
  • 描述:事件ID,与你在友盟中定义的id要一致,id不要是中文的,以免产生乱码。
  • 说明:eventId请使用(英文、数字、下划线、中划线、小数点及加号)进行定义,使用其中一种或者几种都可以,为保证数据计算的准确性,非这些“合法”以外的字符无法添加

attributes:

  • 类型:JSON 类型
  • 描述:(可选项)事件的属性和取值(Key-Value键值对),每个自定义事件可以有10个参数,每个参数可以有1000个取值
  • 说明: 本参数无需预先在平台上定义。

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){
                   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及更高版本

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) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: 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) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: 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){
              api.alert({
            msg: JSON.stringify(ret)
        })
             }else{
             api.alert({
            msg: 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){
        api.alert({
            msg: JSON.stringify(ret)
        })
            }
        });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/07/22