跳到主要内容

DeviceScan 对象

要使用设备扫描服务,需要实例化 DeviceScan 类,该类的构造函数具有以下参数:

参数功能是否必填
.setSandbox()若在构造函数中使用此参数,库将配置为向 sandbox 环境发送数据。若不存在,请求将发送到 production 环境。否。
.setGeoLocation(true)若此参数设置为 true,库将请求收集 GPS 数据的权限。若不存在或设置为 false,则不会提取地理位置信息。否。
注意

如果用户拒绝访问位置数据,库将正常运行,但不会收集这些信息。

deviceScan.info() 函数

要执行用户数据分析功能,需要向库发送以下参数,这些参数将标识您的公司以及信息所属的用户会话。此外,尽管 event_id 和 event_type 参数是可选的,但它们有助于我们识别用户在您页面上的导航模式,从而进一步防范欺诈。

以下是每个参数的详细说明:

名称类型描述
web_tokenString客户密钥,用于标识收集的数据来源于您的应用程序。如果尚未收到您的 web-token,请联系支持团队必填
session_idString标识收集数据所属会话的密钥。必填
event_idString正在报告的事件的标识符
event_typeString定义正在报告的事件类型的枚举器 - 请注意,非常相似的事件应使用相同的枚举器报告,以便能够基于这些数据构建智能分析。

实现示例

一个简单的实现示例如下所示:

   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"),表明在此步骤中执行了与之前不同的事件,从而映射用户在您网站上的完整旅程。