主题
Skip to content 

存档接口
本地存档接口
WARNING
本接口不可靠,只能用做中间短期存储,数据很可能被平台清理
C#
XYXCommon.Utils_PlayerPrefs
{
public static void SetInt(string key, int value);
public static int GetInt(string key, int defaultValue = 0);
public static void SetString(string key, string value);
public static string GetString(string key, string defaultValue = "");
public static void SetFloat(string key, float value);
public static float GetFloat(string key, float defaultValue = 0);
public static void DeleteAll();
public static void DeleteKey(string key);
public static bool HasKey(string key);
public static void Save();
}
上报数据
c#
ZMYSDKManager.I.Sdk.ServerLoginUploadDataStatic(string keyInfo,string valueInfo);
下拉数据
c#
ZMYSDKManager.I.Sdk.ServerLoginGetDataStatic(string keyInfo);
//成功登录的情况下,可以直接调用下拉数据的接口。否则需要先调用登录接口,等待登录成功后,再调用下拉数据的接口。
监听上报数据成功
c#
ZMYSDKManager.I.Login_UpLoadData += upLoadDataCallBack;
void upLoadDataCallBack(UploadDataResult dataResult)
{
if (dataResult.code==1)
{
Debug.Log($"上报Key[{dataResult.key}] 成功");
}
else
{
Debug.Log($"上报Key[{dataResult.key}] 失败");
}
}
监听下拉数据成功
c#
ZMYSDKManager.I.Login_DownData += downDataCallBack;
void downDataCallBack(DownDataResult dataResult)
{
if (dataResult.code == 1)
{
Debug.Log($"下拉Key[{dataResult.key}] 成功 Value=[{dataResult.value}]");
}
else
{
Debug.Log($"下拉Key[{dataResult.key}] 失败");
}
}
流程图


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


