最近項目接入渠道,在接入華為SDK遇到的一些問題的記錄。
使用Unity接入SDK,分為兩種:
Unity導出Android工程;
在Android Stdio/Eclipes中寫好方法,導出AAR/jar包,讓Unity調(diào)用;
公司的項目是根據(jù)導出AAR包,有C#調(diào)用。在接入華為SDK時,官方?jīng)]有提供jar/aar包,只提供了Android Stido 的一些依賴:
implementation ‘com.huawei.hms:hwid:3.0.2.300’
implementation ‘com.huawei.hms:iap:3.0.2.300’
implementation ‘com.huawei.hms:game:3.0.2.300’
implementation ‘com.huawei.hms:hianalytics:2.3.0.302’
通過這些依賴,下載華為SDK需要的jar/aar包
在gradle中配置完依賴,會發(fā)現(xiàn)Android Stdio依賴中已經(jīng)有上面圖中的一些依賴,但是在lib文件中并沒有增加jar/aar包,并不能copy到Unity工程中去。
在官網(wǎng)并沒有找到新SDK下載的地址,所以只能自己去找。
解決方案:
通過配置依賴,下載華為的SDK的依賴,里面一定包含需要的jar/aar,需要找到下載的地址
找到下載的jar/aar包,重新啟動一個Android Stdio工程(不要使用配置依賴關系的那個項目,防止依賴關系不準確的問題)
把依賴aar包導入到新的工程中去,具體的配置方法不做詳細介紹,網(wǎng)上因該很多。
上面的依賴可能不完全,還需要導入其他的aar包
如何找到aar包的地址:
Windows系統(tǒng):C:\Users\dell.gradle\caches\modules-2\files-2.1
看到畫框的文件,這些都是下載的依賴
進入文件中,可以找到如圖中的aar包
找出所需要的aar包,導入Android Stdio項目中
需要的AAR包:
在公司的項目中需要的aar(沒有推送),如果有有閃退的地方,通過查看日志,再去補充。
implementation(name: 'game-3.0.2.300', ext: 'aar')
implementation(name: 'hwid-3.0.2.300', ext: 'aar')
implementation(name: 'iap-3.0.2.300', ext: 'aar')
implementation(name: 'tasks-1.3.1.301', ext: 'aar')
implementation(name: 'base-3.0.0.301', ext: 'aar')
implementation(name: 'agconnect-core-1.0.0.300', ext: 'aar')
implementation(name: 'network-grs-1.0.9.302', ext: 'aar')
implementation(name: 'network-common-1.0.9.302', ext: 'aar')
Mainfest中注意事項:
在調(diào)用SDK登陸的接口,會報找不到APPID或者CPID,在文檔中讓導入agconnect-services.json去讀取,把文件導入到Unity項目中,并不能讀取到,所以需要在Mainfest中配置如下代碼:
<meta-data
android:name="com.huawei.hms.client.appid"
android:value="appid=項目APPID"/>
<meta-data
android:name="com.huawei.hms.client.cpid"
android:value="cpid=項目的CPID"/>
<provider
上面是接入SDK的注意事項,其他的按照官方文檔來。