跳到主要内容

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