更新时间:2024-10-21 GMT+08:00
分享

云日志服务微信小程序SDK

云日志服务微信小程序SDK提供了微信小程序上报日志的一系列方法,如果您需要收集和分析用户在网站上的信息,例如用户的浏览器、浏览行为记录、购买行为记录、终端设备记录,设备异常记录,网络使用记录等,可以直接使用微信小程序SDK上报日志到LTS。

传输协议

HTTPS

使用前提

  • 确认云日志服务的区域,请您根据所在区域,选择RegionName。
  • 获取华为云账号的项目ID(project id),步骤参考:请参见“我的凭证 > API凭证”。
  • 获取需要上报到LTS的日志组ID日志流ID
  • 日志流需要开启匿名写入功能。详细操作请参考管理日志流

版本更新说明

表1 版本更新说明

版本号

更新说明

1.0.24

支持更多region:华东-上海一、华南-广州。

1.0.23

新增支持快应用上报。

1.0.21

  • 废弃config方法,优先使用new SDK创建一个新的实例。
  • 去除代码中对三方包的依赖和存在的中文符号。

1.0.19

修改时间阈值的范围从1-60改为1-1800,其默认值从30改为3。

1.0.18

  • 调整日志级别等级。
  • 支持labels嵌套。

1.0.15

新增多实例。

使用说明

  • 微信小程序SDK支持跨云/本地上报日志,当前仅支持华北-北京四、华东-上海一、华南-广州的白名单用户,如有需要请提工单申请。
  • 为确保微信小程序日志上报正常,需将上报地址添加到微信开发者平台域名列表,上报地址请参见配置参数说明

安装SDK

在小程序的根目录下通过运行“npm i lts-mini-sdk”命令,安装SDK软件包。

您可以在开源仓地址下载最新的SDK。可以将软件包中的app.js复制到项目文件目录下使用或者项目开启npm,使用node_module下的文件。

集成SDK

  • 采用npm方式集成SDK。
    1. 确保项目有“package.json”文件,如果项目中没有“package.json”文件,可以在项目的根目录下,使用以下命令来创建:npm init。
    2. 运行安装SDK的命令,安装SDK软件包。
    3. 单击开发者工具菜单栏中的“工具 > 构建npm”,构建当前工程的npm库文件。

  • 采用文件引入方式集成SDK。
    1. 运行安装SDK的命令,安装SDK软件包。
    2. 找到SDK文件夹中的app.js文件“node_modules > lts-mini-sdk > app.js”,将app.js文件从node_module复制到根路径并改名。

示例代码

const miniSDK = require('lts-mini-sdk').default;
// import miniSDK from 'lts-mini-sdk';
App({
    onLaunch(options) {
        // 初始化
        const wxmini = new miniSDK({
            // 上报region
            region: string,
            // 华为云项目ID
            projectId: string,
            // 上报地址
            url: string,  
            // LTS日志组ID
            groupId: string,
            // LTS日志流ID
            streamId: string,
            // 调试日志等级
            debug: string,
            // 当前小程序所属平台
            platform: string,
            // 上报条数阈值
            cacheThreshold: number,
            // 上报时间阈值
            timeInterval: number,
        });
        // 立即上报单条带标签
        wxmini.reportImmediately({ 'name': 'xiaoming', 'age': 18 }, { 'key': 'value' });
        // 立即上报单条 不带标签
        wxmini.reportImmediately([{   key: 'value',   number: 1,   array: [],   json: {     json: 'json'   } }, { 'key': 'value' }]);
        // 缓存上报多条 带标签
        wxmini.report([{ 'name': 'xiaohong', 'age': 18 }, { 'name': 'xiaobai', 'age': 20 }], { 'key': 'value' });
        // 缓存上报多条 不带标签
        wxmini.report([{ 'name': 'xiaohong', 'age': 18 }, {   key: 'value',   number: 1,   array: [],   json: {     json: 'json'   } }]);
        // 缓存上报多条 带多个标签(最多50个)
        wxmini.report([{ 'name': 'xiaohong', 'name': 'xiaolan' }], {'version': '1.0.0', 'render': 'mini', 'link': '/', from: 'wx'});
    }
});

配置参数说明

  • 配置参数说明
    表2 配置参数说明

    字段

    类型

    是否必填

    默认值

    描述

    region

    string

    必填

    -

    上报LTS所处的region。

    projectId

    string

    必填

    -

    账号的项目ID,128个字符上限。

    groupId

    string

    必填

    -

    LTS日志组ID,128个字符上限。

    streamId

    string

    必填

    -

    LTS日志流ID,128个字符上限。

    url

    string

    选填

    -

    用于上报的公网地址域名,支持带端口号,比如:https://lts-access.cn-north-4.myhuaweicloud.com:443;如未设置url,将根据region自动生成链接,格式如下:https://lts-access.{region}.myhuaweicloud.com。该域名地址需要在微信小程序后台开发设置服务器域名处(具体操作界面以小程序官网为准)注册为合法域名,128个字符上限。

    debug

    string

    选填

    OFF

    控制台调试信息的输出等级,有OFF、ERROR、WARN、INFO、DEBUG五个等级,填入无效值会默认为OFF,最高等级为DEBUG,层级往下递减。值为true时开启DEBUG等级的日志,值为false时日志等级为OFF。

    cacheThreshold

    int

    选填

    30

    默认30条上报条数阈值,当缓存到达阈值时上报缓存中的数据 30 <= cacheThreshold <= 1000

    timeInterval

    number

    选填

    3

    默认3s 上报阈值时间,当达到阈值时间上报缓存中的数据 1 <= timeInterval <= 1800

    platform

    string

    选填

    baidu

    支持上报的平台。目前支持以下平台:baidu:百度小程序,wx:微信小程序,dd:钉钉小程序,my:支付宝小程序,quick:快应用

  • 日志上报report方法参数说明
    表3 report方法参数说明

    字段

    类型

    是否必填

    默认值

    描述

    content

    Object | Array<Object>

    必填

    -

    需要上报的日志对象或者对象数组,每个对象(Object)最多允许300个键值对,且转成JSON字符串最大支持长度1024*30个字符,超出部分将被截断。

    array<Object>:数组中的每条Object数据最多300个键值对,转成JSON字符串最大支持长度1024*30个字节,超出部分将被截断。

    说明:

    用户的日志字段名称不允许包含双下划线(__)。

    labels

    Object

    选填

    日志标签,最外层键值对50个以内,最外层key最大长度为64个字符,最外层key值只能由字母开头,字母、数字或下划线组成,标签转成JSON字符串最大支持长度1024*30个字符,超出限制将不上报此条信息。

    说明:

    用户的日志字段名称不允许包含双下划线(__)。

  • 日志立即上报reportImmediately方法参数说明
    表4 reportImmediately方法参数说明

    字段

    类型

    是否必填

    默认值

    描述

    content

    Object | Array<Object>

    选填

    -

    立即上报的日志对象或者对象数组,每个对象(Object)最多允许300个键值对,且转成JSON字符串最大支持长度1024*30个字符,超出部分将被截断。

    array<Object>:数组中的每条Object数据最多300个键值对,转成JSON字符串最大支持长度1024*30个字节,超出部分将被截断。不填入内容时,将立即上报缓存中的日志。

    说明:

    用户的日志字段名称不允许包含双下划线(__)。

    labels

    Object

    选填

    日志标签,最外层键值对50个以内,最外层key最大长度为64个字符,最外层key值只能由字母开头,字母、数字或下划线组成,标签转成JSON字符串最大支持长度1024*30个字符,超出限制将不上报此条信息。

    说明:

    用户的日志字段名称不允许包含双下划线(__)。

参数获取方式

  • 区域表
    表5 区域表

    区域名称

    RegionName

    华北-北京四

    cn-north-4

    华东-上海一

    cn-east-3

    华南-广州

    cn-south-1

  • 日志组ID:在云日志服务控制台,选择“日志管理”,鼠标悬浮在日志组名称上,可查看日志组名称和日志组ID。
  • 日志流ID:单击日志组名称对应的按钮,鼠标悬浮在日志流名称上,可查看日志流名称和日志流ID。

相关文档