Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK
  xEvpnM0NnPEL 2023年11月02日 85 0

Unity官方为广大游戏开发者提供了集成华为HMS SDK的方式,包含游戏和华为hms core其他功能模块,这里只介绍如何集成游戏模块。

Unity官方文档链接:​https://docs.unity.cn/cn/Packages-cn/com.unity.huaweiservice@1.3/manual/gameservices_cn.html

打开文档后,左上角可以查看文档版本,默认是1.3.4版本。

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_集成SDK

当前最新文档是2.3.0,建议切换到最新版本集成sdk,具体接口在1.3.4版本,接入接口时需要切换回1.3.4版本。点击左上角下三角符号切换:

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_02

如果集成过程中遇到问题,可以登录网页版unity账号,点击右上角中问号,咨询unity官方技术人员。附上unity链接:https://distribute.dashboard.unity.com/list

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_集成SDK_03

先下载华为游戏unity demo,下载链接:

https://github.com/Unity-Technologies/HuaweiServiceSample

使用的unity版本2020.2.4.f1c1,下面言归正传,集成步骤如下:

下载后将demo导入到unityhub,在unityHub中打开demo,在弹出的弹窗中选择ignore,如图:

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_集成SDK_04

等待项目导入project到unity。

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_重新编译_05

导入之后,点击file->build settings->player settings,将产品信息替换为自己的。

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_重新编译_06

对应的将包名和版本号替换为自己的。

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_重新编译_07

将自己在AGC后台配置应用的agconnect-services.json文件放在如下目录下。

Json文件获取地址参考文档:

https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/integrate-as-sdk-0000001050435953

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_08

将以下红线选中文件删掉:

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_09

重新创建自己应用的gradle文件,创建方法为在player setting页面,将以下选项打勾,unity自动在对应位置创建文件,如图:

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_10

然后在对应的文件里面加入Game Service SDK的配置,我们参考unity官网提供的文档如下章节完成相关配置,不做赘述。

链接:

https://docs.unity.cn/cn/Packages-cn/com.unity.hms@1.2/manual/appgalleryChinese.html#1-%E4%BB%8Eunity-asset-store%E5%AF%BC%E5%85%A5%E6%AD%A4%E5%8D%8E%E4%B8%BAhms-core-app-services-sdk

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_11

配置完后,选中game的unity文件编译

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_重新编译_12

出现弹窗

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_集成SDK_13

这是要签名的意思,默认勾选了签名,改为不勾选可以先跳过签名

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_14

但是最终发布还是需要签名,我这里直接配置签名文件

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_重新编译_15

选中我本地的keystore文件,必须是keystore文件,jks文件识别不到,自己本地转化一下即可。

这里顺便写一下我自己的转化步骤:

1. 先将jks转化为中间文件.p12,命令行输入 :

keytool -importkeystore –srckeystore  后缀为jks文件的路径 -deststoretype PKCS12 -destkeystore  p12的存放路径

2. 将.p12转化为keystore文件,命令行输入:

keytool -v -importkeystore –srckeystore  p12文件的路径 -srcstoretype PKCS12 –destkeystore  keystore存放路径 -deststoretype JKS

将keystore文件导入后输入自己的签名文件的密码。如图

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_16

重新编译,然后在控制台报错:

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_集成SDK_17

看这个意思应该是c#文件里面的错误,模块太多,我只需要游戏相关的就行,咨询了unity人员说可以把不相关的删掉,还帮我划分了下可以删除的部分。

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_重新编译_18

按照图片删掉里面框住的部分,再编译,报错如下:

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_重新编译_19

看到里面报错很多刚刚删除的模块相关文件找不到,找到这个test文件夹,删掉,还有这个错误

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_集成SDK_20

也将对应路径下的void文件删掉,重新build。然后报错

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_集成SDK_21

看这个报错cs文件有错,看了代码没发现错误,重启unity编辑器或者操作一个简单粗暴的方法,创建新项目,然后把assets文件夹挪进去,重新编译,这样可以避免因为一些环境不同的原因出现一些无从下手的问题。我这里重启后之前错误消失,出现了其他报错。

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_集成SDK_22

看样子全部是ui文件夹里面的报错,应该是用到了之前删除的文件,从而找不到了。把ui文件夹删掉,重新build,报错:

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_23

提示我包不存在,应该是哪里有用到,最后我在这个路径下找到相关文件夹

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_24

删掉后重新build,编译成功,成功打包apk。

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_重新编译_25

手机安装后效果如图:

Unity集成华为游戏服务SDK方式(一):集成Unity官方游戏SDK_html_26

安装后就可以自行调测接口啦。

unity接口和华为原生游戏sdk接口映射可以参考:

https://developer.huawei.com/consumer/cn/forum/topic/0201519912259900022?fid=0101271690375130218

unity接口文档参考:

https://docs.unity.cn/cn/Packages-cn/com.unity.huaweiservice@1.3/manual/gameservices_cn.html

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论