supersdk

文档中心

文档中心

下载文档

海外拓展接口


主要为游戏发行海外地区(港澳台除外)提供支付辅助功能。

注意一:以下接口数据主要是用来做游戏内商品金额的显示,调用 SDK 支付时还是以游戏原来配置的商品表金额为准。

注意二:货币本地化接口一、货币本地化接口二只需要接入其中一个即可,两个接口的区别在于传的商品 id 不一样,如果游戏内使用的商品 id 和苹果/谷歌后台配置的商品 id 如果一样,建议使用接口一。

一、货币本地化接口一

接口描述:传入苹果/谷歌后台配置的商品 id,返回当前苹果/谷歌商店登录账户所在地对应商品 id 的货币单位和金额(金额和货币单位是分开的两个字段)。

接口调用:

string productids = "diamond100|diamond500|diamond1000"; // 普通商品 id 使用|分割,谷歌商品 id
string productsSubs = "diamondSubs100|diamondSubs500"; // 订阅商品 id 使用|分割,谷歌商品 id

Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("products", productids); // 传入普通商品 id 信息,商品 id 使用竖线 "|" 分割
params.Add("productsSubs", productsSubs); // 传入订阅商品 id 信息,商品 id 使用竖线 "|" 分割(没有订阅商品无需传入)
SuperSDK.getInstance().Invoke("platform", "getProductsInfoJson", 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("getProductsInfoJson"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

注意:由于平台原因,iOS 和 Android 返回值存在差异性,请分别解析处理。

iOS:

moduleName : platform,
funcName : getProductsInfoJson,
parameters : {
    "desc" : "商品信息获取成功",
    "data" : [
        {
          "price_currency_code" : "CNY",
          "productId" : "com.test.p1",
          "price" : "¥6",
          "title" : "仲裁币",
          "country_code" : "CN",
          "description" : "仲裁币,用于购买游戏道具。",
          "language_code" : "zh"
        },
        {
          "price_currency_code" : "CNY",
          "productId" : "com.test.p2",
          "price" : "¥12",
          "title" : "仲裁币",
          "country_code" : "CN",
          "description" : "游戏内,用于购买游戏虚拟道具.",
          "language_code" : "zh"
        }
    ],
    "code" : 1
}

Android:

moduleName:platform
funcName:getProductsInfoJson
result:
{
    code : 1, // 1/0/xxx,1 表示获取成功,0 表示失败,xxx 表示其他错误, code 没有可忽略
    msg  : xxx,
    data : [
                   {
                       "productId":"diamond100",
                       "type":"inapp",
                       "price":"HK$8.00",
                       "price_amount_micros":8000000,
                       "price_currency_code":"HKD",
                       "title":"100 Diamonds (Legacy of Discord-FuriousWings)",
                       "name":"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)",
                       "name":"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)",
                       "name":"Recharge 4.99$ for 500 Diamonds"
                   },
                   {
                       "productId":"diamondSubs100",
                       "type":"subs",
                       "price":"HK$78.00",
                       "price_amount_micros":78000000,
                       "price_currency_code":"HKD",
                       "title":"100 Diamonds (Legacy of Discord-FuriousWings)",
                       "name":"Recharge 9.99$ for 500 Diamonds"
                   },
                   {
                       "productId":"diamondSubs500",
                       "type":"subs",
                       "price":"HK$178.00",
                       "price_amount_micros":178000000,
                       "price_currency_code":"HKD",
                       "title":"500 Diamonds (Legacy of Discord-FuriousWings)",
                       "name":"Recharge 19.99$ for 500 Diamonds"
                   }
               ]
}

二、货币本地化接口二

接口描述:传入游戏内使用的商品 id,返回当前苹果/谷歌商店登录账户所在地对应商品 id 的货币单位和金额(金额和货币单位是分开的两个字段)。

接口调用:

string productids = "10021|340001|10022"; // 普通商品 id 使用|分割,游戏内使用的商品 id
string productsSubs = "95270|95271"; // 订阅商品 id 使用|分割,游戏内使用的商品 id

Dictionary<string, object> params = new Dictionary<string, object>();
params.Add("products", productids);// 传入普通商品 id 信息,商品 id 使用竖线 "|" 分割
params.Add("productsSubs", productsSubs);// 传入订阅商品 id 信息,商品 id 使用竖线 "|" 分割(没有订阅商品无需传入)
SuperSDK.getInstance().Invoke("platform", "getProductsInfos", 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("getProductsInfos"))
        {
            JsonData resultData = JsonMapper.ToObject(result);
            int code = (int)resultData["code"];
            // string msg = JsonMapper.ToJson(resultData["data"]);
            if (code == SuperSDKConstants.SUCCESS)
            {
                // 操作成功
            }
            else
            {
                // 操作失败
            }
        }
    }
}

日志打印:

注意:由于平台原因,iOS 和 Android 返回值存在差异性,请分别解析处理。

iOS:

moduleName : platform,
funcName : getProductsInfos,
parameters : {
    "desc" : "商品信息获取成功",
    "data" : [
        {
          "price_currency_code" : "CNY",
          "productId" : "1000",
          "price" : "¥6",
          "title" : "仲裁币",
          "country_code" : "CN",
          "description" : "仲裁币,用于购买游戏道具。",
          "language_code" : "zh"
        },
        {
          "price_currency_code" : "CNY",
          "productId" : "1001",
          "price" : "¥12",
          "title" : "仲裁币",
          "country_code" : "CN",
          "description" : "游戏内,用于购买游戏虚拟道具.",
          "language_code" : "zh"
        }
    ],
    "code" : 1
}

Android:

moduleName:platform
funcName:getProductsInfos
result:
{
    code : 1, // 1/0/xxx,// 1 表示获取成功,0 表示失败,xxx 表示其他错误, code 没有可忽略
    msg  : xxx,
    data : [
            {
                "productId":"10021",
                "type":"inapp",
                "price":"US$9.99",
                "price_amount_micros":9990000,
                "price_currency_code":"USD",
                "title":"Gem monthly card_10021 (Infinity Kingdom)",
                "name":"Gem monthly card_10021"
            },
            {
                "productId":"340001",
                "type":"inapp",
                "price":"US$4.99",
                "price_amount_micros":4990000,
                "price_currency_code":"USD",
                "title":"VIP10 treasure chest_340001 (Infinity Kingdom)",
                "name":"VIP10 treasure chest_340001"
            },
            {
                "productId":"10022",
                "type":"inapp",
                "price":"US$4.99",
                "price_amount_micros":4990000,
                "price_currency_code":"USD",
                "title":"Speed week card_10022 (Infinity Kingdom)",
                "name":"Speed week card_10022"
            },
            {
                "productId":"95270",
                "type":"subs",
                "price":"US$4.99",
                "price_amount_micros":4990000,
                "price_currency_code":"USD",
                "title":"订阅测试 1 (Infinity Kingdom)",
                "name":"订阅测试 1"
            },
            {
                "productId":"95271",
                "type":"subs",
                "price":"US$4.99",
                "price_amount_micros":4990000,
                "price_currency_code":"USD",
                "title":"订阅测试 2 (Infinity Kingdom)",
                "name":"订阅测试 2"
            }
        ]
}