# 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

# 2、测试支付时要使用实名认证且成年的qq账号,在Wegame开发者后台->成员账号与权限->测试账号管理添加测试即可拉出Wegame支付界面
Last Updated: 2026/5/12 17:19:43