主题
Skip to content 

存档接口
上传本地存档
TypeScript
GameHelper.ServerData.uploadData({
data: {
//保存的数据
key1: 11,
key2: 22,
},
isCover: true, //是否覆盖本地数据,默认为false
success(res) {
//成功上传回调
console.log("上传成功");
},
fail(res) {
//上传失败回调
console.log("上传失败");
},
});
获取云端存档
TypeScript
GameHelper.ServerData.getData({
keys: "key1", //唯一标示是openid,SDK已经处理,此处只用传业务key即可
isCover: false, //是否自动覆盖本地,默认为true
success(res) {
console.log("获取服务器缓存成功:", res);
},
fail(err) {
console.log("获取服务器缓存失败:", err);
},
});
流程图


设计原理
1在一次应用的生命周期中(),只能够成功拉取一次存档,拉取存档成功后,只做上传操作,来确保存档的稳定性,避免回档情况。
在应用启动之后,立刻开始尝试拉取存档,拉取成功后,如果本地有数据,则需要和本地数据对比,可以让用户选择,也可以考虑根据关卡进度来自动取舍。
流程设计
- 登录流程
- 玩家启动游戏并选择登录。
- 调用登录接口,验证账号信息。
- 登录成功后,立即调用获取云端存档接口,拉取存档数据。
- 处理拉取结果:
- 网络错误:
- 强联网游戏:提示玩家检查网络连接,建议稍后再试,不进入游戏。
- 非强联网游戏:先进入游戏,继续尝试拉取存档,拉取到存档后与本地数据比对,并弹出提示让用户选择存档,标明未选择存档会永久丢失。
- 数据为空:
- 直接进入游戏,无需任何提示。
- 数据有值:
- 将云端数据写入本地,并提示玩家是否覆盖本地数据。
- 网络错误:
- 处理拉取结果:
- 登出流程
- 玩家选择登出账号。
- 调用上传本地存档接口,上传当前游戏数据。
- 上传成功: 清除本地登录状态,并返回到登录界面。
- 上传失败: 提示玩家存档未成功保存,建议重试或检查网络。
- 顶号处理
- 检测到当前账号在其他设备登录(顶号)。
- 立即调用上传本地存档接口,上传当前游戏数据。
- 上传成功: 提示玩家账号在其他设备登录,并强制退出到登录界面。
- 上传失败: 提示玩家存档未成功保存,建议重试或检查网络。
点我快速对接


