跳到主要内容
当前模块客户端 SDK 集成
AI-ready documentation

数据存储与上报

说明 Gravity Engine Android SDK 的本地缓存与上报机制,以及手动上报、关键事件和缓存阈值等触发方式。

查看 Markdown

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>

本页内容