接口调用:
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 // 绑定账号的类型
}
接口调用:
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);
接口回调:无
调用示例:
/*
* 返回当前支付商品信息,用于不同国家显示金额,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实名认证窗口,成功失败都会回调,游戏需传进来姓名、身份证号
//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实名认证接口,成功必定回调
//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);
此支付无回调结果,游戏不能依赖支付成功的回调进行游戏逻辑处理。 接口调用:
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可以获取此值 }
{
"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为未安装
暂无