# 数据存储与上报

> 来源：https://help.gravity-engine.com/docs/client-sdk/quick-apps/storage-and-upload
> 说明 Gravity Engine 快应用 SDK 的本地缓存与上报机制，以及手动上报、关键事件和缓存阈值等触发方式。



## 1. 概述 [#1-概述]

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

## 2. 上报触发条件 [#2-上报触发条件]

### 手动立即上报 [#手动立即上报]

支持主动触发数据上报，适用于需要确保数据及时上报的场景：

```js
// 调用 flush() 上报缓存事件
ge.flush();
```

### 关键事件触发上报 [#关键事件触发上报]

当以下重要业务事件发生时，SDK 会自动触发全量数据上报：

**应用生命周期事件：**

* 应用启动（`$AppStart`）
* 应用进入后台（`$AppEnd`）

**核心业务事件：**

* 付费事件（`$PayEvent`）
* 用户提现（`$UserWithdraw`）
* 广告展示（`$AdShow`）
* 用户注册（`$AppRegister`）

### 缓存数量触发上报 [#缓存数量触发上报]

为防止本地数据积压，SDK 会在缓存事件达到 **20** 条时自动触发上报：

**上报限制：** 单次 API 请求最多上传 50 条事件，超出的数据会自动分批上报。
