Skip to content

Commit

Permalink
Merge pull request #330 from growingio/web
Browse files Browse the repository at this point in the history
fix: 修复文案和示例
Anoiing authored Aug 16, 2024
2 parents eca7f97 + 0ff391a commit c4ff7be
Showing 4 changed files with 69 additions and 21 deletions.
56 changes: 51 additions & 5 deletions docs/webjs/encyclopedia/advancedFeatures.md
Original file line number Diff line number Diff line change
@@ -62,17 +62,63 @@ window.abc('track', xxxxx, xxxxx);
</TabItem>
<TabItem value="npm">

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` 调用我们的方法。
18 changes: 9 additions & 9 deletions docs/webjs/encyclopedia/metadata.md
Original file line number Diff line number Diff line change
@@ -27,9 +27,9 @@ SDK 使用浏览器的 cookie 来存储用户的人物信息,包括用户 ID

对于事件时间有下面几类:

* **事件发生时间:**比如一个页面浏览事件、点击行为事件,是在什么时候发生的,这个时间是客户端获取到的毫秒时间。<br/>
* **页面加载时间:**比如这个点击行为发生所在的页面,是在什么时候加载的,这个时间是客户端获取到的毫秒时间。<br/>
* **数据发送时间:**从采集性能考虑,数据发送到服务端时会在客户端有一定的延迟,所以每次发送请求都会附带上数据发送时间,这个时间也是客户端获取到的毫秒时间。
* **事件发生时间:** 比如一个页面浏览事件、点击行为事件,是在什么时候发生的,这个时间是客户端获取到的毫秒时间。<br/>
* **页面加载时间:** 比如这个点击行为发生所在的页面,是在什么时候加载的,这个时间是客户端获取到的毫秒时间。<br/>
* **数据发送时间:** 从采集性能考虑,数据发送到服务端时会在客户端有一定的延迟,所以每次发送请求都会附带上数据发送时间,这个时间也是客户端获取到的毫秒时间。

这里值得注意的是,由于客户端时间是用户自己定义的(即系统时间),所以是完全不可信的,所以我们需要在服务端去做检验,计算出事件发生的真正时间。其逻辑如下图:

@@ -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` 方法时,会发送此类数据。
2 changes: 2 additions & 0 deletions docs/webjs/integrate.md
Original file line number Diff line number Diff line change
@@ -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` 的路径解决。
</TabItem>
</Tabs>

14 changes: 7 additions & 7 deletions docs/webjs/upgrade/cdp.md
Original file line number Diff line number Diff line change
@@ -96,20 +96,20 @@ 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)按需配置功能,如果您不确定是否需要对应配置项,请咨询我们的技术支持。

### 3、检查api调用

以下步骤仅列出需要改动的点,没有列出的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**传参,即该方法不再支持物品模型上报,仅支持事件属性上报。未使用则忽略。

##### 示例

0 comments on commit c4ff7be

Please sign in to comment.