实战指南)
后端即时通讯【免费下载链接】easywechat 一个 PHP 微信 SDK项目地址https://gitcode.com/gh_mirrors/ea/easywechat点击查看免费下载本指南围绕 EasyWeChat 4.x 中小程序的「数据统计与分析」data_cube模块展开讲解如何通过一行代码拉取小程序的概况趋势、访问趋势、留存与用户画像等官方统计数据。读完本文你将掌握 10 个统计接口的完整用法、yyyymmdd日期格式的取数约束以及如何将返回数据接入自己的业务看板。一、前置准备获取$app实例data_cube是挂在$appFactory::miniProgram()返回的小程序应用实例上的一个服务因此在调用任何统计接口之前需要先完成小程序应用的初始化。以 docs/src/4.x/mini-program/index.md 中的配置为例use EasyWeChat\Factory; $config [ app_id wx3cf0f39249eb0exx, secret f1c242f4f28f735d4687abb469072axx, // 下面为可选项 // 指定 API 调用返回结果的类型array(default)/collection/object/raw/自定义类名 response_type array, log [ level debug, file __DIR__./wechat.log, ], ]; $app Factory::miniProgram($config);其中app_id与secret为必填项是 SDK 申请微信接口调用凭证access_token的基础response_type决定统计接口返回数据的封装形式默认array也可按需切换为collection、object、raw或自定义类名。后续所有示例中的$app均指该实例。二、基本用法获取概况趋势获取小程序概况趋势是data_cube最常用的入口文档给出的核心示例为$app-data_cube-summaryTrend(20170313, 20170313);第一个参数$from为开始日期第二个参数$to为结束日期日期格式统一为yyyymmdd即 8 位数字字符串例如20170313表示 2017 年 3 月 13 日。值得注意的是概况趋势以及后文中的访问日趋势、访问分布、访问日留存、访问页面等接口属于「单日查询」类接口按 3.x 版本文档 docs/src/3.x/mini_program.md 的说明$from必须与$to相同即一次只能查询某一天的数据而周趋势、月趋势类接口则要求传入该周期起止日期详见下文第四节。三、API 全览10 个统计接口文档将data_cube提供的接口归纳如下签名均为(string $from, string $to)返回对应统计维度的数据方法中文含义summaryTrend(string $from, string $to)概况趋势dailyVisitTrend(string $from, string $to)访问日趋势weeklyVisitTrend(string $from, string $to)访问周趋势monthlyVisitTrend(string $from, string $to)访问月趋势visitDistribution(string $from, string $to)访问分布dailyRetainInfo(string $from, string $to)访问日留存weeklyRetainInfo(string $from, string $to)访问周留存monthlyRetainInfo(string $from, string $to)访问月留存visitPage(string $from, string $to)访问页面userPortrait(string $from, string $to)用户画像分布数据这 10 个方法共同构成了小程序官方「数据分析」能力的核心覆盖从宏观的概况与访问趋势到微观的页面访问与用户画像再到反映用户粘性的留存数据。在使用时直接通过$app-data_cube-方法名(开始日期, 结束日期)调用即可例如// 访问日趋势 $dailyTrend $app-data_cube-dailyVisitTrend(20170313, 20170313); // 用户画像分布数据 $portrait $app-data_cube-userPortrait(20170313, 20170313); // 访问页面 $pages $app-data_cube-visitPage(20170313, 20170313);调用结果会按初始化时配置的response_type返回默认可直接作为数组遍历或落库。四、日期参数约束不同接口的取数规则日期格式统一为yyyymmdd但不同接口对起止日期有不同要求这是实际接入时最容易踩坑的地方。综合 4.x 与 3.x 两版本文档的说明规则整理如下单日查询$from必须等于$tosummaryTrend概况趋势dailyVisitTrend访问日趋势visitDistribution访问分布dailyRetainInfo访问日留存visitPage访问页面。周维度查询$from为该周周一日期$to为该周周日日期weeklyVisitTrend访问周趋势weeklyRetainInfo访问周留存。月维度查询$from为该月月初日期$to为该月月末日期monthlyVisitTrend访问月趋势monthlyRetainInfo访问月留存。提示在 3.x 文档中「访问月留存」曾被误写为montylyRetainInfo4.x 文档已修正为monthlyRetainInfo实际调用请以 4.x 的拼写为准。以查询 2017 年 3 月 6 日周一至 3 月 12 日周日这一周的趋势为例$weeklyTrend $app-data_cube-weeklyVisitTrend(20170306, 20170312);以查询 2017 年 3 月整月为例$monthlyTrend $app-data_cube-monthlyVisitTrend(20170301, 20170331);若违反上述规则例如周趋势未传入周一起始日期微信服务端会返回参数错误因此建议在业务侧先行做日期校验再发起请求。五、底层原理统计请求如何发出从源码结构看data_cube的服务实例统一挂载在小程序应用Application之上所有请求最终都经由Application::createClient()创建的AccessTokenAwareClient发出核心实现在 src/MiniApp/Application.phpHTTP 基础地址固定为https://api.weixin.qq.com/见getHttpClientDefaultOptions()中的base_uri统计接口即发送到该域名下的微信官方数据分析接口请求会自动携带小程序 access_tokenaccess_token 的申请与缓存由AccessTokensrc/MiniApp/AccessToken.php负责可通过配置use_stable_access_token决定是否使用稳定版令牌若在配置中开启http.retrySDK 会对42001 access_token expired等令牌过期场景自动重试见getRetryStrategy()统计类接口在令牌续期场景下也能保持稳定。因此你无需手动拼接 URL、维护 access_token 或处理签名只需关注业务参数与返回数据即可。六、响应处理与接入建议统计接口返回的是微信官方数据分析接口的 JSON 数据默认以数组形式暴露。接入业务时建议按天归档趋势与留存类数据是典型的时序数据可将ref_date之类的日期字段与各指标一并落库便于后续聚合出周报、月报关注response_type若项目使用 Laravel Collection 风格可将配置改为collection直接获得集合操作能力需要原始响应体时可使用raw与用户画像结合userPortrait返回的小程序用户画像分布数据如性别、年龄、地区、访问来源分布可用于运营活动的人群定向分析与visitPage的页面访问数据配合可形成「流量—转化」的完整分析链路。七、常见问题日期格式写错务必使用yyyymmdd8 位数字格式如20170313不要带横线或斜杠单日接口传了不同起止日期summaryTrend、dailyVisitTrend、visitDistribution、dailyRetainInfo、visitPage要求$from $to否则会报参数错误周/月接口起止日期不对周维度需从周一到周日月维度需从月初到月末返回异常可开启log配置如上文level debug查看 SDK 记录的请求日志快速定位是参数问题还是令牌问题。至此你已经掌握了 EasyWeChat 4.x 小程序data_cube模块的全部 10 个统计接口、日期约束规则与底层请求机制可以据此快速搭建小程序的数据统计与分析能力。赞分享后端即时通讯【免费下载链接】easywechat 一个 PHP 微信 SDK项目地址https://gitcode.com/gh_mirrors/ea/easywechat点击查看免费下载相关推荐Authelia 与 Kube Login 集成指南为 Kubernetes 集群配置 OpenID Connect 1.0 单点登录Authelia 与 Kube Login 集成指南为 Kubernetes 集群配置 OpenID Connect 1.0 单点登录 本文是一份面向 Kub后端即时通讯Hindsight 集成 ZCode为 Z.ai GLM 桌面编程代理接入持久化长期记忆Hindsight 集成 ZCode为 Z.ai GLM 桌面编程代理接入持久化长期记忆 导读 本文介绍如何通过 Hindsight 为 ZCodeZ.ai后端即时通讯EasyWeChat 4.x 小程序订阅消息开发指南模板管理与消息发送全流程EasyWeChat 4.x 小程序订阅消息开发指南模板管理与消息发送全流程 订阅消息是小程序向用户推送服务通知的核心能力本指南以 EasyWeChat 4后端即时通讯上一篇ComfyUI Video Combine节点3个专业技巧掌握视频合并的艺术下一篇10分钟搭建开源游戏串流服务器Sunshine技术架构与部署指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考