数据上报验证

最近更新时间:2025-10-20 19:00:31

我的收藏
SDK 支持业务主动调用上报接口,上传自定义日志、文件等信息。该功能可用于用户反馈、异常发生等场景及时上报本地日志信息,帮助保留问题现场。

下发指令

平台提供了日志捞取指令的下发功能,用户可以在平台管理端的 日志查询 > 下发指令 页面进行指令的下发和上报结果查询。
1. 在下发指令页面,单击 新建查询,新建一个日志捞取命令,捞取命令需选择捞取的日志时间范围设备 ID,支持为捞取增加标签和附件文件路径。

2. 待命令下发后,可等待 SDK 拉取配置,并上传对应日志文件。

主动上报

限制规则

为了避免过度使用而浪费用户的设备资源和流量,主动上报有以下限制规则:
文件大小限制:限制压缩前的文件大小,超过上限则只保留修改时间较新的部分文件。默认值 Wi-Fi 500M、4G 200M,可通过(Kotlin)TDDiag.uploadLogs(..., sizeLimit = byte) 或(Java)UploadHelper.setSizeLimit(sizeLimit) 修改限制。
次数限制:通过初始化参数 TDDiagConfig.Builder#setUploadCountLimit 设置。
流量限制:通过初始化参数 TDDiagConfig.Builder.setTrafficQuota(total, metered) 设置。
重试限制:启动时最多重试5个任务,超过时将按优先级从低到高丢弃部分任务。优先级为捞取 > 白名单标签 > 其它主动上报
熔断机制:连续上传失败10次后,将停用主动上报6h。

白名单

对于一些关键上报,可以通过初始化参数 TDDiagConfig.Builder.setImportantLabels(...labels) 设置标签白名单,以绕过主动上报的限制规则。
注意:
仅允许把用户行为触发的标签加到白名单,例如用户反馈场景,以避免过度使用。建议把设置标签白名单的代码设为强制 CR。

检查数据上报

日志上传后可在平台管理端的 日志 > 日志查询 > 主动上报 页查看上报的日志信息。


示例

示例1:上传最近半小时的日志。
val now = System.currentTimeMillis() / 1000
TDDiag.upload(new UploadParam("recentLog")
.setTimestamp(now - 1800, now)
.setListener(uploadListener, true));
示例2:上传自定义文件。
TDDiag.upload(new UploadParam("customFile")
.setExtraPaths(listOf(path))
.setExtraInfo(msg, null));
示例3:(Crash时)创建上传最近5分钟日志的任务,下次启动时上传。
long now = System.currentTimeMillis() / 1000;
TDDiag.upload(new UploadParam("crash")
.setTimestamp(now - 300, now)
.setSaveSync(true));
说明:
关于日志 SDK 的更多用法,请参见 API 说明