数据校验
完成 SDK 初始化后,发送一条测试事件,并在接收端核对事件名称、属性和身份。track() 返回或队列为空不代表接收端已确认。
1. 准备测试环境
使用测试环境的 endpoint 和 projectKey,确认采集授权已满足要求。测试事件请使用非敏感数据。
Android 和 iOS 真机需要使用设备可访问的服务地址;Web 跨域上报需要配置 CORS。
2. 发送并观察事件
按照平台接入指南调用 track(),等待 SDK 合批发送。调试时可按需调用 flush()。
- 检查 SDK 已初始化且事件未被拒绝;需要时查看诊断信息。
- 在浏览器开发者工具、设备代理或接收端日志中检查请求及响应。
- 在目标环境的接收记录或查询渠道核对事件内容。
3. 确认接收响应
接收服务的成功响应示例:
json
{
"code": 200,
"data": { "status": "ACCEPTED" },
"message": "success"
}SDK 也支持含匹配 batchId 和 accepted: "all" 的平铺响应。其他 HTTP 2xx 响应不会确认队列;完整规则见事件接收协议。
有效 ACK 表示接收服务接受整批事件;如需确认事件已进入分析结果,还需查询目标环境的数据。
4. 选择验证环境
本地模拟服务适合检查请求格式和重试。正式接入前,请在已部署的测试/预发 Collector 中检查项目配置、响应及接收记录;不能用本地 Gateway 结果代替。发布前可参照上线检查清单。
投递验证结果与排查顺序
如果所用 SDK 提供 verifyDelivery,可以在记录测试事件后调用它,检查调用时的待发送范围:
| 状态 | 含义与处理 |
|---|---|
acknowledged | 本次范围已收到有效 ACK;继续核对接收端数据。 |
empty | 没有待验证事件;确认事件是否已发送或未被接纳。 |
rejected | 存在被拒收的事件;检查项目配置和事件格式。 |
unconfirmed | 尚未完整确认;根据 reason 检查授权、网络、重试或存储状态。 |
该方法不绕过授权或重试等待;内存队列不能保证应用重启后恢复。字段与平台调用方式见离线队列与重试。
提交排查信息
联系技术支持时,提供 SDK 和应用版本、平台、测试时间、问题现象、HTTP 状态和 SDK 错误码。分享诊断报告前,检查并移除凭据、用户身份及事件正文。