背景介绍
华为Game Service SDK提供了游戏应用自升级检测、获取玩家信息、游戏浮标、防沉迷、成就、排行榜等多个能力,Unity为了方便全球开发者快速集成该些能力并发布华为渠道,提供了HMS Core App Services SDK和demo。
本帖子先行试水,试试这个SDK的能力。
目标:将unity提供的游戏demo运行起来,能够调试通过基本的功能接口,如init,华为帐号登录。如果你还没安装Unity或者对Unity打包有疑问,请参考Unity Editor安装和Apk打包: https://developer.huawei.com/consumer/cn/forum/topic/0204405811539110247?fid=18。
文档链接
https://docs.unity.cn/cn/Packages-cn/com.unity.hms@1.2/manual/appgalleryChinese.html
demo下载路径
https://github.com/Unity-Technologies/HMSSDKSample
我们需要运行的demo是这个:
运行前的准备
步骤1:注册成为华为开发者并创建应用
这个步骤不做赘述,参考华为官方文档:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallerykit-preparation-game
我这里创建如下:
步骤2:从华为后台下载agconnect-services.json文件
- 创建完应用后,切换该应用所关联的项目下,界面会有如下提示,这里我选择了“手工输入包名”
- 下载agconnect-services.json文件
步骤3:替换Unity提供的demo中json文件。
将步骤2中下载的json文件替换下面的文件。
步骤4:在Assets/Plugins/Android中配置如下文件。
这里,我们参考unity官网提供的文档如下章节完成相关配置,不做赘述。
使用Unity Editor打开demo
这里默认您已经正常安装了Unity Editor,如果没有安装,请自行安装,我这里是参考下面这个帖子安装的Unity Hub和2020.1.2f1c1版本的Unity Editor。
https://developer.huawei.com/consumer/cn/forum/topic/0204405811539110247?fid=18
步骤1:打开Unity Hub,添加Unity提供的项目
结果如下:
注意:打开时注意选择正确的Unity版本
步骤2:双击上述项目,进入Unity Editor界面。
该提示无需关注,因为我本地安装的和Unity该demo用的Editor版本号不一样,选择“Continue”。
选择“Continue”等待项目导入完成。
最后,进入Editor成功,界面如下:
完成Android的Build Settings设置。
步骤1:选择“File > Build Settings”
步骤2:选择如下,点“Player Settings”进入项目设置页面。
注意: 没有安装Android模块的用户需要按指引在编辑器中安装Android模块,安装完Android模块需要重启编辑器才能生效。
步骤3:根据自己在华为AGC平台上创建的应用信息替换自己的应用信息,涉及包名、版本号等。
步骤4:参考如下步骤生成自己的应用签名文件。
注意:如提示JDK路径不存在或为空,请前往Preference->External Tools修改默认的JDK路径。系统会自动检测,如检测不到,请自行安装后重启编辑器重试,参考视频JDK not found Unity | java development kit is not set or invalid unity。
我这里将生成的签名文件放置在这个位置了,这里已经成功生成。
生成并配置签名证书指纹
使用上面的签名文件,参考华为的文档生成签名证书指纹并将该指纹在华为AGC系统中配置。
打包运行程序
步骤1:选择“Switch Platform”切换平台至Android手机上。
步骤2:选择“Build And Run”,选择刚刚的签名文件。
界面会提示如下:
看这个提示意思是我项目AssetsPluginsAndroid下的launcherTemplate.gradle文件使用了不推荐的方式,要解决这个问题,我可以将这个文件中的“useProguard”手动删除。这里我选择了手动删除,下面标红两行删除。
重新打包运行,手机上已经正常安装了该demo。
步骤3:查看打包后的demo是否正常。
打包后demo运行如下。
点击init界面日志信息提示成功。
点击Login>login按钮,能够正常拉起华为帐号登录界面。
至此说明demo已经成功运行起来,我们可以在如下文件中查看unity关于该demo的接口调用方式,并继续调试运行相关华为接口。
注意:如果点击Login>login按钮登录失败,并报错6003,请参考调用HMS SDK接口报错6003,大概率是因为选择签名文件build完成后签名指纹发生了变化。
欲了解更多详情,请参见:
Unity Editor安装和Apk打包:https://developer.huawei.com/consumer/cn/forum/topic/0204405811539110247?fid=18
原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201418722921820534?fid=18
原作者:Mayism