From 0ff391a973aacdecb28fe68356870c7b76ed6d1d Mon Sep 17 00:00:00 2001 From: ShenXiaowei Date: Fri, 16 Aug 2024 17:00:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=96=87=E6=A1=88?= =?UTF-8?q?=E5=92=8C=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/webjs/encyclopedia/advancedFeatures.md | 56 +++++++++++++++++++-- docs/webjs/encyclopedia/metadata.md | 18 +++---- docs/webjs/integrate.md | 2 + docs/webjs/upgrade/cdp.md | 14 +++--- 4 files changed, 69 insertions(+), 21 deletions(-) diff --git a/docs/webjs/encyclopedia/advancedFeatures.md b/docs/webjs/encyclopedia/advancedFeatures.md index cbbffe763..356d5ffef 100644 --- a/docs/webjs/encyclopedia/advancedFeatures.md +++ b/docs/webjs/encyclopedia/advancedFeatures.md @@ -62,17 +62,63 @@ window.abc('track', xxxxx, xxxxx); -npm集成时,利用 es6 require 的模块化引入赋值即可。 +此处多种方式示例将 gdp 修改为 abc。 + +#### 方式一 + +直接引入后重新定义变量赋值。 + +```js +import gdp from 'gio-webjs-sdk'; +const abc = gdp; +``` + +#### 方式二 + +在支持 require 的CommonJS语法中直接引入赋值即可。 ```js import gdp from 'gio-webjs-sdk'; -// 此处示例将 gdp 修改为 abc ↓↓↓ + const abc = require('gio-webjs-sdk').default; +``` + +#### 方式三 +在Webpack或Vite类似构建工具中。 -import gdp from 'gio-webjs-sdk/gdp-full'; -// 此处示例将 gdp 修改为 abc ↓↓↓ -const abc = require('gio-webjs-sdk/gdp-full').default; +```js +/** + * Webpack示例 + */ +// 在你的webpack.config.js文件中,添加或修改resolve.alias部分 +module.exports = { + // 其他配置... + resolve: { + alias: { + 'abc': 'gio-webjs-sdk' // 设置别名 + } + } +}; +// 在你的代码中,你可以直接使用别名来导入 +import abc from 'abc'; + + +/** + * Vite示例 + */ +// 在你的vite.config.js 或 vite.config.ts文件中,添加或修改resolve.alias部分 +import { defineConfig } from 'vite'; +export default defineConfig({ + // 其他配置... + resolve: { + alias: { + 'abc': 'gio-webjs-sdk', // 设置别名 + } + }, +}); +// 在你的代码中,你可以直接使用别名来导入 +import abc from 'abc'; ``` 后续即可通过 `abc` 调用我们的方法。 diff --git a/docs/webjs/encyclopedia/metadata.md b/docs/webjs/encyclopedia/metadata.md index 158972a5b..e4ed61c2c 100644 --- a/docs/webjs/encyclopedia/metadata.md +++ b/docs/webjs/encyclopedia/metadata.md @@ -27,9 +27,9 @@ SDK 使用浏览器的 cookie 来存储用户的人物信息,包括用户 ID 对于事件时间有下面几类: -* **事件发生时间:**比如一个页面浏览事件、点击行为事件,是在什么时候发生的,这个时间是客户端获取到的毫秒时间。
-* **页面加载时间:**比如这个点击行为发生所在的页面,是在什么时候加载的,这个时间是客户端获取到的毫秒时间。
-* **数据发送时间:**从采集性能考虑,数据发送到服务端时会在客户端有一定的延迟,所以每次发送请求都会附带上数据发送时间,这个时间也是客户端获取到的毫秒时间。 +* **事件发生时间:** 比如一个页面浏览事件、点击行为事件,是在什么时候发生的,这个时间是客户端获取到的毫秒时间。
+* **页面加载时间:** 比如这个点击行为发生所在的页面,是在什么时候加载的,这个时间是客户端获取到的毫秒时间。
+* **数据发送时间:** 从采集性能考虑,数据发送到服务端时会在客户端有一定的延迟,所以每次发送请求都会附带上数据发送时间,这个时间也是客户端获取到的毫秒时间。 这里值得注意的是,由于客户端时间是用户自己定义的(即系统时间),所以是完全不可信的,所以我们需要在服务端去做检验,计算出事件发生的真正时间。其逻辑如下图: @@ -88,9 +88,9 @@ SDK 会从 URL 里面按照域名、路径和查询分开提取,来标记用 SDK 目前支持 6 种不同的事件类型: -1. **VISIT:访问事件。**当用户新开始一个会话时,会发送此类数据。 -2. **PAGE:页面访问事件。**当用户打开一个页面时,会发送此类数据。页面打开有几种情况,比如刷新页面,通过 HTML5 History API 切换页面,亦或使用 hashchange 事件来切换页面,都可以自动采集。需要注意的是,如果是使用 hashchange 方法,需要手动添加一个`hashtag`配置项来达到自动采集。 -3. **VIEW_CLICK:点击事件。**当用户点击元素时,会发送此类数据。 -4. **VIEW_CHANGE:视图修改事件。**当输入框或者选择框的内容发生变化时,会发送此类数据。 -5. **CUSTOM:自定义埋点事件。**当手动调用 `track` 方法时或当一个标记内容显示在页面时(曝光),会发送此类数据。 -6. **LOGIN_USER_ATTRIBUTES:用户属性事件。**当手动调用 `setUserAttributes` 方法时,会发送此类数据。 +1. **VISIT:访问事件。** 当用户新开始一个会话时,会发送此类数据。 +2. **PAGE:页面访问事件。** 当用户打开一个页面时,会发送此类数据。页面打开有几种情况,比如刷新页面,通过 HTML5 History API 切换页面,亦或使用 hashchange 事件来切换页面,都可以自动采集。需要注意的是,如果是使用 hashchange 方法,需要手动添加一个`hashtag`配置项来达到自动采集。 +3. **VIEW_CLICK:点击事件。** 当用户点击元素时,会发送此类数据。 +4. **VIEW_CHANGE:视图修改事件。** 当输入框或者选择框的内容发生变化时,会发送此类数据。 +5. **CUSTOM:自定义埋点事件。** 当手动调用 `track` 方法时或当一个标记内容显示在页面时(曝光),会发送此类数据。 +6. **LOGIN_USER_ATTRIBUTES:用户属性事件。** 当手动调用 `setUserAttributes` 方法时,会发送此类数据。 diff --git a/docs/webjs/integrate.md b/docs/webjs/integrate.md index a2b34d7a2..080a4d1b3 100644 --- a/docs/webjs/integrate.md +++ b/docs/webjs/integrate.md @@ -222,6 +222,8 @@ gdp('init', 'your accountId', 'your dataSourceId', { **2)** SDK **默认使用 esm** 格式进行打包,若您的站点需要使用 umd 格式的 SDK,请修改为`gio-webjs-sdk/gdp.umd.js`(`gio-webjs-sdk/gdp-full.umd.js`)即可引用 umd 格式的 SDK。 **3)** 如果您使用了 TypeScript 开发,且遇到了类似 `找不到模块"gio-webjs-sdk"或其相应的类型声明` 的错误提示时,在您全局的 d.ts 文件中添加 `declare module 'gio-webjs-sdk';` 模块定义即可。 + +**4)** 如果您在引入过程中遇到找不到 `gio-webjs-sdk/gdp-full` 类似的情况,可以尝试使用 `gio-webjs-sdk/dist/gdp-full` 的路径解决。
diff --git a/docs/webjs/upgrade/cdp.md b/docs/webjs/upgrade/cdp.md index 4739fcf00..250807f4d 100644 --- a/docs/webjs/upgrade/cdp.md +++ b/docs/webjs/upgrade/cdp.md @@ -96,8 +96,8 @@ gdp('track', eventId, eventLevelVariables); ### 2、检查初始化配置项 1. 移除已废弃配置项:`autotrack`、`compress`。如果您想禁用无埋点事件和数据加密,请**按需集成SDK**,**不要注册**对应插件即可。未使用则忽略。 -2. 移除已废弃配置项:`scheme`、`host`。添加**`serverUrl`**,并在serverUrl中填写完整的协议头+地址(例:`https://api.growingio.com`)。 -3. 重命名替换**`enableIdMapping`**为**`idMapping`**。未使用则忽略。 +2. 移除已废弃配置项:`scheme`、`host`。添加 **`serverUrl`**,并在serverUrl中填写完整的协议头+地址(例:`https://api.growingio.com`)。 +3. 重命名替换 **`enableIdMapping`** 为 **`idMapping`** 。未使用则忽略。 其他配置项请[参考文档](/docs/webjs/initSettings)按需配置功能,如果您不确定是否需要对应配置项,请咨询我们的技术支持。 @@ -105,11 +105,11 @@ gdp('track', eventId, eventLevelVariables); 以下步骤仅列出需要改动的点,没有列出的api或内容即为自动兼容无需更改。 -1. 移除**`send`**方法调用。4.0版本已不再需要它,SDK在初始化完成后且`dataCollect`开启状态下自动上报数据。 -2. 移除**`setConfig`、`config`**方法调用。SDK仅支持`init`方法进行初始化和初始化配置。如需在运行过程中动态修改配置,请使用 `setOption` [参考文档](/docs/webjs/commonlyApi#动态修改配置接口setoption)。未使用则忽略。 -3. 移除**`setTrackerScheme`、`setTrackerHost`、`enableDebug`、`setDataCollect`、`setAutoTrack`** 方法调用。请使用 `setOption` [参考文档](/docs/webjs/commonlyApi#动态修改配置接口setoption)。未使用则忽略。 -4. 修改**`getVisitUserId`**为**`getDeviceId`,调用变更**,请[参考文档](/docs/webjs/commonlyApi#3获取访问用户idgetdeviceid)修改使用方式。未使用则忽略。 -5. 修改**`track`**方法调用,移除**item**传参,即该方法不再支持物品模型上报,仅支持事件属性上报。未使用则忽略。 +1. 移除 **`send`** 方法调用。4.0版本已不再需要它,SDK在初始化完成后且`dataCollect`开启状态下自动上报数据。 +2. 移除 **`setConfig`、`config`** 方法调用。SDK仅支持`init`方法进行初始化和初始化配置。如需在运行过程中动态修改配置,请使用 `setOption` [参考文档](/docs/webjs/commonlyApi#动态修改配置接口setoption)。未使用则忽略。 +3. 移除 **`setTrackerScheme`、`setTrackerHost`、`enableDebug`、`setDataCollect`、`setAutoTrack`** 方法调用。请使用 `setOption` [参考文档](/docs/webjs/commonlyApi#动态修改配置接口setoption)。未使用则忽略。 +4. 修改 **`getVisitUserId`** 为 **`getDeviceId`,调用变更**,请[参考文档](/docs/webjs/commonlyApi#3获取访问用户idgetdeviceid)修改使用方式。未使用则忽略。 +5. 修改 **`track`** 方法调用,移除 **item**传参,即该方法不再支持物品模型上报,仅支持事件属性上报。未使用则忽略。 ##### 示例