Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
it&s me
unidocs-zh
提交
6b7b4d3d
U
unidocs-zh
项目概览
it&s me
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6b7b4d3d
编写于
4月 27, 2022
作者:
M
mehaotian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: uni-stat
上级
362743d5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
78 addition
and
95 deletion
+78
-95
docs/uni-stat-v2.md
docs/uni-stat-v2.md
+78
-95
未找到文件。
docs/uni-stat-v2.md
浏览文件 @
6b7b4d3d
...
...
@@ -40,9 +40,9 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
在项目中打开
`manifest.json`
, 选择
`uni统计配置`
项,根据需求,选择开通
`uni统计`
,勾选
`version2`
开启新版统计。
![
开启统计
](
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/
03c7afa3-2512-462b-a53f-cbaeca4dec58
.png
)
![
开启统计
](
https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/
fa9e12a5-1f11-4b78-9439-93feef9f86e0
.png
)
#### 全局设置
#### 全局设置
(通过源码视图配置统计)
将
`manifest.json -> uniStatistics`
下的
`enable`
字段设置为
`true|false`
,来开启关闭
`uni统计`
...
...
@@ -65,7 +65,7 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
|version|String|"1"|"1" , "2"|统计版本 ,如不填写,默认使用版本1.0,推荐使用2.0版本|
|debug|Boolean|false|true , false|开启统计调试模式 ,会产生大量日志,且会在开发阶段上报数据,应用发布请关闭此项|
#### 分平台设置
#### 分平台设置
(通过源码视图配置统计)
`uniStatistics`
支持分平台设置,比如若需仅开启微信平台的
`uni统计`
,则在
`mp-weixin`
节点下设置
`uniStatistics ->enable`
即可,如下:
...
...
@@ -113,7 +113,7 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
`===`
表示统计日志相关日志
```
```
js
// 标识统计开启
===
uni统计开启
,
version
:
2.0
...
...
@@ -144,47 +144,45 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
```
日志字段说明,详见
[
前端采集SDK
](
#web-sdk
)
### 后台报表配置
#### 关联admin相关
`uni统计2.0`
的后台统计报表是
`uni-admin`
的内置插件,故使用
`uni统计2.0`
,需依赖
[
uni-admin
](
/uniCloud/
admin
)
项目。
`uni统计2.0`
的后台统计报表是
`uni-admin`
的内置插件,故使用
`uni统计2.0`
,需依赖
[
uni-admin
](
https://uniapp.dcloud.io/uniCloud/admin.html#uni-admin-%E6%A1%86%E6%9E%B6-%E5%8E%9F%E5%90%8D-unicloud-
admin
)
项目。
请参考
[
uni-admin
](
/uniCloud/
admin
)
文档,完成如下操作:
请参考
[
uni-admin
](
https://uniapp.dcloud.io/uniCloud/admin.html#uni-admin-%E6%A1%86%E6%9E%B6-%E5%8E%9F%E5%90%8D-unicloud-
admin
)
文档,完成如下操作:
1.
创建新的
`uni-admin`
项目
2.
绑定服务空间
3.
部署云端资源(上传部署云函数、公共模块、初始化数据库表等)
4.
完成其它初始化配置,如:打开
`uni-config-center`
配置
`uni-id`
相关秘钥
**注意:**
若你想复用老的
`uni-admin`
项目,请手动对比新老项目差异,将uni统计新增云函数及统计页面复制到老的uni统计项目中,主要包括:
-
云函数:uniCloud/cloudfunctions/uni-stat-cron、uniCloud/cloudfunctions/uni-stat-receiver
-
通用模块:uniCloud/cloudfunctions/uni-stat
-
数据表:uniCloud/database目录下相关schema文件
-
统计页面:pages/uni-stat 文件夹
::: warning 注意
若你想复用老的
`uni-admin`
项目,请手动对比新老项目差异,将uni统计新增云函数及统计页面复制到老的uni统计项目中,主要包括:
-
云函数:
`uniCloud/cloudfunctions/uni-stat-cron`
、
`uniCloud/cloudfunctions/uni-stat-receiver`
-
通用模块:
`uniCloud/cloudfunctions/uni-stat`
-
数据表:
`uniCloud/database`
目录下相关
`schema`
文件
-
统计页面:
`pages/uni-stat`
文件夹
:::
#### 定时跑批周期
`uni统计2.0`
默认跑批间隔为1小时,即:每隔1小时,针对采集到的数据进行统计,计算新增、活跃、留存等。
你可以根据需要修改跑批周期
,修改方式为://TODO 以30分钟举例
你可以根据需要修改跑批周期
到分钟级,但要注意开启分钟级定时任务后,需要确保
[
定时任务配置项
](
#定时任务配置说明
)
中设置的分钟数是否会被触发,比如你的配置项中设置的是每小时的第10分钟触发(表达式:
`* * * 10`
),而定时触发器设置的为每20分钟触发1次(
`0 1/20 * * * * *`
),那这个配置项将永远不会触发。
注意:现阶段阿里云仅支持小时级的定时任务,预计很快支持分钟级定时任务。
::: warning 注意
1.
现阶段阿里云仅支持小时级的定时任务,预计很快支持分钟级定时任务,现阶段阿里云用户如想开通分钟级定时任务必须先向DCloud申请后再开启。
[
申请方式
](
https://uniapp.dcloud.io/uniCloud/price.html#aliyun
)
2.
因云函数运行时长为最大10分钟,所以开启分钟级定时任务后,如果想重新设置定时任务触发时间的话,需要确保各定时任务之间的触发间隔时间要大于等于10分钟,防止出现运行超时的问题。
:::
::: warning 注意
注意:因云函数运行时长为最大10分钟,所以开启分钟级定时任务后,如果想重新设置定时任务触发时间的话,需要确保各定时任务之间的触发间隔时间要大于等于10分钟,防止出现运行超时的问题。
:::
-
阿里云服务空间开启步骤:
1.
因阿里云服务空间默认不支持分钟级定时器,必须先向DCloud申请分钟级定时器后再开启。
[
申请方式
](
https://uniapp.dcloud.io/uniCloud/price.html#aliyun
)
2.
修改uni统计配置项将
`cronMin`
参数的值改为
`true`
。
3.
修改
`定时任务云函数(uni-stat-cron)`
下的
`package.json`
文件中的触发器配置。
4.
重新上传部署
`定时任务云函数(uni-stat-cron)`
和
`配置中心(uni-config-center)`
。
```
javascript
//config选项为阿里云定时器的cron表达式 将原小时级表达式 "config": "0 0 * * * * *" 更改为分钟级表达式 "config": "0 * * * * * *" 后重新上传部署云函数即可.
-
我们这里以将跑批周期修改为每隔10分钟触发1次为例,正确的步骤为:
1.
修改uni统计配置项将
`cronMin`
参数的值改为
`true`
。
2.
修改
`定时任务云函数(uni-stat-cron)`
下的
`package.json`
文件中的定时触发器配置项,关于定时触发器的具体说明可以参考官方文档
[
定时触发器
](
https://uniapp.dcloud.io/uniCloud/trigger.html
)
。
```
javascript
"
cloudfunction-config
"
:
{
"
concurrency
"
:
1
,
"
memorySize
"
:
256
,
...
...
@@ -193,33 +191,16 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
{
"
name
"
:
"
uni-stat-cron
"
,
"
type
"
:
"
timer
"
,
"
config
"
:
"
0
* * * * * *
"
"
config
"
:
"
0
1/10 * * * * *
"
//每隔10分钟触发1次的cron表达式,如需复制此项请务必删除该注释
}
]
}
```
-
腾讯云服务空间开启步骤:
1.
修改uni统计配置项将
`cronMin`
参数的值改为
`true`
。
2.
修改
`定时任务云函数(uni-stat-cron)`
下的
`package.json`
文件中的触发器配置。
3.
重新上传部署
`定时任务云函数(uni-stat-cron)`
和
`配置中心(uni-config-center)`
。
]
}
```
3.
检查配置文件(
`config.json`
)中的
`cron`
参数中设置的选项是否会被触发。
4.
重新上传部署
`定时任务云函数(uni-stat-cron)`
和
`配置中心(uni-config-center)`
。
```
javascript
//config选项为阿里云定时器的cron表达式 将原小时级表达式 "config": "0 0 * * * * *" 更改为分钟级表达式 "config": "0 * * * * * *" 后重新上传部署云函数即可.
"
cloudfunction-config
"
:
{
"
concurrency
"
:
1
,
"
memorySize
"
:
256
,
"
timeout
"
:
600
,
"
triggers
"
:
[
{
"
name
"
:
"
uni-stat-cron
"
,
"
type
"
:
"
timer
"
,
"
config
"
:
"
0 * * * * * *
"
}
]
}
```
#### 开启redis缓存
...
...
@@ -232,9 +213,10 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
1.
修改uni统计配置项将
`redis`
参数的值改为
`true`
。
2.
分别在数据
`上报数据接收器(uni-stat-receiver)`
和
`定时任务云函数(uni-stat-cron)`
下的
`package.json`
文件中添加redis拓展库。
3.
重新上传部署数据
`上报数据接收器(uni-stat-receiver)`
、
`定时任务云函数(uni-stat-cron)`
和
`配置中心(uni-config-center)`
。
::: preview
> 配置uni-stat-receiver的redis拓展库
```
javascript
//配置uni-stat-receiver的redis拓展库
{
"
name
"
:
"
uni-stat-receiver
"
,
"
dependencies
"
:
{
...
...
@@ -246,11 +228,9 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
"
uni-cloud-redis
"
:
{}
// 配置为此云函数开启redis扩展库,值为空对象留作后续追加参数,暂无内容。如拷贝此配置项到package.json文件,切记去除注释。
}
}
```
```
> 配置uni-stat-cron的redis拓展库
```
javascript
//配置uni-stat-cron的redis拓展库
{
"
name
"
:
"
uni-stat-cron
"
,
"
version
"
:
"
1.0.0
"
,
...
...
@@ -281,7 +261,7 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
}
}
```
:::
### 共享服务空间
...
...
@@ -303,13 +283,16 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
## 开源代码解读
### 前端采集SDK
-
前端采集SDK源码地址,
[
查看
](
https://github.com/dcloudio/uni-app/tree/next/packages/uni-stat
)
-
云端统计模块以及统计后台源码地址,
[
查看
](
https://github.com/dcloudio/uni-admin
)
### 前端采集SDK @web-sdk
#### 采集类型
**应用启动**
访问开始即启动程序,访问结束结分为:进入后台超过5min、在前台无任何操作超过30min、
在
新的来源程序
访问开始即启动程序,访问结束结分为:进入后台超过5min、在前台无任何操作超过30min、新的来源程序
|上报字段|说明|
|:-:|:-:|
...
...
@@ -346,7 +329,7 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
**应用进入后台**
应用进入后台时,在
sdk 中是应用的
onHide 生命周期触发
应用进入后台时,在
SDK 中是应用的
onHide 生命周期触发
|上报字段|说明|
|:-:|:-:|
...
...
@@ -362,7 +345,7 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
**页面切换**
页面跳转时上报,在
sdk
中是页面的 onHide 生命周期触发
页面跳转时上报,在
SDK
中是页面的 onHide 生命周期触发
|上报字段|说明|
|:-:|:-:|
...
...
@@ -617,7 +600,7 @@ uni统计2.0 是基于 uniCloud 开发的开源、免费统计平台。
└── index.js
# 代理入口文件,提供对外访问的uni-stat对象
```
####
#
三、 公共模块配置项说明
#### 三、 公共模块配置项说明
uni统计配置项存放于uniCloud配置中心(
`uni-config-center`
)下的
`uni-stat/config.json`
文件中,用户可根据自身系统需要自定义各配置项的值。
::: warning 注意
...
...
@@ -633,7 +616,7 @@ uni统计配置项存放于uniCloud配置中心(`uni-config-center`)下的 `
| cachetime | 604800 |redis缓存有效期,单位秒。 |
| sessionExpireTime| 1800 |会话过期时间,该配置用来判断当前会话是否已过期,一般情况下无需修改此项。 |
| realtimeStat | true |开启实时统计,true: 开启,false:关闭,开启后会每小时统计一次,数据库读写次数会增多,可按需决定是否开启。 |
| cronMin | false |开启分钟级定时任务,true: 开启,false:关闭。开启后定时任务将细分到分钟级执行,分摊数据计算压力,适合应用日活较大或有特殊需求的用户群体。开启方法见
下方
[
开启分钟级定时任务
](
#开启分钟级定时任务
)
。 |
| cronMin | false |开启分钟级定时任务,true: 开启,false:关闭。开启后定时任务将细分到分钟级执行,分摊数据计算压力,适合应用日活较大或有特殊需求的用户群体。开启方法见
[
定时跑批周期
](
#定时跑批周期
)
。 |
| cron | - |用于配置定时任务触发时间,详情见下方
[
定时任务配置说明
](
#定时任务配置说明
)
。 |
| batchInsertNum | 5000 |当有批量写入操作时,限制单次写入数据库的最大条数。为防止写入超时,最大值为5000条。 |
| errorCheck | - |错误检测,此项用于在规定时间内限制相同的错误日志写入数据库,防止有高频错误产生时造成大量的数据库写入操作。
[
详情
](
#错误检测配置说明
)
|
...
...
@@ -651,37 +634,37 @@ uni统计配置项存放于uniCloud配置中心(`uni-config-center`)下的 `
目前定时任务类型有(
`以下括号内的内容表示开启分钟级统计后定时任务的触发时间`
):
-
`stat`
:基础数据统计,统计维度包括:
-
实时统计,默认
`每小时(0分
)`
触发,统计上一小时的基础数据
-
日统计,默认
`每天上午1点(10分
)`
触发,统计前一天的基础数据
-
周统计,默认
`每周一上午1点(20分
)`
触发,统计上一周的基础数据
-
月统计,默认
`每月1号上午3点(30分
)`
触发,统计上一月的基础数据
-
`retention-device`
:设备留存数据统计,统计维度包括:
-
日统计,默认
`每天上午2点(20分
)`
触发,统计前一天的设备留存数据
-
周统计,默认
`每周一上午2点(30分
)`
触发,统计上一周的设备留存数据
-
月统计,默认
`每月1号上午4点(30分
)`
触发,统计上一月的设备留存数据
-
`retention-user`
:用户留存数据统计,统计维度包括:
-
日统计,默认
`每天上午3点(40分
)`
触发,统计前一天的用户留存数据
-
周统计,默认
`每周一上午5点(30分
)`
触发,统计上一周的用户留存数据
-
月统计,默认
`每月1号上午6点(40分
)`
触发,统计上一月的用户留存数据
-
`active-device`
:活跃设备数据归档,统计维度包括:
-
日归档,默认
`每天上午0点(10分
)`
触发,归档前一天的活跃设备数据,注意:此项数据要保持在
`基础数据统计`
、
`设备留存数据统计`
、
`用户留存数据统计`
中的周统计、月统计触发之前执行。
-
`active-user`
:活跃用户数据归档,统计维度包括:
-
日归档,默认
`每天上午0点(20分
)`
触发,归档前一天的活跃用户数据,注意:此项数据要保持在
`基础数据统计`
、
`设备留存数据统计`
、
`用户留存数据统计`
中的周统计、月统计触发之前执行。
-
`page`
:页面数据统计,统计维度包括:
-
日统计,默认
`每天上午3点(20分
)`
触发,统计前一天的页面数据
-
`event`
:事件数据统计,统计维度包括:
-
日统计,默认
`每天上午4点(20分
)`
触发,统计前一天的事件数据
-
`error`
:错误数据统计,统计维度包括:
-
日统计,默认
`每天上午5点(20分
)`
触发,统计前一天的错误数据
-
`stat`
:基础数据统计,统计维度包括:
-
实时统计,默认
`每小时(0分
钟)`
触发,统计上一小时的基础数据
-
日统计,默认
`每天上午1点(10分
钟)`
触发,统计前一天的基础数据
-
周统计,默认
`每周一上午1点(20分
钟)`
触发,统计上一周的基础数据
-
月统计,默认
`每月1号上午3点(30分
钟)`
触发,统计上一月的基础数据
-
`retention-device`
:设备留存数据统计,统计维度包括:
-
日统计,默认
`每天上午2点(20分
钟)`
触发,统计前一天的设备留存数据
-
周统计,默认
`每周一上午2点(30分
钟)`
触发,统计上一周的设备留存数据
-
月统计,默认
`每月1号上午4点(30分
钟)`
触发,统计上一月的设备留存数据
-
`retention-user`
:用户留存数据统计,统计维度包括:
-
日统计,默认
`每天上午3点(40分
钟)`
触发,统计前一天的用户留存数据
-
周统计,默认
`每周一上午5点(30分
钟)`
触发,统计上一周的用户留存数据
-
月统计,默认
`每月1号上午6点(40分
钟)`
触发,统计上一月的用户留存数据
-
`active-device`
:活跃设备数据归档,统计维度包括:
-
日归档,默认
`每天上午0点(10分
钟)`
触发,归档前一天的活跃设备数据,注意:此项数据要保持在
`基础数据统计`
、
`设备留存数据统计`
、
`用户留存数据统计`
中的周统计、月统计触发之前执行。
-
`active-user`
:活跃用户数据归档,统计维度包括:
-
日归档,默认
`每天上午0点(20分
钟)`
触发,归档前一天的活跃用户数据,注意:此项数据要保持在
`基础数据统计`
、
`设备留存数据统计`
、
`用户留存数据统计`
中的周统计、月统计触发之前执行。
-
`page`
:页面数据统计,统计维度包括:
-
日统计,默认
`每天上午3点(20分
钟)`
触发,统计前一天的页面数据
-
`event`
:事件数据统计,统计维度包括:
-
日统计,默认
`每天上午4点(20分
钟)`
触发,统计前一天的事件数据
-
`error`
:错误数据统计,统计维度包括:
-
日统计,默认
`每天上午5点(20分
钟)`
触发,统计前一天的错误数据
#### 错误检测配置说明
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录