SDK-云储存

更新时间:2026-06-06 12:00:00OSDK

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}
}

相关文档