InitCloud
如未使用 OSDK Login API,则不能使用此 API,因为会依赖登录态
InitCloud()
说明:初始化 cloud 云存储环境。云存储 sdk 已实现自动跟用户登录态绑定
public void InitCloud()
{
CloudConfig cloudConfig = new CloudConfig()
{
env = "test", // test || prod
};
#if UNITY_WEBGL && !UNITY_EDITOR
OSDKHelper.InitCloud(JsonUtility.ToJson(cloudConfig));
#else
Debug.Log("InitCloud 仅在 WebGL 运行时有效");
#endif
}SetKv
SetKv(string gameObjectName, string methodName, string key, string jsonValue)
【使用前,需要先调用InitCloud进行云环境的初始化】
说明:云端存储游戏数据,传入一个键名和值,将会把键名添加到给定的云端对象中,如果键名已存在,则更新其对应的值。unity的SetKv方法的value,仅支持json字符串。
public class GameManager : MonoBehaviour
{
public void CallSetKv() {
StoreData storeData = new StoreData()
{
nickname = "John",
score = 50
};
#if UNITY_WEBGL && !UNITY_EDITOR
OSDKHelper.SetKv(gameObject.name, "OnSetKv", "key", JsonUtility.ToJson(storeData));
#else
Debug.Log("SetKv 仅在 WebGL 运行时有效");
#endif
}
public void OnSetKv(string json) {
Debug.Log($"set kv 回调: {json}");
// 返回code和data,当code为0时请求成功,不为0判断失败,
// 示例:{"code":0,"data":{"nickname":"John","score":50}}
}
}GetKv
GetKv(string gameObjectName, string methodName, string key)
【使用前,需要先调用InitCloud进行云环境的初始化】
说明:读取云端游戏数据,传入一个键名,将通过回调返回该键的值。
public void CallGetKv()
{
#if UNITY_WEBGL && !UNITY_EDITOR
OSDKHelper.GetKv(gameObject.name, "OnGetKv", "key");
#else
Debug.Log("GetKv 仅在 WebGL 运行时有效");
#endif
}
public void OnGetKv(string json)
{
Debug.Log($"get kv 回调: {json}");
// 返回code和data,当code为0时请求成功,不为0判断失败,data默认会给null,当用户未set过该key时,默认为{"code":0,"data":null}
// 示例:{"code":0,"data":null}
}