数据模块
本页介绍如何使用 Playol SDK 提供的数据模块,在无需搭建服务器的前提下实现用户游戏数据的本地存储与平台云同步,包括存档、配置项、成就进度等内容的读写。
数据模块封装了一套平台托管的数据同步机制,可用于保存玩家进度、状态、设置等任意结构化数据,自动与当前账号绑定并在多设备间同步,降低开发者存储成本。
📌 一、使用场景
- 存储关卡进度、游戏设置、临时状态、触发记录等;
- 无需搭建后端数据库,数据直接托管于平台侧;
- 玩家登录任意设备后可自动同步进度,实现断点续玩;
- 所有数据均绑定
userId,仅限登录状态下调用; - 支持结构化数据,最大存储上限为 1MB/用户;
- 所有方法调用均同步进行。
🧩 二、方法与调用方式
📥 获取数据
get(k)
获取指定键名的数据值
js
const level = window.playolSDK.data.get('currentLevel')
console.log(level)getAll()
获取该用户下所有存储数据(以对象形式返回)
js
const allData = window.playolSDK.data.getAll()
console.log(allData)📤 设置数据
set(k, v)
写入指定键值的数据,支持多类型结构,自动进行云同步
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| k | string | 是 | 键名 |
| v | string|number|boolean|object | 是 | 任意值 |
js
window.playolSDK.data.set('musicOn', true)
window.playolSDK.data.set('currentLevel', 12)
window.playolSDK.data.set('config', { speed: 3, volume: 0.8 })📌 说明:
- 所有数据设置后将触发平台的同步行为(带节流处理);
- 建议避免高频调用,可在关键操作后集中同步。
❌ 删除数据
del(k)
删除指定键值,平台自动同步数据状态
js
window.playolSDK.data.del('config')🧹 清空数据
clear()
清除当前用户下的全部数据(需谨慎调用)
js
window.playolSDK.data.clear()📌 说明:
- 清除操作不可恢复,常用于账号重置或注销流程;
- 建议在界面二次确认后再调用此方法。
⚙️ 三、同步机制说明
- 所有写入(set/del/clear)操作将自动触发数据上传行为;
- SDK 内部采用 节流防抖机制,默认 1 秒内多次修改会合并处理,最长延迟不超过 30 秒;
- 单用户数据存储上限为 1MB,超过将终止上传并在控制台输出警告;
- 数据同步基于当前账号,游客用户数据不做跨端同步;
🛠️ 四、推荐实践场景
| 场景 | 推荐操作 |
|---|---|
| 存储当前关卡编号 | set('currentLevel', 5) |
| 获取全部游戏配置 | getAll() |
| 删除单项设置 | del('volume') |
| 清空数据(重置游戏) | clear() |
| 自动保存设置 | 配合 UI 变动后触发 set() |
| 页面进入时拉取进度 | get() / getAll() |
📦 五、常见问题解答
Q: 数据是否实时保存?
A: SDK 内部自动调度上传,通常在 1 秒内触发,最大不超过 30 秒。
Q: 数据是否会覆盖旧值?
A: 是。多次调用 set(k, v) 会覆盖该键原有的内容。
Q: 游客用户是否能使用?
A: 可使用,但不具备云同步能力,仅保留在本地。
Q: 存储失败会通知吗?
A: 若超出 1MB 或写入失败,会在浏览器控制台输出警告或错误提示。