AI-ready documentation
混合上报模式
说明客户端 SDK 与业务服务端共同上报数据的混合模式,并以付费事件为例讲解用户标识传递和接入步骤。
如果您应用内有些事件需要通过自有后端直接报送给引力引擎,那我们推荐您使用 混合上报模式 来完成接入,继续阅读本篇文档,我们将以付费事件为例讲解混合上报模式的接入步骤。
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 核对订单号、金额和事件次数,再按 接入验收与排错 完成上线检查。