Advertisement

uniapp数据埋点之自定义事件埋点(小程序+后台)

阅读量:

注:

  • 项目(小程序、后台)都是借助hbuilderx来创建的(从文档上来看这样会方便很多,例如下载云函数);
  • 后台使用的uni-admin,反正就是uniapp自成体系的一套东西,问就是”始终为开发者降本增效 “;
  • 还有需要开通unicloud ;

需要了解的文档:

给小程序添加自定义埋点:

  • 下面主要是通过 uni.report api方法在客户端进行数据上报,这样上报的数据同一会存储在uni-stat-event-log数据表中,有时候并不会满足需求;
  • 有时候,有的埋点数据需要单独放在一个表中,这时候可以在业务客户端使用jql语法命令进行埋点数据上报(uniCloud);
  • ...

首先,借助hbuilderx右键项目,关联上面说的你开通的云服务空间;

然后,根据(uni统计2.0 | uni-app官网)来配置需要采集上报数据的平台,配置appid(通常是__UNI开头的);

然后,右键下载云函数(这可能会下载几百个文件,总体积是几百kb,但是放心,发行打包时,是不计算在前端代码包中的);

如果想要立刻看到自定义事件的上报,还需要打开debug模式 ,因为:

这两步设置完毕之后,就可以开始进行自定义事件上报了,但是需要安装一个依赖,或者直接把文件拉到项目中去:

依赖 是:@dcloudio/uni-stat

文件 是:上传的压缩包

最后,就可以通过uni-report 根据业务去进行自定义事件埋点了,看文档:

自定义事件上报的数据,都在uni-state-event-logs 这张表中;

哪有了埋点数据,想要进行统计分析怎么办呢?

uni-admin就是可以用来这样子的;

小程序中可能会遇见的问题

如果配置了合法域名,还是会报错那就重启hbuilderx,重新编译看看

【无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下】

参考:uniCloud发行 | uniCloud

这个问题主要原因还是在与合法域名的配置:

【例如支付宝云,要配置三个不一样的域名

然后还需要注意:

一定要使用hbuilderx发行 ,发行后会又打开一个新的开发者工具,在这个工具里面取消合法域名的校验 ,就会看到效果了】

管理后进行数据分析:

这个完全可以用来搭建一个管理后台且是用小程序语法,且可以使用第三方组件库;

首先按照上面的文档链接,下载uni-admin,导入hbuilderx中;

接着,右键项目,关联你开通的云服务空间;

然后,下载所有的云函数、数据表等;

然后,想要在项目时看到效果,需要打开debug;

然后通过hbuilderx到浏览器时,在底部的日志窗口可以选择是本地云函数 、云端云函数;

然后,(要下载的都下载了,该关联的都关联的)你使用你们自己的账号密码进行登录时,可能会提示"没有注册",发生这个问题,最大原因可能就是,你登录的这个账号没有相应应用的权限,这时候你需要进入unicloud控制台的云数据库导航栏的数据库中找到uni-id-users表 ,将上面提到的appid,复制到该表中dcloud_appid 中去,然后重新登录即可;

在正式开发前,还是很有必要去了解uniapp的JQL语法的,涉及到数据的读取、创建等操作;

上面的搭建、初始化等工作做完之后,就可以开始自己的"定制化"开发了:

  • 窗口顶部的logo、标题的改变;
  • 侧边导航栏的管理(是否可见(enable)、添加子菜单等);
  • 列表、图表、条件筛选等(这涉及到很多uniapp相关的unicloud组件,可以参考文档以及相应的使用案例);
  • uniapp提供了一系列的工具方法,可能得花费些时间去了解是干什么的,有哪些参数,怎么用的,了解完,对于业务需求开发速度是有一定的帮助的;
  • ...

新建导航栏时,需要在unicloud控制台,找到这张表,仔细观察父路由与子路由的区别(文档中也这部分说的是比较细的),进行添加;

然后在项目中,右键相同的数据表,从云端初始化;

还需要在根目录中的page.json 中配置;

如果需要新建数据表的话,起一个符合业务且好区分的名字,其次,表结构的权限设置,防止出错,可以都设置为true;然后就是字段类型可以参考其他的表——数据类型,字符串类型(string、varchar)、数字类(float、double)、对象类的(object)

新建好表之后在项目中,是看不到的,需要下载;如果云端的新建的表有更新操作,然后在项目中,需要右键下载 而不是初始化,因为初始化可能导致你的修改的内容丢失;

其实个人觉得,大头还是在于对数据表的操作,这其中很多问题要去实践才知道:

例如:

  • 分组求和时,分组的方法(groupBy、groupField)不能与getTemp方法一块用,不然会报错:

  • uniapp提供的云函数方法,尽管可以解决大部分问题,但是对于自己的需求而言,可能在细微的地方还是不能满足,至于怎么处理那就看各位的需求是怎样的了;

  • ...

全部评论 (0)

还没有任何评论哟~