菜单

数据存储与上报

概述

为保证数据采集的可靠性和优化设备性能,GravityEngine SDK 在 Android 平台​上采用"先存储,后上报"的策略。所有事件触发后首先在本地持久化存储,待服务器确认上报成功后方才删除对应的本地数据。

上报触发条件

1. 网络类型控制

您可以根据业务需求设置数据上报的网络环境:
gravityEngineSDKInstance.setNetworkType(GravityEngineNetworkType.NETWORK_TYPE_ALL);
可选配置:
  • NETWORK_TYPE_ALL / NETWORK_TYPE_DEFAULT:所有网络类型(移动网络、WiFi)下均上报
  • NETWORK_TYPE_WIFI:仅在WiFi网络环境下上报(不推荐开启,可能会导致事件上报延迟或漏报

2. 手动立即上报

支持主动触发数据上报,适用于需要确保数据及时上报的场景:
// 调用 flush() 上报缓存事件
gravityEngineSDKInstance.flush();

3. 关键事件触发上报

当以下重要业务事件发生时,SDK会自动触发全量数据上报:
应用生命周期事件:
  • 应用启动($AppStart
  • 应用进入后台($AppEnd
核心业务事件:
  • 付费事件($PayEvent
  • 用户提现($UserWithdraw
  • 广告展示($AdShow
  • 用户注册($AppRegister

4. 缓存数量触发上报

为防止本地数据积压,SDK会在缓存事件达到20条时自动触发上报:
上报限制:​ 单次API请求最多上传50条事件,超出的数据会自动分批上报。

5. 定时触发上报

  • 事件触发后延迟15秒进行上报
  • 如已有延迟上报任务,新事件会合并到现有任务中统一上报

数据存储管理

存储容量配置

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>

 

上一个
时间校准
下一个
百度bd_vid注入
最近修改: 2025-11-13Powered by