# Switch Unity 接入

==现在Assets/Plugins/NintendoSDKPlugin版本是2019.4.9f1-SDK-10.4.1-20200818-50fe8a171dd9,如果游戏Unity版本不是2019.4.9f1请自行替换NintendoSDKPlugin目录为项目组版本的switch插件代码==

# 一、Unity PlayerSettings配置

Application ID 测试ID为0x01004b9000490000,正式发布替换游戏自己的参数 Startup User Account 网游请设置Required With Network Service Account Save Data Size 设置存储大小33554432,即为32Mb Save Data Journal Size 设置存储大小33554432,即为32Mb Scripting Define Symbols

  • 添加NN_EC_SHOP_SERVICE_ENABLE指令
  • 如果unity版本是2019.4.9版本请添加SWITCH_VERSION_2019_4_9,否则不要添加

Parental Control 勾选,默认不设置家长控制,勾选后接口可正常获取控制状态 Application Error Code Category 填写游戏初始化码,在https://developer.nintendo.com/group/development/products后台看到游戏Game Code后五位,例如HAC-P-A5A5A,初始化码即为A5A5A

# 二、接口

# 1、设置平台参数接口

调用类 DHSDKHelper
接口 setHostPlatformParam
参数 json字符串

json value都为string,key定义如下:

DHAppId(产品id)

DHChannelId(渠道id)

DHInviteCode(邀请码)

HostUrl(域名)

HostPlatformAppId(主机applicationId)

mainChannel (主渠道号)

subChannel (次渠道号)

调用说明 在初始化接口调用之前设置平台参数

# 2、获取商品信息接口

调用类 DHSDKHelper
接口 querySkus
参数1 商品id列表
参数2 回调,回调的requestCode为DHSDKHelper.DHSDKConst.REQ_SKUS

返回值说明

字段 说明 备注
consumable_id content2
item_id content2 游戏内商品id,最多16个字符长度,且仅支持字母和数字
name 商品名称
ns_uid ns生成的商品id 游戏可忽略
currency 货币
formatted_value 格式化字符串 游戏内展示
raw_value 价格
inc_tax_message 含税说明 ns lotcheck要求游戏内必须展示

返回值resultData样例

{
    "target": [{
        "consumable_id": "aifw71utsqehfa9b",
        "item_id": "SAMPLEGOLD000001",
        "name": "Gold 1 G(Traditional Chinese)",
        "ns_uid": 70090000004194,
        "currency": "HKD",
        "formatted_value": "HKD 7",
        "raw_value": 7,
        "inc_tax_message": "皆為含稅價 (Dummy)"
    }]
}

# 3、获取网络是否可用

调用类 DHSDKHelper
接口 isNetworkAvailable

# 4、获取是否家长控制状态

调用类 DHSDKHelper
接口 getParentalControl
说明 true不限制,false限制

# 5、获取是否可以自由交流

调用类 DHSDKHelper
接口 getParentalControlForTry
说明 true不限制,false限制

# 6、UGC不文明语言检查

调用类 DHSDKHelper
接口 checkShieldingString
参数1 字符串
参数2 不明文字符串是否全部替换成1个*
返回值 返回处理过的字符串,比如fuck you,参数2传true会返回* you,传false会返回**** you

# 7、展示游戏错误弹窗

调用类 DHSDKHelper
接口 showApplicationError
参数1 自定义错误码(number <= 9999)
参数2 对话框展示的概要文本
参数3 全屏展示的详细文本

# 8、使用webview加载网页

调用类 DHSDKHelper
接口 exec
参数1 自定义参数
参数2 回调(暂时未用)
使用说明 如果使用webview 需要在project setting中的Accessible URL 添加值accessible-urls.txt,并将accessible-urls.txt文件(联系SDK技术索取)拷贝到项目根目录(即与Assets目录同级)

调用示例如下:

JsonData json = new JsonData();
json["url"] = "https://www.baidu.com";//填写网页url
json["target_appid"] = "1498239538";
JsonData jsonParam = new JsonData();
jsonParam["plugin_type"] = "tools";
jsonParam["unionsdk_type"] = "platform";
jsonParam["event_type"] = "browser";
jsonParam["jsonstring"] = json.ToJson();
DHSDKHelper.exec(jsonParam.ToJson(), mUnionSdkCallback);

# 9、设置NS环境接口(有支付功能必接)

调用类 DHSDKHelper
接口 setNintendoEnvironment
参数1 环境字符串,固定值如下:

dd1、dp1、lp1、sd1、sp1
调用说明 该接口在初始化成功后和setGameUserInfo接口之前调用即可,务必在setGameUserInfo前设置,否则支付不到账

# 10、其他接口参照基本接口调用接入即可

# 三、其他

  • 测试沙箱支付需要在ncms->具体title->aclConfig添加设备id
Last Updated: 2024/9/5 17:58:18