::: warning 注意 推荐使用 [uni统计2.0](https://uniapp.dcloud.io/uni-stat-v2.html) ::: ## 统计 从uni-app 2.2.3起,支持uni统计。一张报表,掌握全端数据。业务介绍详见[https://tongji.dcloud.net.cn](https://tongji.dcloud.net.cn) 自定义事件是统计中不可或缺的功能。开发者可通过本API自定义上报统计数据,如统计登录、注册、点击某个按钮,我们都可以称之为自定义事件。 ### uni.report( eventKey , param) **参数说明** |参数|类型|描述| |---|---|---| |eventKey|String|事件名称,最大长度不超过 255 个字符| |param|String 、 Object |事件参数| ::: tip 提示 - eventKey 为 String 类型,并且字符长度必须小于255 - param 为 String 类型时,字符长度必须小于255 - param 为 Object 类型时,该对象的值只能为 String 类型 - 字符串支持特殊字符但不包括(英文逗号 , 英文冒号 : 点 .) - eventKey 为 `title` 时为内容标题上报,用户不能自定义。此时数据会展现在uni统计的首页-内容统计及左侧导航的内容统计中。方便查看内容页数据。 - 用户在使用 `uni.login()` 会执行登录事件,不携带参数。如果如需上报携带具体参数的数据,需要手动调用 `uni.report('login',{...})` - 用户在使用 `uni.share()` 或触发 `onShareAppMessage` 会执行分享事件,不携带参数。如果如需上报携带具体参数的数据,需要手动调用 `uni.report('share',{...})` - 用户在使用 `uni.requestPayment()` 会执行支付事件,不携带参数。如果如需上报携带具体参数的数据,需要手动调用 `uni.report('pay_success',{...})` 和 `uni.report('pay_fail',{...})` ::: **示例** ```javascript // 内容统计 // 当 eventKey 为 title 时,param 只能为 String 类型 uni.report('title','首页') // 登录 uni.report('login',{ 'name':'uni-app', 'age':'21', // ... }) // 分享 uni.report('share','分享') // 支付成功 uni.report('pay_success','支付成功') // or uni.report('pay_success',{ "订单金额":'20元', "订单名称":'鼠标', // ... }) // 支付失败 uni.report('pay_fail','支付失败') // or uni.report('pay_fail',{ "订单金额":'20元', "订单名称":'鼠标', // ... }) // 注册 uni.report('register',{ 'name':'uni-app', 'age':'21', // ... }) // 搜索 uni.report('search','搜索内容') // or uni.report('search',{ '内容':'搜索内容' }) ``` 自定义事件上报后: - 统计1.0在统计后台的`事件和转换`栏目中,可以看到上报的事件情况。 - 统计2.0在uni-admin后台的`uni 统计 --> 自定义事件`栏目中,可以看到上报的事件情况。 ::: tip 提示 - 小程序平台,需将`tongji.dcloud.net.cn`配入域名白名单,[详见](https://ask.dcloud.net.cn/article/36298) - uni统计使用教程:[uni统计2.0](https://uniapp.dcloud.io/uni-stat-v2.html)、[uni统计1.0](https://uniapp.dcloud.io/uni-stat-v1.html) ::: ### 支持 uni.report 的 uni-ui 组件 `uni-ui` 中内置了一些数据采集相关的组件,用户使用这些组件,并设置属性 `stat:true`,即可在使用相关组件时,自动上报相关自定义数据 - [uni-nav-bar](https://ext.dcloud.net.cn/plugin?name=uni-nav-bar) - [uni-title](https://ext.dcloud.net.cn/plugin?name=uni-title) - [uni-group](https://ext.dcloud.net.cn/plugin?name=uni-group) - [uni-goods-nav](https://ext.dcloud.net.cn/plugin?name=uni-goods-nav) ### 非官方自定义统计 除了官方的uni统计,如果开发者还需要调用小程序平台的自定义统计,给小程序的后台上报数据,那么需使用条件编译,在各端调用此自己的API。 #### 微信小程序平台: - 数据上报:[wx.reportMonitor](https://developers.weixin.qq.com/minigame/dev/api/data-analysis/wx.reportMonitor.html) - 数据分析:[wx.reportAnalytics](https://developers.weixin.qq.com/miniprogram/dev/api/data-analysis/wx.reportAnalytics.html) #### 支付宝小程序平台: - 自定义分析数据的上报接口:[my.reportAnalytics](https://docs.alipay.com/mini/api/report) #### 百度小程序平台: - 数据分析:[swan.reportAnalytics](https://smartprogram.baidu.com/docs/develop/api/data/#swan-reportAnalytics/) #### 字节跳动小程序平台: - [reportAnalytics](https://developer.open-douyin.com/docs/resource/zh-CN/mini-game/develop/open-capacity/data-analysis/tt-report-analytics/) #### QQ小程序平台: - 数据上报:[qq.reportMonitor](https://q.qq.com/wiki/develop/miniprogram/API/open_port/port_dataup.html) - 数据分析:[qq.reportAnalytics](https://q.qq.com/wiki/develop/miniprogram/API/open_port/port_dataanalysis.html#qq-reportanalytics) #### App平台的友盟统计: - 友盟统计:[开发规范](http://www.html5plus.org/doc/zh_cn/statistic.html),[配置文档](https://ask.dcloud.net.cn/article/74)