umAnalytics

init onPageStart profileSignInWithPUID

概述

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

模块使用步骤

1. 注册帐号

请开发者到注册自己的账号

2. 创建应用并获取AppKey

AppKey是友盟+后台用来标示App的唯一标识符,集成SDK前需要在创建应用并获取相应的AppKey。创建应用并获取对应的AppKey.具体操作请查看如下网址:网址链接

3. 添加自定义事件

如果需要自定义事件统计,需进入应用,然后点击 设置 => 事件 => 添加事件 。

4. 配置 config.xml 文件

  • 名称:umAnalytics
  • 备注:一个 App 需要同时支持 iOS 和 Android 平台,则必须单独申请各自的 appKey,并同时配置在 config 文件中,android渠道和ios渠道分别标注。
  • 配置示例:
  • 字段描述:

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

5. 不能与以下模块共同使用

  1. umengAnalytics
  2. umengTJ

6. 其他问题和说明

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

7.注意

Android需升级环境进行编译

init

模块初始化

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

debugMode:

  • 类型:布尔类型
  • 描述:使用平台的集成测试时,需开启调试模式
  • 默认值:false

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status:true 布尔类型;是否成功
  3. }
  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. code: //错误码
  3. msg:'初始化失败' //字符串类型;错误信息
  4. }

示例代码

  1. var umAnalytics = api.require('umAnalytics'); umAnalytics.init({
  2. debugMode:true
  3. if (ret.status) {
  4. alert(JSON.stringify(ret));
  5. } else {
  6. alert(JSON.stringify(err));
  7. }
  8. });

可用性

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 对象
  • 内部字段:

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. code: 3, //错误码;
  3. //3(请设置 eventId)
  4. //4(请设置 attributes)
  5. msg: "请设置 eventId" //字符串类型;错误信息
  6. }

示例代码

  1. //使用计数事件需要在后台添加事件时选择“计数事件”。例:统计微博转发次数
  2. // 计数事件1:统计发生次数(只有 eventId 一个参数时)
  3. var umAnalytics = api.require('umAnalytics');
  4. umAnalytics.onEvent({
  5. eventId: 'Forward',
  6. },function(ret, err){
  7. if(ret.status){
  8. alert(JSON.stringify(ret));
  9. }else{
  10. alert(JSON.stringify(err));
  11. }
  12. // 计数事件2:统计点击行为各属性被触发的次数(有 eventId、attributes 两个参数时)
  13. // 例:统计购买商品类型为book,数量为3本
  14. var umAnalytics = api.require('umAnalytics');
  15. umAnalytics.onEvent({
  16. eventId: 'purchase',
  17. attributes: {
  18. type: 'book',
  19. quantity: '3'
  20. }
  21. },function(ret, err){
  22. if(ret.status){
  23. alert(JSON.stringify(ret));
  24. }else{
  25. alert(JSON.stringify(err));
  26. }
  27. });
  28. // 计算事件:使用计算事件需要在后台添加事件时选择“计算事件”(字符串型);统计数值型变量的值的分布(有 eventId、attributes、 counter 三个参数时)
  29. //示例:购买《Swift Fundamentals》这本书,花了110元
  30. var umAnalytics = api.require('umAnalytics');
  31. umAnalytics.onEvent({
  32. eventId: 'pay',
  33. attributes: {
  34. book: '《Swift Fundamentals》'
  35. },
  36. counter: 110,
  37. if(ret.status){
  38. alert(JSON.stringify(ret));
  39. }else{
  40. alert(JSON.stringify(err));
  41. }
  42. });

iOS系统,Android系统

可提供的1.0.0及更高版本

onPageStart

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

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

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

params

pageName:

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

callback(ret, err)

ret:

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

示例代码

  1. umAnalytics.onPageStart({
  2. pageName: '页面名称',
  3. }, function(ret, err) {
  4. if (ret) {
  5. alert(JSON.stringify(ret));
  6. } else {
  7. alert(JSON.stringify(err));
  8. }
  9. });

可用性

iOS系统,Android系统

onPageEnd

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

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

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

params

pageName:

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

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. var umAnalytics = api.require('umAnalytics');
  2. umAnalytics.onPageEnd({
  3. pageName: '页面名称',
  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及更高版本

profileSignInWithPUID

账号统计:登录。友盟在统计用户时以设备为标准,如果需要统计应用自身的账号,请使用此接口

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

params

userID:

  • 类型:字符串
  • 描述:用户账号ID.长度小于64字节
  • 默认值:无

provider:

  • 类型:字符串
  • 描述:(可选项)账号来源。如果用户通过第三方账号登陆,可以调用此接口进行统计。不能以下划线”_”开头,使用大写字母和数字标识; 如果是上市公司,建议使用股票代码。
  • 默认值:无

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. status: true, //布尔型;true||false,操作是否成功
  3. }

示例代码

  1. var umAnalytics = api.require('umAnalytics');
  2. umAnalytics.profileSignInWithPUID({
  3. userID:'000593',
  4. provider:"大通燃气"
  5. },function(ret,err){
  6. if(ret){
  7. alert(JSON.stringify(ret));
  8. }else{
  9. alert(JSON.stringify(err));
  10. }
  11. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

profileSignOff

账号统计:退出。友盟在统计用户时以设备为标准,如果需要统计应用自身的账号,请使用此接口

profileSignOff(callback(ret, err))

callback(ret)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. }

可用性

iOS系统,Android系统