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

1.2.3 • Public • Published

小程序统一日志上报

  • @hyext/hyext-reporter-ya
  • 负责统一小程序日志数据
  • 主要用于搭载了YA 上报 小程序 H5 产品
  • 需要传入小程序相关端基础信息 CommonInfo
  • 提供全局心跳,默认 30 秒心跳一次
  • 日志延迟 500ms 上报,每次上报最多 100 条;

安装

npm install @hyext/hyext-reporter-ya

引入

import { YAExtReporter, LogEvents } from '@hyext/hyext-reporter-ya'

初始化 - new YAExtReporter(config)

配置 config

参数 类型 必填 默认 说明
CommonInfo Object -- 日志公用信息
YAInstance YA window.ya YA 上报实例
OpenReport boolean true 是否开启上报
Debug boolean false 是否开启 debug

CommonInfo

  • 日志公共数据,每条日志的基础信息,可覆盖
参数 类型 必填 说明
ext_id string 小程序 ID
uid string 用户 ID
pid string 主播 ID
game_id string 品类 ID
env string 环境信息

env

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

示例

  • 先通过平台获取基础数据
const basInfo = {
  ext_id: "abababa", // 小程序ID
  uid: "202020", // 用户uid
  pid: "202011", // 主播ID
  game_id: "1002", // 品类ID
  env: "online"
}
  • 实例化
const extReporter = new YAExtReporter({
  Debug: true,
  OpenReport: true,
  CommonInfo: {
    uid: basInfo.uid,
    pid: basInfo.pid,
    ext_id: basInfo.ext_id,
    game_id: basInfo.game_id
    env: basInfo.env
  },
  YAInstance: window.ya
});

开始心跳 - 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
});
  • 上报用户发言
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);

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.2.30latest
1.2.2-beta.20beta

Version History

VersionDownloads (Last 7 Days)Published
1.2.30
1.2.2-beta.20
1.2.2-beta.10
1.2.2-beta.00
1.2.10
1.2.1-beta.00
1.2.00
1.0.170
1.0.17-beta.00
1.0.160
1.0.16-beta.00
1.0.150
1.0.130
1.0.120
1.0.12-beta.30
1.0.12-beta.20
1.0.12-beta.10
1.0.12-beta.00
1.0.110
1.0.11-beta.20
1.0.11-beta.10
1.0.11-beta.00
1.0.100
1.0.10-beta.00
1.0.90
1.0.70
1.0.7-beta.10
1.0.7-beta.00
1.0.60
1.0.50
1.0.3-beta.00
1.0.20
1.0.2-beta.10
1.0.2-beta.00
1.0.10
1.0.00
0.1.6-beta.00
0.1.3-beta.00
0.1.1-beta.10

Package Sidebar

Install

npm i @hyext/hyext-reporter-ya

Weekly Downloads

0

Version

1.2.3

License

ISC

Unpacked Size

14.2 kB

Total Files

6

Last publish

Collaborators

  • hy-ext
  • maizhiying