问题描述
近期项目组使用Unity对接华为HMS SDK,开发一款游戏。
使用的接入方式是:先在Android Studio里面接入原生的华为HMS SDK,然后打出jar给unity使用,结果华为后台下载的配置文件agconnect-services.json文件,unity这边无法使用,导致很多参数无法获取。
通过查看其他人的博客 发现他们也有同样的问题,一般解决方案都是通过修改manifest文件,如补充
通过上面的修改,现在华为登陆、支付相关都已经调试通过了,但是因为我们还接入了华为的分析服务,结果总是在应用启动时报错如下:
看报错,应该是华为分析服务还用到了json文件中的其他字段信息,仿照上面修改manifest的方式,给分析服务需要的参数赋值,实际这么操作并没有生效 依旧报上面的错误
<meta-data android:name="com.huawei.hms.agcgw.url" android:value="url=connect-dre.hispace.hicloud.com" />
<meta-data android:name="com.huawei.hms.agcgw.backurl" android:value="backurl=connect-dre.dbankcloud.cn" />
<meta-data android:name="com.huawei.hms.service.analytics.collectorurl" android:value="collectorurl=datacollector-dre.dt.hicloud.com,datacollector-dre.dt.dbankcloud.cn"/>
<meta-data android:name="com.huawei.hms.service.analytics.resourceid" android:value="resourceid=p1"/>
问题解决
最后联系了Unity技术支持,给了一个读取json的方案:
- 将从华为后台获取的json文件放在Unity的Plugins/Android下面。
- Unity当前有提供给华为渠道HMS SDK的插件,并提供了demo,可以将unity demo里面的AfterBuildToDo这个脚本放在自己工程的Editor文件夹下面。
Unity提供给华为渠道的demo下载地址:
[github.com/Unity-Technologies/HMSSDKSample]
脚本位置:Assets/HuaweiHms/src/Editor/AfterBuildToDo.cs
原作者:AppGallery Connect