在APICloud开发平台使用友盟统计功能教程

简介: APICloud开发平台模块库中的umAnalytics模块封装了友盟APP统计SDK。实现了友盟统计功能,包括启动次数、事件、页面等app数据的统计。

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

模块的使用步骤主要如下:


1、首先需注册好APICloud开发者账号(www.apicloud.com)和友盟开发者账号(www.umeng.com


2、进入官网点击移动统计创建应用并获取AppKey

image.png


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

image.png


4、配置 config.xml 文件

一个 App 需要同时支持 iOS 和 Android 平台,则必须单独申请各自的 appKey,并同时配置在 config 文件中,Android渠道和iOS渠道分别标注

<feature name="umAnalytics">
     // ios_appkey:通过友盟移动统计网站获得iOS系统的key
    <param name="ios_appkey" value="*************"/>
  // iOS渠道号
    <param name="ios_channel" value="******"/>
    // 通过友盟移动统计网站获得Android系统的key
    <param name="android_appkey" value="***********"/>
  // Android的渠道号
    <param name="android_channel" value="******"/>
</feature>

image.gif

5、常见问题的索引  https://community.umeng.com/


6、注意

在APICloud开发平台使用时不能与umengAnalytics、umengTJ模块共同使用,同时由于Google Play 及国内的一些app store审查的原因,自模块版本 1.0.5 后,新增接口 config、onResume、onPause,在原先初始化(init)之前需要调用config 接口, 并且需要在监听到app主页面启动后调用onResume、onPause接口


引入的代码也比较简单,示例如下:

apiready = function () {
        var umAnalytics = api.require('umAnalytics');
        if (systemType == 'android') {
            umAnalytics.config();
        }
        umAnalytics.init();
        api.addEventListener({
            name: 'resume'
        }, function (ret, err) {
            umAnalytics.onResume();
        });
        api.addEventListener({
            name: 'pause'
        }, function (ret, err) {
            umAnalytics.onPause();
        });
}

image.gif

引入后编译正式包,客户下载安装,在友盟后台就可以统计到用户的相关信息

image.png

image.png

image.png


此外,友盟模块支持自定义事件,需要提前在统计平台上定义事件;自定义事件可以实现在应用程序中埋点来统计用户的点击行为。自定义事件目前包括“计数事件”和“计算事件”。使用自定义事件功能请先登陆友盟+官网,在“统计分析->设置->事件”(子账户由于权限限制可能无法看到“设置”选项,请联系主帐号开通权限。)页面中添加相应的事件id,然后服务器才会对相应的事件请求进行处理。

// 使用计数事件需要在后台添加事件时选择“计数事件”。例:统计微博转发次数
// 计数事件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));
             }
        });

image.gif

自定义页面需要调用onPageStart 和 onPageEnd 方法,而且必须成对使用,其中onPageStart方法不会随页面打开自动调用,一定要在页面的初始化中写入。onPageEnd方法不会随页面关闭自动调用,需要写在关闭页面的api.closeWin()或api.closeFrame()方法前有效。


具体示例代码如下:

var umAnalytics = api.require('umAnalytics');
umAnalytics.onPageStart({
    pageName: '页面名称',
}, function(ret, err) {
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});
var umAnalytics = api.require('umAnalytics');
umAnalytics.onPageEnd({
    pageName: '页面名称',
}, function(ret, err) {
    if (ret) {
        alert(JSON.stringify(ret));
    } else {
        alert(JSON.stringify(err));
    }
});

image.gif

友盟在统计用户时以设备为主,如果需要统计应用自身的账号,可以使用登录接口profileSignInWithPUID和退出profileSignOff接口,代码如下:

var umAnalytics = api.require('umAnalytics');
        umAnalytics.profileSignInWithPUID({
            userID:'000593',
            provider:"大通燃气"
        },function(ret,err){
             if(ret){
              alert(JSON.stringify(ret));
             }else{
             alert(JSON.stringify(err));
             }
        });
var umAnalytics = api.require('umAnalytics');
        umAnalytics.profileSignOff(function(ret){
            if(ret){
        alert(JSON.stringify(ret));
            }
        });

image.gif

更多方法和细节请参考,模块文档https://docs.apicloud.com/Client-API/Open-SDK/umAnalytics

目录
相关文章
|
移动开发 数据可视化 小程序
利用APICloud studio3可视化开发工具开发企业管理app
利用 APICloud studio3 可以帮助我们快速创建并运行一个简单的应用,内容涉及开发工具使用、代码管理、应用预览、调试等。现在我们来通过 APICloud studio3 快速创建一个企业管理 app,帮助企业提供信息展示、案例展示、加盟申请等。
758 0
|
移动开发 小程序 JavaScript
APICloud平台常用技术点汇总详解
使用 APICloud 可以开发移动 APP、小程序、html5 网页应用。如果要实现编写一套代码编译为多端应用(移动 APP、小程序、html5 ),需使用 avm.js 框架进行开发。如果只开发 APP,则可以使用前端技术(HTML5、Vue、react 等)、avm.js 进行开发,还可以使用模块商店大量的原生模块以及多端组件。
299 0
|
移动开发 前端开发 JavaScript
零基础如何上手APICloud App、小程序多端开发
业务需求变化快、开发人员成本高是现在企业面临的主要问题。多端开发技术则可以很好的解决这些问题,开发一次可以生成iOS、Android、小程序、Web等多端应用。APICloud凭借多年的移动开发技术积累,为开发者提供了一套高性能的多端开发技术,可以高效的开发企业级应用程序。
866 2
零基础如何上手APICloud App、小程序多端开发
|
数据可视化 开发工具
新手使用APICloud可视化开发搭建商城主页
APICloud的可视化开发功能,听说只要上手托拉拽就可以完成各种页面的开发,不需要写代码,可以大大减少开发的用时,主要是对新手非常友好的。今天就来体验一下,看看能否用最少的时间完成一个商城主页面的创建呢?
196 0
|
数据可视化 前端开发 API
入门教程|APICloud APP可视化开发初体验
作为一名APICloud 老用户,最近看到APICloud Studio 3新增了可视化编辑工具,第一时间体验了下。
380 0
|
存储 前端开发 API
低代码开发的前后端联调——APICloud Studio 3 API管理工具结合数据云3.0使用教程
最近国内低代码平台APICloud 推出了拖拽式开发模式,通过拖拉组件,设置组件样式、属性、事件,可生成代码。我也是第一时间体验了一下,上一篇分享了一些学习经验。而且还发现新增了一个API管理工具,这篇文章即是分享API管理工具的学习体验。
334 0
低代码开发的前后端联调——APICloud Studio 3 API管理工具结合数据云3.0使用教程
|
数据可视化 前端开发 API
App低代码开发的最终形态?APICloud可视化开发初体验
作为一名APICloud 老用户,最近看到APICloud Studio 3 新增了可视化编辑工具,第一时间体验了下。
177 0
App低代码开发的最终形态?APICloud可视化开发初体验
|
运维 安全 测试技术
APICloud数据云3.0使用教程
数据云3.0是一个全新的服务端开发运维平台,提供从后端开发、接口联调到上线运营维护等一整套方案。开发者无需考虑数据库和服务器等基础设施,无需关心服务器测试环境的搭建,数据的备份及服务扩容等与业务无关的工作,只需关心逻辑本身。通过云引擎,云数据库,云函数,内置模型、等功能模块方便用户快速实现常用的后端功能。
437 0
APICloud数据云3.0使用教程
|
数据可视化 开发工具
实例|新手使用APICloud可视化开发商城APP
APICloud 的可视化开发功能,听说只要上手托拉拽就可以完成各种页面的开发,不需要写代码,可以大大减少开发的用时,主要是对新手非常友好的。今天就来体验一下,看看能否用最少的时间完成一个商城主页面的创建呢?
192 0
|
JSON 开发工具 Android开发
APICloud App开发上手经验之模块调用
APICloud 提供了很多方便好用的模块,只要学习自己想要使用的模块的文档,然后调用模块就可以使用了。使用模块可以大大减少自己需要写的代码量,而且对于新手来说,在自己开发经验不足的情况下,也许并不能胜任一些功能的开发,这时候使用模块就可以让自己的 APP 也拥有这些功能了,看到自己的 APP 也具有了丰富的功能会比较有成就感,不会使我们的学习感到枯燥,也不容易感觉学习太难而因此止步。
217 0