设备指纹
产品介绍与核心概念

事件、访客与风险信号的关系

产品介绍与核心概念: 事件、访客与风险信号的关系

事件、访客和风险信号分别回答三个不同问题:

对象回答的问题主要标识
事件某一次识别请求发生了什么?request_id
访客这台设备在一段时间内出现过哪些活动?device_id
风险信号本次或该设备历史活动中检测到了哪些风险?signal_code

一次请求如何形成事件

当客户端调用 GEELAB SDK 发起识别请求时,系统会先校验请求所属的组织、应用、接入端及 Public API Key,并根据平台配置检查来源域名、Bundle ID、Package Name 或应用签名。

请求完成处理后,GEELAB 为本次请求生成唯一的 request_id,并形成事件记录。事件记录可以用于:

  • 在事件列表中精确查询。
  • 与客户服务端日志或业务订单关联。
  • 在 Webhook 投递日志中定位原始识别请求。
  • 查看本次请求的设备和风险详情。

被停用、来源校验失败、限流或配额不足的请求是否形成可查询事件,以及是否计费,应以服务端 API 和计费口径说明为准。

多个事件如何聚合为访客

如果多次事件返回相同的 device_id,控制台会在当前应用的数据范围内将这些事件聚合到同一个访客视图中。

事件 A:request_id=req_001,device_id=dev_123
事件 B:request_id=req_002,device_id=dev_123
事件 C:request_id=req_003,device_id=dev_456

聚合结果:
- 访客 dev_123:包含事件 A、事件 B
- 访客 dev_456:包含事件 C

访客列表中的首次出现时间、最近访问时间、事件数量和风险信号汇总均受当前应用、Region、查询窗口和套餐数据保留期影响。

除非产品另有明确说明,不应假设同一个 device_id 可以跨应用或跨 Region 直接关联。

单个事件如何命中多个风险信号

一次事件可以同时检测到多项风险。例如,一个事件可能同时来自模拟器环境,并检测到篡改工具。系统会将多个命中结果记录在该事件的风险信号数组中。

{
  "request_id": "req_001",
  "device_id": "dev_123",
  "signals": [
    { "signal_code": "EMULATOR" },
    { "signal_code": "TAMPER_TOOL_INSTALLED" }
  ]
}

上述结构仅用于解释对象关系,实际字段名称和返回结构以 API 文档为准。

同一访客的“命中风险信号”则是对该设备在当前数据保留期内相关事件的汇总。它不表示所有信号都在同一次事件中发生。调查时应继续打开具体事件确认命中时间和上下文。

控制台中的穿透关系

flowchart LR
    SIGNAL_PAGE[风险信号卡片]
    EVENT_LIST[预筛选事件列表]
    EVENT_DETAIL[事件详情]
    VISITOR_DETAIL[访客详情]
    VISITOR_EVENT[访客历史事件]

    SIGNAL_PAGE -->|查看日志,自动带入应用、时间和信号| EVENT_LIST
    EVENT_LIST -->|点击事件行或详情| EVENT_DETAIL
    EVENT_DETAIL -->|点击 Device ID| VISITOR_DETAIL
    VISITOR_DETAIL -->|点击 Request ID| EVENT_DETAIL
    VISITOR_DETAIL --> VISITOR_EVENT

从风险信号进入事件

在风险信号页面点击“查看日志”后,控制台进入事件列表,并自动带入:

  • 当前选择的应用。
  • 当前时间范围。
  • 当前风险信号。

从事件进入访客

在事件详情中,可以通过 device_id 查看关联访客,了解该设备在数据保留期内的其他事件和历史环境。

从访客返回事件

访客详情中的事件日志展示 request_id。点击具体 Request ID,可以再次打开对应事件详情,确认当时命中的风险信号和设备环境。