DeviceScan 对象
要使用设备扫描服务,需要实例化 DeviceScan 类,该类的构造函数具有以下参数:
| 参数 | 功能 | 是否必填 |
|---|---|---|
| .setSandbox() | 若在构造函数中使用此参数,库将配置为向 sandbox 环境发送数据。若不存在,请求将发送到 production 环境。 | 否。 |
| .setGeoLocation(true) | 若此参数设置为 true,库将请求收集 GPS 数据的权限。若不存在或设置为 false,则不会提取地理位置信息。 | 否。 |
注意
如果用户拒绝访问位置数据,库将正常运行,但不会收集这些信息。
deviceScan.info() 函数
要执行用户数据分析功能,需要向库发送以下参数,这些参数将标识您的公司以及信息所属的用户会话。此外,尽管 event_id 和 event_type 参数是可选的,但它们有助于我们识别用户在您页面上的导航模式,从而进一步防范欺诈。
以下是每个参数的详细说明:
| 名称 | 类型 | 描述 |
|---|---|---|
| web_token | String | 客户密钥,用于标识收集的数据来源于您的应用程序。如果尚未收到您的 web-token,请联系支持团队。必填 |
| session_id | String | 标识收集数据所属会话的密钥。必填 |
| event_id | String | 正在报告的事件的标识符 |
| event_type | String | 定义正在报告的事件类型的枚举器 - 请注意,非常相似的事件应使用相同的枚举器报告,以便能够基于这些数据构建智能分析。 |
实现示例
一个简单的实现示例如下所示:
html>
<head>
<script src="https://ds.viewpkg.com/device-scan-2-0-1.js"></script>
</head>
<script>
var deviceScan = new vPkg.DeviceScan('web_token', 'session_id')
deviceScan.setSandbox()
deviceScan.setGeoLocation(true)
async function callDeviceScan(eventType, eventId) {
await deviceScan.info(eventType, eventId)
.then((res) => console.log(res))
.catch((error) => console.log(error))
}
</script>
<body>
<input id="login" type="button" value="login" onclick="callDeviceScan('login', '1');" />
<input id="buy" type="button" value="buy" onclick="callDeviceScan('buy', '2');" />
</body>
</html>
在上面的示例中,创建了一个辅助函数 callDeviceScan,以便将 Device Scan 的使用与按钮点击关联,数据收集函数可以被调用两次:
-
第一次是当用户按下登录按钮时,用户在此事件之前的特征和行为将与 web_token、session_id、event_type("login")和 event_id("1")标识符一起发送到 QI Tech 服务器。
-
第二次是当用户按下购买按钮时,使用相同的 web_token(指您的公司)和 session_id(指您用户的会话)标识符收集用户行为,但使用不同的 event_type("buy")和 event_id("2"),表明在此步骤中 执行了与之前不同的事件,从而映射用户在您网站上的完整旅程。