@hyext/hyext-reporter-ext
TypeScript icon, indicating that this package has built-in type declarations

1.2.3 • Public • Published

小程序统一日志上报

  • @hyext/hyext-reporter-ext
  • 负责统一小程序日志数据及上报
  • 可自动获取部分基础数据,需申请【自定义统计上报 】权限
  • 支持主动上报日志,并规定了一些行为的关键词
  • 提供全局心跳,默认 30 秒心跳一次
  • 日志延迟 500ms 上报,前端上报接口有调用频率限制;
  • 单次上报最多 25KB(数据量大会导致数据丢失)
  • 过于频繁或大量的数据上报推荐使用后端上报,前端上报不保险

安装

npm i -save @hyext/hyext-reporter-ext

引入

import { HYExtReporter, LogEvents } from '@hyext/hyext-reporter-ext'

示例

const extReporter = new HYExtReporter({
  Debug: true
})

extReporter.reportBusiMetric(LogEvents.GAME_CREATE);
extReporter.reportBusiMetric(LogEvents.USER_ACTIVE);
extReporter.startHeartBeat()

初始化 - new HYExtReporter(config)

config

  • 实例化配置信息
参数 类型 必填 默认 说明
CommonInfo Object -- 日志公用信息
OpenReport boolean true 是否开启上报
Debug boolean false 是否开启 debug
UseHighFreqPcReport boolean false PC 端开启高频上报
ReportDelay number 500 延迟上报时差(ms),0 不延迟
ReportSizeLimit number 25 每次上报大小上限(KB),0 不限制

CommonInfo

  • 日志公共数据,每条日志的基础信息,可覆盖
参数 类型 必填 说明
ext_id string 小程序 ID,默认获取
uid string 用户 ID,授权后获取
pid string 主播 ID,授权后获取
game_id string 品类 ID,授权后获取
env string 环境信息,默认当前构建环境

env

  • 环境信息
取值 说明
unknown 未知环境
online 正式环境
test 测试环境
dev 开发环境

示例

  • 实例化
const extReporter = new HYExtReporter({
  Debug: true
});

开始心跳 - extReporter.startHeartBeat(fields);

  • 只有一个全局的心跳
  • 默认 30s 一次心跳
  • 心跳用于统计用户在线时长,用户进入即开始心跳即可

参数

参数 类型 必填 默认 说明
fields Object -- 日志自定义数据

示例

extReporter.startHeartBeat();

停止心跳 - extReporter.endHeartBeat()

  • 停止全局的心跳
  • 用户退出时调用

示例

extReporter.endHeartBeat();

普通上报 - extReporter.reportBusiMetric(info, fields)

参数

参数 类型 必填 默认 说明
info Object -- 日志描述,不会被 fields 覆盖
fields Object -- 日志自定义数据

info

  • 日志描述信息,不会被 fields 覆盖
  • 系统预制了一些日志描述信息 LogEvents 方便使用
  • 也可定义自己日志描述信息
参数 类型 必填 说明
key string 业务关键词
desc string 业务描述

LogEvents

  • 预制日志描述信息
  • 均为与 info 同构变量
  • 按需上报即可
变量 描述
LogEvents.USER_ACTIVE 用户互动
LogEvents.USER_SEND_GIFT 用户送礼
LogEvents.USER_SEND_WORD 用户发言
LogEvents.USER_SUBSCRIBE 用户订阅
LogEvents.USER_SHARE 用户分享
LogEvents.GAME_CREATE 游戏开局,某轮游戏开始
LogEvents.GAME_FINISH 游戏结束,某轮游戏结束

fields

  • 自定义上报数据
  • 键值不能与以下取值重复,否则会被覆盖
敏感键值 类型 说明 数据源
key string 业务关键词 info
desc string 业务描述 info
type number 日志类型 info/默认值
client_time number 日志创建时间戳 系统生成

示例

  • 自定义上报
extReporter.reportBusiMetric({
  key: 'ext_diy/my_action'
  desc: '自定义事件描述'
}, {
  data : 'your_data'
});
  • 上报用户交互
extReporter.reportBusiMetric(LogEvents.USER_ACTIVE, {
  act: '啥交互?'
});
  • 上报用户送礼
extReporter.reportBusiMetric(LogEvents.USER_SEND_GIFT, {
  gift_id: 2222,
  gift_count: 1,
  gift_amount: 100,
  total_pay: 0,
});
  • 上报用户发言
extReporter.reportBusiMetric(LogEvents.USER_SEND_WORD, {
  word: '你说啥?'
});
  • 上报订阅主播
extReporter.reportBusiMetric(LogEvents.USER_SUBSCRIBE);
  • 上报用户分享
extReporter.reportBusiMetric(LogEvents.USER_SHARE, {
  share_type: 1
});
  • 上报开始游戏
extReporter.reportBusiMetric(LogEvents.GAME_CREATE);
  • 上报游戏结束
extReporter.reportBusiMetric(LogEvents.GAME_FINISH);

Readme

Keywords

none

Package Sidebar

Install

npm i @hyext/hyext-reporter-ext

Weekly Downloads

3

Version

1.2.3

License

ISC

Unpacked Size

52.3 kB

Total Files

9

Last publish

Collaborators

  • hy-ext
  • wundereye
  • maizhiying
  • xiangwang123
  • zhangjiaheng
  • limingyi_100