# WeGame Unity 接入
# 一、Unity PlayerSettings配置
Scripting Define Symbols
- 添加WEGAME_SDK
# 二、接口
# 1、设置平台参数接口
| 调用类 | DHSDKHelper |
|---|---|
| 接口 | setHostPlatformParam |
| 参数 | json字符串 json value都为string,key定义如下: DHAppId(产品id) DHChannelId(渠道id) DHInviteCode(邀请码) HostUrl(域名) HostPlatformAppId(wegame gameId) mainChannel (主渠道号) subChannel (次渠道号) |
| 调用说明 | 在初始化接口调用之前设置平台参数 HostUrl目前可选为DHHostPlatformSDK.DHHostPlatformConst.HOST_DEBUG_CHINA和DHHostPlatformSDK.DHHostPlatformConst.HOST_CHINA,分别对应国内测试服和国内正式服,测试接口请使用测试服,正式发布请使用正式服 |
# 2、特殊回调处理
| 回调信息码 | 回调说明 |
|---|---|
| DHSDKHelper.DHSDKConst.REQ_EXIT | 退出游戏回调,游戏收到回调后需要立即退出游戏 |
| DHSDKHelper.DHSDKConst.REQ_INDULGE | 防沉迷回调,游戏收到回调后需要退出登录弹窗提示或强退 |
####WeGame 防沉迷信息特殊处理 官网网址参考:https://developer.wegame.com/developer/game-wiki/help/doc/rail-sdk-helper-typical-usage-anti-addiction/zh_CN
public void onDHSDKResult(int requestCode, int resultCode, String resultData)
{
Debug.Log("request:" + requestCode + ", result:" + resultCode + ", Data:" + resultData);
message("request:" + requestCode + ", result:" + resultCode + ", Data:" + resultData);
if (resultCode == DHSDKHelper.DHSDKConst.RET_OK)
{
// 所有接口成功返回调用逻辑
if (requestCode == DHSDKHelper.DHSDKConst.REQ_INIT)
{
// 初始化成功 返回调用
Debug.Log("初始化成功");
DHSDKHelper.setNintendoEnvironment("lp1");
}
else if (requestCode == DHSDKHelper.DHSDKConst.REQ_INDULGE)
{
Debug.Log("data:" + resultData);
var infoJson = LitJson.JSON.Parse(resultData);
string indulgeInfo = infoJson["memo"].ToString();
Debug.Log("indulge data:" + indulgeInfo);
var indulgeInfoJson = LitJson.JSON.Parse(indulgeInfo);
/*Wegame防沉迷数据示例
{
"actions": [
{
"action": {
"type": { "id": 1, "name": "kRailAntiAddictionActionShowTips" },
"title": "游戏温馨提示",
"content": "根据国家防沉迷通知的相关要求和腾讯最新强化的防沉迷策略,由于您是未成年人,
仅能在周五、周六、周日及法定节假日20时至21时进入游戏。",
"display_duration_seconds": 60
}
},
{
"action": {
"type": { "id": 2, "name": "kRailAntiAddictionActionHalt" }
}
}
]
}
字段 类型 描述
actions array(object) 需要执行的防沉迷指令集合
actions.action object 每一条需要执行的防沉迷指令
actions.action.type object 防沉迷指令类型描述
actions.action.type.id uint32 防沉迷指令类型:弹框提示或者退出游戏
actions.action.type.name string 防沉迷指令类型名称
actions.action.title string 防沉迷弹框标题内容
actions.action.content string 防沉迷弹框显示内容
actions.action.display_duration_seconds uint32 防沉迷弹框显示时间
上述定义的防沉迷指令主要包括两种:
弹框提示:您需要在游戏中绘制一个窗口并显示指定的文字内容,窗口标题显示actions.action.title字段返回的数据,
窗口内容显示actions.action.content字段返回的数据。整个窗口默认显示的时间通过actions.action.display_duration_seconds字段指定。
退出游戏:如果下发弹框提示指令的同时还下发了退出游戏指令,那么当玩家主动关闭防沉迷弹框提示之后,您需要自动保存游戏进度并立即退出游戏。
如果玩家没有主动关闭防沉迷弹框提示,那么当actions.action.display_duration_seconds字段定义的弹框显示时间到期之后,您也需要自动保存游戏进度并立即退出游戏。
*/
}
}
}
}
# 3、其他接口参照基本接口调用接入即可
# 注意事项:
# 1、初始化报错 RailNeedRestartAppForCheckingEnvironment return true
首先排查wegame dev客户端是否有项目权限,以及代码gameid填写正确,重点要重启UnityHub