首页 文章详情

Unity游戏开发之腾讯防沉迷系统开发

爱上游戏开发 | 593 2021-04-12 20:05 0 0 0
UniSMS (合一短信)

工程准备


1、使用Unity2019.2及以上版本,创建一个新的空的3D工程。

2、打开Package Manager 下载 插件包

              

3、拷贝\Library\PackageCache\com.unity.playerid-cn@0.2.5-preview.2下的Sample到Asset目录下,另外官方文档在Documentation~目录下。

              

4、找到Sample目录下的SampleScene,双击打开。


             


环境配置


第一次点开,服务未启动

              

点击 Open Services 弹出界面


             


点击Create,如果没有登录会要求登录


             


            

 

如果登录了,就直接跳转服务界面


             


同时这里服务变为已连接

              

点击创建名字

              

会得到一个 configId,注意configId和APP名称绑定,是后续使用防沉迷功能所必须的属性。

              

创建OAuthClient


            

 

打开菜单Edit/ProjectSettings,找到Player Identity/Backends/Unity UserAuth,在

AntiAddiction App Settings字段中点击GetApp即可查询当前idDomain下创建的所有APP名称


以及对应configId。

              

上面的步骤是按照官方文档操作的,结果并没有任何反应,正确的做法是先点击CreateApp,然后再点GetApp就会有了。

              

额点几次就会出现几个。。


             

 

环境配置完毕。。

 

防沉迷系统开发流程


demo流程:


依赖TMP,所以第一次要导入TMP设置,点Import就好了。

              

Demo初始界面。

              

将config填入配置

              

点击登陆


             


匿名登录 会报错误 如果没填ClientAuth配置的话 这里会报错


             


手机登陆 真能收到验证码。。。微信搜索公众号 [爱上游戏开发],回复 “资料”,免费领取 200G 学习资料


             


用手机登陆(匿名登录不会触发)完成之后,会立马弹出网页版的实名认证,不知道手机上是不是也单独调起浏览器。我输入了错误的号码,确实会报错。


             


提交正确的之后,能通过验证。


             

之后再返回游戏,登录之后正常,不会再弹出。


邮箱注册一个账号

             

注册完成之后 和手机登陆一样,同样弹出实名认证。邮箱会收到认证链接。

              

这次输入了一个未成年的身份信息。

             

这两个按钮一直没有看到作用,模拟器也是没有效果。


             

 

问题及疑惑


1、根据UWA的的总结,目前2019.2及以上加起来占比也就4%左右。一般来说,大家选择版本的时候都是比较保守的,尤其是大项目或者上线项目,更换版本所带来的不稳定是无法承受的。所以这个限制将会非常大的限制该功能的推广和使用。按照目前来看,至少要能兼容2017.4及以上。

              

2、官方提供的插件里有一个Alpha版本测试申请,我是pro版本,没有填写申请就连上了。所以个人版本的流程并没有测试,不知道大家会不会存在连不上服务器的问题。


3、官方的手册里说了需要创建OAuth Client,但是这个是用来干啥的 我理解的不是很清楚。


4、这些APP可以创建,也可以Get,但是怎么删除?文档只提了需要把ConfigId复制出来,然后填入配置中,但是搞不懂这会造成什么影响,比如我创建的4个有什么区别?


             


5、Domain在工程里配置生成很奇怪。如果我一个公司有5个项目需要使用该功能,那么应该由谁去生成和管理该配置?一般来说应该提供一个web后台,进入后台去配置组织相关的东西,在开发层直接使用Web后台生成的domain或者Appid 或者configid之类的。


            

6、手机和邮件登陆之后,直接调用的是系统浏览器打开防沉迷认证。这个在现在国内游戏的常规做法里面是不OK的。现在的游戏开发调用SDK都是在应用内的,没有跳出游戏,转到浏览器去填写的。


7、由6带来的问题就是,填写完毕之后,成功或失败,游戏内无法接受回调,现在的措施就是跳转网页之后,Demo的登陆状态消失,需要重新再登陆一次。至少这个习惯玩家是不能接受的,和常规的游戏方式相违背。游戏里都是弹出实名认证(不管是内嵌网页 或是用原生平台界面),填完成功,马上接着当前状态继续玩。


8、Demo制作的有些粗糙,不应该把Demo的各种按钮或者Panel的开关事件封装在Runtime的里面。它们应该隶属于Sample文件夹。也就是说目录结构还是不清晰。

              

              

9、OnJudgePay 这个接口测试无效。一个成年账号,一个未成年账号,编辑器和模拟器均无效。


-- END --


公众号后台回复「资料」获取超多学习福利

>>> 点击进入技术讨论群 <<<
▽想深入了解么?

长按/扫码关注我吧↑↑↑


觉得不错就点个在看

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter