supersdk

文档中心

文档中心

下载文档

GTaSDK


GTaSDK 主要为游戏发行海外地区(港澳台除外)提供登录功能。

一、获取当前登录用户的账号信息

接口描述:获取用户账号是否绑定的信息以及 token 值。

注意:选择是否需要遮罩,在 true 时,调用该接口在界面上会有 loading 框,直到获取成功或失败,loading 框才会消失。

接口调用:

Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("isMask", true); // accountInfo 参数 isMask:true/false 是否需要 loading 框
SuperSDK.getInstance().Invoke("platform", "accountInfoJson", params);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("accountInfoJson"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName : platform,
funcName : accountInfoJson,
result : {
    code : 1/0/xxx, // 1 获取成功,0 获取失败,xxx 其他错误码 没有可忽略
    msg  : xxx,
    data : {// 1 是已绑定,其他否
        "gta" : 1,// 是否绑定了 gta 账号
        "facebook" : 1,// 是否绑定了
        "twitter"  : 1,// 是否绑定了 twitter 账号
        "google"   : 1,// 是否绑定了 google 账号
        "gamecenter" : 1,// 是否绑定了 gamecenter 账号
        "token"    : xxx// 当前登录的 token 值
    }
}

二、弹出账号绑定页面

接口描述:根据 bindType 的对应的 value 值来跳转不同的绑定界面,绑定类型有 GTA、Facebook、Google。

接口调用:

Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("bindType", "GTA"); // showAccountLink 参数 bindType 取值为 GTA、Facebook、Google
SuperSDK.getInstance().Invoke("platform", "showAccountLinkJson", params);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("showAccountLinkJson"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName : platform,
funcName : showAccountLinkJson,
result : {
    code : 1/0/xxx,// 1 成功,0 失败,xxx 其他错误, code 没有可忽略
    msg  : xxx,
    data : GTA 、 Facebook 、 Twitter 、Google // 绑定账号的类型
}

三、获取 Facebook 登录的 FacebookID

接口描述:获取某用户在 facebook 中的用户 ID 号。

接口调用:

SuperSDK.getInstance().Invoke("platform", "getfbid", null);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("getfbid"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName : platform,
funcName : getfbid,
result : {
    code : 1/0/xxx, 1 获取成功,0 没有使用 FB 登录或 FB 登录失败,xxx 其他错误 code 没有可忽略
    msg  : xxx,
    data : fbid // code = 1 可以获取到 fbid,失败获取不到
}

四、查询当前用户是否已绑定邮箱并返回邮箱

接口描述:查询当前用户是否已绑定邮箱。

接口调用:

SuperSDK.getInstance().Invoke("platform", "queryBindEmail", null);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("queryBindEmail"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName : platform,
funcName : queryBindEmail,
result : {
    code : 1/0/xxx,// 1 已绑定,0 未绑定,xxx 其他查询失败 code,没有可忽略 
    msg  : xxx,
    data : email // code = 1 可以获取此值
}

五、查询 GTa 用户的用户名

接口描述:查询 GTa 用户的用户名。

接口调用:

SuperSDK.getInstance().Invoke("platform", "queryGTaUserName", null);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("queryGTaUserName"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName : platform,
funcName : queryGTaUserName,
result : {
    code : 1/0/xxx, // 1 成功,xxx 其他查询失败 code,没有可忽略 
    msg  : "success",
    data : "1003265311@qq.com" // code = 1 可以获取此值
}

六、打开绑定邮箱页面

接口描述:打开绑定邮箱页面让用户绑定密保邮箱。

接口调用:

SuperSDK.getInstance().Invoke("platform", "showBindEmail", null);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("showBindEmail"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName : platform,
funcName : showBindEmail,
result : {
    code : 1/0/xxx,// 1 绑定成功,0 绑定失败,xxx 其他错误, code 没有可忽略
    msg  : xxx,
    data : email// code = 1 可以获取此值
}

七、游戏自定义设置 SDK 语言

接口描述:传入 GTa 语言参数可更换 GTa 和客服语言。

接口调用:

Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("languagePath","zh_cn"); // 参数 languagePath 取值为语言标识符,比如:zh_cn、zh、en、de 等
SuperSDK.getInstance().Invoke("platform","setLanguagePath", params);

参数 支持以下几种语言(16种):

语言标识符 语言描述
ar 阿拉伯语
de 德语
en 英语
es 西班牙语
fr 法语
in 印尼语
ja 日文
ko 韩语
pl 波兰语
pt 葡萄牙语
ru 俄语
th 泰语
tr 土耳其语
zh 中文繁体
zh_cn 中文简体
vi 越南语

八、游客单登录

接口描述:游客单登录接口,自动创建并登录游客,不弹出游客登录框(静默登录)。

注意:该接口适用于 SuperSDK 母包。

接口调用:

SuperSDK.getInstance().Invoke("platform", "GuestSingleLogin", null);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("GuestSingleLogin"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName:platform
funcName:GuestSingleLogin
result:{
        "code":1,
        "data":{
            "msg":"登录成功",
            "osdk_ticket":"eyJvc2RrX2dhbWVfaWQiOiIxOTYzNzc4NDQiLCJ1c2VyX2lkIjoiMTY3MDQ5MjUyOTE3MjIyNDUyNTYyODg5NSIsImxvZ2luX3Nka19uYW1lIjoiZ3RhcmNhZGUiLCJjaGFubmVsX2lkIjoiMCIsImV4dGVuZCI6IjIxNzN8NDA4fDE3NDciLCJhY2NvdW50X3N5c3RlbV9pZCI6IjAwNjAwMTUiLCJvc2RrX3VzZXJfaWQiOiIwMDYwMDE1XzE2NzA0OTI1MjkxNzIyMjQ1MjU2Mjg4OTUiLCJpcCI6IjQ1LjQwLjYwLjIxNyIsImNvdW50cnkiOiJVUyIsInRpbWUiOjE2NzA0OTQ2MjIsInNpZ24iOiJiMmE4YThjMjVmMTM1ZjM1YjA1MThhMTM3YzBhNGY3ZiJ9",
            "status":1,
            "userinfo":{
                "login_sdk_name":"gtarcade",
                "user_id":"1670492529172224525628895"
            }
        },
        "msg":"GuestSingleLogin success"
    }

九、游客升级

接口描述:游客升级接口。

注意:该接口只有升级成功时有回调。

接口调用:

SuperSDK.getInstance().Invoke("platform", "guestUpgrade", null);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("guestUpgrade"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName:platform
funcName:guestUpgrade
result:{
    code : 1,// 1 成功,xxx 其他错误, code 没有可忽略
    msg  : "GuestUpgrade Success"
}

十、第三方登录

接口描述:可选择第三方登录方式。

登录方式:GTALogin、FacebookLogin、GoogleLogin。

接口调用:

Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("otherFuncName", "GoogleLogin"); // GTALogin、FacebookLogin、GoogleLogin
SuperSDK.getInstance().Invoke("platform", "otherFunction", params);

十一、获取商品信息

说明:参考 海外拓展接口

十二、用户隐私协议

接口描述:打开用户隐私协议。

注意:只支持日本地区。

接口调用:

Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("type", "JP");// 用户隐私地区(必须)。如:GDPR:gta 通用协议   JP: 日本
SuperSDK.getInstance().Invoke("platform", "openUserAgreement", params);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("openUserAgreement"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName:platform
funcName:openUserAgreement
result:{
    "code":1, // 1/xxx,  1 表示已经同意用户隐私,xxx 表示未同意用户隐私
    "msg":"已经同意用户隐私",
    "data":"JP"
}

十三、充值合规

注意:该接口仅支持Android,目前暂时只支持日本地区,日本地区的游戏在每次充值前都需要调用该接口。

接口调用:

Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("country", "JP"); // 传入限制的国家(目前暂时只支持日本) 必须。如:JP
params.Add("amount", "120"); // 传入充值金额(需要和打包工具上配置的一样,日本规定只能使用日元) 必须
SuperSDK.getInstance().Invoke("platform", "payCompliance", params);

接口回调:

public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    JsonData resultData = JsonMapper.ToObject(result);
    if (moduleName.Equals("platform"))
    {
        if (funcName.Equals("payCompliance"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

moduleName:platform
funcName:payCompliance
result:{
    "code":1, // 1/xxx,  1 表示可以充值, xxx 表示不可以充值
    "msg":"日分充值限制返回 Success, code = 0, msg = 可以充值"
}