AI-ready documentation
数据存储与上报
说明 Gravity Engine Android SDK 的本地缓存与上报机制,以及手动上报、关键事件和缓存阈值等触发方式。
1. 概述
为保证数据采集的可靠性和优化设备性能,GravityEngine SDK 在 Android 平台 上采用"先存储,后上报"的策略。所有事件触发后首先在本地持久化存储,待服务器确认上报成功后方才删除对应的本地数据。
2. 上报触发条件
网络类型控制
您可以根据业务需求设置数据上报的网络环境:
gravityEngineSDKInstance.setNetworkType(GravityEngineNetworkType.NETWORK_TYPE_ALL);可选配置:
- NETWORK_TYPE_ALL / NETWORK_TYPE_DEFAULT:所有网络类型(移动网络、WiFi)下均上报
- NETWORK_TYPE_WIFI:仅在 WiFi 网络环境下上报(不推荐开启,可能会导致事件上报延迟或漏报)
手动立即上报
支持主动触发数据上报,适用于需要确保数据及时上报的场景:
// 调用 flush() 上报缓存事件
gravityEngineSDKInstance.flush();关键事件触发上报
当以下重要业务事件发生时,SDK 会自动触发全量数据上报:
应用生命周期事件:
- 应用启动(
$AppStart) - 应用进入后台(
$AppEnd)
核心业务事件:
- 付费事件(
$PayEvent) - 用户提现(
$UserWithdraw) - 广告展示(
$AdShow) - 用户注册(
$AppRegister)
缓存数量触发上报
为防止本地数据积压,SDK 会在缓存事件达到 20 条时自动触发上报:
上报限制: 单次 API 请求最多上传 50 条事件,超出的数据会自动分批上报。
定时触发上报
- 事件触发后延迟 15 秒进行上报
- 如已有延迟上报任务,新事件会合并到现有任务中统一上报
3. 数据存储管理
存储容量配置
SDK 提供灵活的存储空间管理机制,防止本地数据过度占用设备存储。
默认配置
- 最大存储事件数:10,000 条
- 最低保障存储:5,000 条(防止设置过小影响数据可靠性)
存储清理策略: 当数据量超过上限时,系统会自动清理最早的 100 条历史数据。
自定义配置
注意:如设置值低于 5,000,系统将自动调整为 5000 以保证基本功能
在 res/values/integers.xml 中配置:
<integer name="GEDatabaseLimit">10000</integer>数据有效期管理
为确保数据时效性,SDK 会定期清理过期数据。
默认配置
- 数据有效期:10 天
- 清理时机:每次应用启动时自动检测并清理
自定义配置
有效期设置范围:0-10 天,超出范围的设置将自动调整为 10 天
在 res/values/integers.xml 中配置:
<integer name="GERetentionDays">10</integer>