問題描述
近期項目組使用Unity對接華為HMS SDK,開發(fā)一款游戲。
使用的接入方式是:先在Android Studio里面接入原生的華為HMS SDK,然后打出jar給unity使用,結(jié)果華為后臺下載的配置文件agconnect-services.json文件,unity這邊無法使用,導(dǎo)致很多參數(shù)無法獲取。
通過查看其他人的博客發(fā)現(xiàn)他們也有同樣的問題,一般解決方案都是通過修改manifest文件,如補充
<meta-data android:name="com.huawei.hms.client.appid" android:value="appid=103091591" />
通過上面的修改,現(xiàn)在華為登陸、支付相關(guān)都已經(jīng)調(diào)試通過了,但是因為我們還接入了華為的分析服務(wù),結(jié)果總是在應(yīng)用啟動時報錯如下:
看報錯,應(yīng)該是華為分析服務(wù)還用到了json文件中的其他字段信息,仿照上面修改manifest的方式,給分析服務(wù)需要的參數(shù)賦值,實際這么操作并沒有生效依舊報上面的錯誤
<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"/>
問題解決
最后聯(lián)系了Unity技術(shù)支持,給了一個讀取json的方案:
1.將從華為后臺獲取的json文件放在Unity的Plugins/Android下面。
2.Unity當前有提供給華為渠道HMS SDK的插件,并提供了demo,可以將unity demo里面的AfterBuildToDo這個腳本放在自己工程的Editor文件夾下面。
Unity提供給華為渠道的demo下載地址:
https://github.com/Unity-Technologies/HMSSDKSample
腳本位置:Assets/HuaweiHms/src/Editor/AfterBuildToDo.cs