supersdk

文档中心

文档中心

下载文档

渠道特殊接口


Gta平台特殊接口

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

接口调用:

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

接口回调:

//SuperSDK的OnCallBack回调结果,解析后判断
public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("---------------SuperSDK callback ---------------------");
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    if (moduleName.Equals(SuperSDKPlatform.MODULE_NAME)
        && "accountInfo".equals(funcName)) {
        // accountInfo回调
        AccountInfo(result);
    }
}

private void AccountInfo(String result)
{
    JsonData myJson = JsonMapper.ToJson(result);
    int code = (int)(myJson["code"]);
    if (code != 1)
    {
        string msg = myJson["msg"].ToString();
        Debug.Log("调用失败了:" + msg);
        return;
    }
    //只有code为1时data才有值
    string gta = myJson["data"]["gta"].ToString();// 是否绑定了gta账号
    string facebook = myJson["data"]["facebook"].ToString();// 是否绑定了facebook账号
    string twitter = myJson["data"]["twitter"].ToString();// 是否绑定了twitter账号
    string google = myJson["data"]["google"].ToString();// 是否绑定了google账号
    string gamecenter = myJson["data"]["gamecenter"].ToString();// 是否绑定了gamecenter账号
    string token = myJson["data"]["token"].ToString();// 当前登录的token值
}

日志打印:

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

弹出账号绑定页面

接口调用:

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

接口回调:

//SuperSDK的OnCallBack回调结果,解析后判断
public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("---------------SuperSDK callback ---------------------");
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    if (moduleName.Equals(SuperSDKPlatform.MODULE_NAME)
        && "showAccountLink".equals(funcName)) {
        // showAccountLink回调
        ShowAccountLink(result);
    }
}

private void ShowAccountLink(String result) 
{
    JsonData myJson = JsonMapper.ToJson(result);
    int code = (int)(myJson["code"]);
    if(code != 1) {
        string msg = myJson["msg"].ToString();
        Debug.Log("调用失败了: "+msg);
        return;
    }
    //只有code为1时data才有值
    string data = myJson["data"].ToString();//GTA 、 Facebook 、 Twitter 、Google  绑定账号的类型
}

日志打印:

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

获取facebook登录的facebookID

接口调用:

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME,"getfbid", paramsDic);

接口回调:

//SuperSDK的OnCallBack回调结果,解析后判断
public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("---------------SuperSDK callback ---------------------");
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    if (moduleName.Equals(SuperSDKPlatform.MODULE_NAME)
        && "getfbid".equals(funcName)) {
        // getfbid回调
        Getfbid(result);
    }
}

private void Getfbid(String result) 
{
    JsonData myJson = JsonMapper.ToJson(result);
    int code = (int)(myJson["code"]);
    if(code != 1) {
        string msg = myJson["msg"].ToString();
        Debug.Log("调用失败了: "+msg);
        return;
    }
    //只有code为1时data才有值
    string fbid = myJson["data"].ToString();// code=1 可以获取到fbid,失败获取不到
}

日志打印:

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

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

接口调用:

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME,"queryBindEmail", paramsDic);

接口回调:

//SuperSDK的OnCallBack回调结果,解析后判断
public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("---------------SuperSDK callback ---------------------");
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    if (moduleName.Equals(SuperSDKPlatform.MODULE_NAME)
        && "queryBindEmail".equals(funcName)) {
        // gqueryBindEmail回调
        QueryBindEmail(result);
    }
}

private void QueryBindEmail(String result) 
{
    JsonData myJson = JsonMapper.ToJson(result);
    int code = (int)(myJson["code"]);
    if(code != 1) {
        string msg = myJson["msg"].ToString();
        Debug.Log("调用失败了: "+msg);
        return;
    }
    //只有code为1时data才有值
    string email = myJson["data"].ToString();//code=1可以获取此值
}

日志打印:

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

打开绑定邮箱页面

接口调用:

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME,"showBindEmail", paramsDic);

接口回调:

//SuperSDK的OnCallBack回调结果,解析后判断
public void OnCallBack(string moduleName, string funcName, string result)
{
    Debug.Log("---------------SuperSDK callback ---------------------");
    Debug.Log("moduleName:" + moduleName);
    Debug.Log("funcName:" + funcName);
    Debug.Log("result:" + result);

    if (moduleName.Equals(SuperSDKPlatform.MODULE_NAME)
        && "showBindEmail".equals(funcName)) {
        // showBindEmail回调
        ShowBindEmail(result);
    }
}

private void ShowBindEmail(String result) 
{
    JsonData myJson = JsonMapper.ToJson(result);
    int code = (int)(myJson["code"]);
    if(code != 1) {
        string msg = myJson["msg"].ToString();
        Debug.Log("调用失败了: "+msg);
        return;
    }
    //只有code为1时data才有值
    string email = myJson["data"].ToString();//code=1可以获取此值
}

日志打印:

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

游戏自定义设置多语言路径

接口调用:

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add("languagePath", "aaaaaaaaa");//setLanguagePath参数"languagePath" : xxxx// 路径
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME,"setLanguagePath", paramsDic);

接口回调:无

谷歌特殊接口

传入商品id返回当前账户货币单位和金额

调用示例:

/*
 * 返回当前支付商品信息,用于不同国家显示金额,msg格式:
 * [{"productId":"diamond100","type":"inapp","price":"HK$8.00","price_amount_micros":8000000,
 *"price_currency_code":"HKD","title":"100 Diamonds (Legacy of Discord-FuriousWings)",
 *"description":"Recharge 0.99$ for 100 Diamonds"},
 *{"productId":"diamond1000","type":"inapp","price":"HK$78.00","price_amount_micros":78000000,
 *"price_currency_code":"HKD","title":"1000 Diamonds (Legacy of Discord-FuriousWings)",
 *"description":"Recharge 9.99$ for 1000 Diamonds"}, 
 *{"productId":"diamond500","type":"inapp","price":"HK$38.00","price_amount_micros":38000000,
 *"price_currency_code":"HKD","title":"500 Diamonds (Legacy of Discord-FuriousWings)",
 *"description":"Recharge 4.99$ for 500 Diamonds"}]   完整的是这样的格式。没有就是null
 *  商品id为错误时code同样是成功,result为null   get_currency_type为固定值,productid为谷歌商品id
 */
string productids = "diamond100|diamond500|diamond1000";//商品id使用|分割

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_NAME, "get_currency_type");//需要调用的other接口方法名,必传
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_paramsDic, productids);//调用other接口某个方法需要传的参数
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, SuperSDKPlatform.FUNC_OTHER_FUNCTION, paramsDic);

游族平台特殊接口

查询绑定状态

接口调用:

//查询绑定状态
Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_NAME, "isBind");//需要调用的other接口方法名,必传
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, SuperSDKPlatform.FUNC_OTHER_FUNCTION, paramsDic);

回调结果解析后判断
if("isBind".Equals(funcName)) {
    //code为1已绑定,其他未绑定
}

打开游客绑定

接口调用:

//bind
Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_NAME, "bind");//需要调用的other接口方法名,必传
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, SuperSDKPlatform.FUNC_OTHER_FUNCTION, paramsDic);

回调结果解析后判断
if("bind".Equals(funcName)) {
    //
}

设置社区监听

接口调用:

//如果开启了社区,需设置监听
//GameSoundListener
Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_NAME, "GameSoundListener");//需要调用的other接口方法名,必传
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, SuperSDKPlatform.FUNC_OTHER_FUNCTION, paramsDic);

回调结果解析后判断
if("GameSoundListener".Equals(funcName)) {
    callbackData=stopGameSound  //表示打开了社区,游戏需要关闭背景音乐
    callbackData=recoverGameSound  //表示关闭了社区,游戏可以恢复背景音乐
}

检查用户是否实名

接口调用:

//检查当前用户是否实名,true表示已实名,false表示未实名
//functionName: checkReal
Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_NAME, "checkReal");//需要调用的other接口方法名,必传
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, SuperSDKPlatform.FUNC_OTHER_FUNCTION, paramsDic);

回调结果解析后判断
if("checkReal".Equals(funcName)) {
    当code=1时,
    已实名callbackData格式:{"flag":true,"realName":"唐**","card":"4311******5913"}
    未实名callbackData格式:{"flag":false}
}

无UI实名认证

接口调用:

//无UI实名认证窗口,成功失败都会回调,游戏需传进来姓名、身份证号
//functionName: realNameAuthentication

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add("realName", "姓名,需中文");
paramsDic.Add("card", "身份证号");

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_NAME, "realNameAuthentication");//需要调用的other接口方法名,必传
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_paramsDic, paramsDic.tostring);//传入参数
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, SuperSDKPlatform.FUNC_OTHER_FUNCTION, paramsDic);

回调结果解析后判断
if("realNameAuthentication".Equals(funcName)) {
   当code=1时,
   已实名msg格式:{"flag":true,"realName":"唐**","card":"4311******5913", "desc":"恭喜您,实名认证成功!"}
   未实名msg格式:{"flag":false,"desc":"具体失败原因"}
                            
   当code !=1时,请求接口出错,或参数传入为空
   {"flag":false,"desc":"具体失败原因"}
}

带UI实名认证

接口调用:

//带UI实名认证接口,成功必定回调
//functionName: showRealView
Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_NAME, "showRealView");//需要调用的other接口方法名,必传
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, SuperSDKPlatform.FUNC_OTHER_FUNCTION, paramsDic);

回调结果解析后判断
if("showRealView".Equals(funcName)) {
    当code=1时,
    已实名msg格式:{"flag":true,"realName":"唐**","card":"4311******5913"}
    未实名msg格式:{"flag":false}
}

隐私协议

提供游戏自己调用隐私协议web页面的接口。 接口调用

	SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "openPrivacy", null);

服务协议

提供游戏自己调用服务协议web页面的接口。 接口调用

	SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "openUserService", null);

游族儿童隐私保护指引

提供游戏自己调用服务协议web页面的接口。 接口调用

	SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "openChildAgreement", null);

第三方信息共享清单

提供游戏自己调用服务协议web页面的接口。 接口调用

	SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "openThirdAgreement", null);

GAMA渠道特殊接口

第三方支付示例

此支付无回调结果,游戏不能依赖支付成功的回调进行游戏逻辑处理。 接口调用:

Dictionary<string, object> productDic = new Dictionary<string, object>();
productDic.Add(SuperSDKPlatform.KEY_PRICE, "1");                        //购买的商品价格,必须为整形数字
productDic.Add(SuperSDKPlatform.KEY_PRODUCT_ID,  "productId");//购买的商品ID, (某些充值是需要指定商品ID的,比如苹果)
productDic.Add(SuperSDKPlatform.KEY_PRODUCT_NAME, "productName");//购买的商品名字
productDic.Add(SuperSDKPlatform.KEY_PRODUCT_DESC,"productDesc");//购买的商品的描述
productDic.Add(SuperSDKPlatform.KEY_POINT_RATE, "pointRate");//比如萌江湖中是1元换10个元宝,那么pointRate填10, pointName填 元宝
productDic.Add(SuperSDKPlatform.KEY_POINT_NAME, "pointName");//比如萌江湖中是1元换10个元宝,那么pointRate填10, pointName填 元宝
productDic.Add(SuperSDKPlatform.KEY_ORDER_TITLE,"orderTitle");//订单标题,部分平台的订单标题有要求
productDic.Add(SuperSDKPlatform.KEY_PAY_EXTRA, "");//扩展参数,必传可传空

//调用支付接口
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "gamaThridPay", productDic);

获取在线好友

Dictionary<string, object> paramDic = new Dictionary<string, object>();
paramDic.Add("limit", "500");       //单页好友数
paramDic.Add("pagingState", "1");   //"1" 当前页的下一页  "2" 当前页的上一页
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "fetchFriendLists", paramDic);

分享调用示例

分享只针对facebook 接口调用: * 两个参数,都是可选,但是必须传递其中一个 * contentUrl 分享(内容、链接) * localImageUrl 分享本地图片链接 * thridPlatfromType 表示平台类型(必传) 1 表示Facebook

 Dictionary<string, object> paramDic = new Dictionary<string, object>();
 paramDic.add("localImageUrl", "XXX");
 paramDic.add("contentUrl", "XXX");
 paramDic.add("thridPlatfromType", "1");
 SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "gamaShare", paramDic);

接口回调:

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(SuperSDKPlatform.MODULE_NAME))
    {
        if (funcName.Equals("gamaShare"))
        {
            //处理登录回调
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            if (code == SuperSDKConstants.SUCCESS)
            {
                //分享成功
            }
            else
            {
                //分享失败   
            }
        }
    }
}

日志打印: —————SuperSDK callback ——————— moduleName:platform funcName:gamaShare result:{ code : 1/0/xxx,//1成功 msg : xxx, data : success// code=1可以获取此值 }

登入接口添加返回信息(Facebook)

{
    "code": 1,
    "data": {
        "data": [],
        "msg": "登录成功",
        "osdk_ticket": "eyJvc2RrX2dhbWVfaWQiOiIxOTYzNzc1ODAiLCJ1c2VyX2lkIjoiMTE3NjY1IiwibG9naW5fc2RrX25hbWUiOiJnYW1hIiwiY2hhbm5lbF9pZCI6IjAiLCJleHRlbmQiOiIyNzkwfDB8b3BnYW1laWQiLCJhY2NvdW50X3N5c3RlbV9pZCI6IjAwNjAzNjciLCJvc2RrX3VzZXJfaWQiOiIwMDYwMzY3XzExNzY2NSIsImlwIjoiNDIuMy4yMi40NCIsImNvdW50cnkiOiJISyIsInRpbWUiOjE1NDM4NDEyMzMsInNpZ24iOiJkM2IyNjczZWU3ZDY2ZDc4NDAwYmE5OTA2M2RkYWIwZiJ9",
        "status": 1,
        "thridPlatformLogin": {
            "data": {
                "birthday": "03/31/1991",
                "fb": "347946202676005",
                "gender": "male",
                "headURLStr": "https://graph.facebook.com/347946202676005/picture?height=300&width=300&migration_overrides={october_2012:true}",
                "name": ""
            }
        },
        "userinfo": {
            "login_sdk_name": "gama",
            "user_id": "117665"
        }
    },
    "msg": "login success"
}

fb facebook账号 birthday 生日 gender female 或者 male headURLStr 头像Uri name 用户名

社交邀请示例

打开一个活动页面接口 接口调用:

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME,"gamaWebInvitation", paramsDic);

系统公告示例

用于展示特定url公告 接口调用:

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add(SuperSDKPlatform.KEY_OTHER_NAME, "realNameAuthentication");   //需要调用的other接口方法名,必传
paramsDic.Add("url", "https://www.yoozoo.com");                             //url为用于打开的页面
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "openWebPage", paramsDic);

获取个人信息

SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "fetchUserProfile", null);

邀请好友

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add("userids", "123,121,222,3,13");   //为id以","隔开的字符串
paramsDic.Add("message", "XXX");                //邀请消息
paramsDic.Add("title", "XXX");                  //邀请标题
paramsDic.Add("thridPlatfromType", "1");        //默认facebook为1
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "inviteFriends", paramsDic);

给好友发送消息

Dictionary<string, object> paramsDic = new Dictionary<string, object>();
paramsDic.Add("localImageUrl", "XXX");          //本地图片路径,只能是图片
SuperSDK.getInstance().Invoke(SuperSDKPlatform.MODULE_NAME, "sendMessageToFriends", paramsDic);

是否可分享

//thridPlatfromType 1为facebook 2为FACEBOOK_MESSENGER

 Dictionary<String, Object> paramsDic = new Dictionary<String, Object>();
 paramsDic.put("thridPlatfromType", "1");
SuperSDK.getInstance().invoke(SuperSDKPlatform.MODULE_NAME, "isSharingSupport", paramsDic);

返回结果 true 为已安装应用,false为未安装

辅助常量一览

暂无