跳到主要内容
当前模块客户端 SDK 集成
AI-ready documentation

混合上报模式

说明客户端 SDK 与业务服务端共同上报数据的混合模式,并以付费事件为例讲解用户标识传递和接入步骤。

查看 Markdown

如果您应用内有些事件需要通过自有后端直接报送给引力引擎,那我们推荐您使用 混合上报模式 来完成接入,继续阅读本篇文档,我们将以付费事件为例讲解混合上报模式的接入步骤。

1. 客户端接入

客户端接入引力引擎提供的 SDK,不同客户端技术栈,对应不同的 SDK,具体可以参考 SDK 总览。

客户端 SDK 会负责自采集很多基础事件和属性,这部分工作引力提供的 SDK 已经完成封装

2. 服务端接入

服务端接入事件收集上报接口,完成事件的服务端报送功能,您需要注意以下几点:

  • 服务端仅负责事件的收集上报,不负责用户的注册,用户注册需要调用客户端 SDK 的 initialize 方法完成;
  • 客户端和服务端使用的用户 client id 需要保持一致;
  • 在客户端完成 initialize 方法调用之后,服务端才能开始做事件采集上报,否则上报不成功;
  • 服务端接入事件上报时,请参考 元事件页面 下关于事件的详情属性;
  • 请尽量上报事件的公共属性,引力不做强制要求,但是上报足够多属性,可以方便您后续在引力平台使用数据分析功能( $city、 $province 、 $country 、 $browser 、 $browser_version 属性可以不上报,引力后端会自动采集);
  • 关于属性的更多信息,请您参考 事件属性页面。

通过 API 上报请务必添加参数:$lib,并固定传入字符串api

3. 付费事件示例与验收

推荐顺序:客户端初始化成功 → 将当前 ClientID 传给业务服务端并关联订单 → 业务服务端确认支付成功 → 上报付费事件。先确定付费事件由哪一端负责,避免客户端和服务端各上报一次。

以下是放入 event_list 的单个事件对象,不是完整请求体。外层 client_id、access_token 和完整调用方式请参考 事件采集 API。

time 为事件实际发生的毫秒时间戳,示例时间仅用于展示结构,调用前必须替换;实时业务请保持 time_free=false。$pay_amount 单位为分,示例的 600 表示 6 元;$order_id 使用真实业务订单号。设备与网络信息只传入已采集到的真实值,不要复制示例值。

{
  "type": "track",
  "event": "$PayEvent",
  "time": 1669860000000,
  "time_free": false,
  "properties": {
    "$lib_version": "1.0",
    "$lib": "api",
    "$network_type": "4g",
    "$manufacturer": "HONOR",
    "$brand": "HONOR",
    "$model": "JLH-AN00",
    "$screen_width": 360,
    "$screen_height": 796,
    "$system_language": "zh_CN",
    "$os": "android",
    "$os_version": "Android 12",
    "$pay_amount": 600,
    "$pay_type": "CNY",
    "$order_id": "你的订单ID",
    "$pay_reason": "月卡",
    "$pay_method": "微信",
    "$is_first_pay": false,
    "$ip": "用户真实IP"
  }
}

收到成功响应后,请在 事件流 按相同 ClientID 核对订单号、金额和事件次数,再按 接入验收与排错 完成上线检查。

本页内容