實作指南:如何在Android app內成功導入Huawei HMS Core 4.0 SDK
2020, Sep 15
前言
- 過去在專案上有遇過
有廠商要求導入Huawei SDK的經驗
剛好以前有做一些筆記
現在把他整理出來
分享給大家!
整體開發下來
其實就是跟Google gms滿像的 XDD
導入HMS
第一步:註冊帳號
第二步:在後台創建應用
- 這邊就是跟其他平台滿像的
有使用者介面操作一下即可創建
接著就需要去開啟你要用的API的權限
也是在後台打開
第三步 :生成簽名
- 這邊跟google滿像的
可以用AS內的tool直接生成
產生後使用指令
keytool -list -v -keystore <keystore-file>
keystore-file : 這邊是需要輸入證書path
之後把產生的Sha256 hash貼到華為後台你剛創建的app的配置內
第四步:配置簽名
-
生成簽名之後
就可以在華為後台下載agconnect-services.json
接著開始加入到你的專案中 -
這個圖是當時專案的配置
因為那時候產品需求是
希望在build project的時候就能先build進不同產商的配置
然後亦希望在huawei內如果有人的手機自行安裝了gms
又要可以支援google服務
所以配置如下圖
當然實際專案開發時
可以跟你們的team member溝通會比較好 -
因為
HMS
很多function name 都跟GMS
內都是一樣的名字
XD
所以開發上就要好好分清楚
會比較好
不管從配置
著手 或code分離
開始
不然很容易後期維護上會很麻煩
耦合太高又很難拆的話就…
第五步:加入專案配置
-
再來加入android專案
在build gradle內配置maven {url 'https://developer.huawei.com/repo/'}
-
再來把需要HMS kit 導入到專案內
這邊以HMS map為例
這樣可以正式開始開發了!
開發huawei遇到的小差異分享
- Hms 與 Gms 兩家地圖的小差異
前面說到HMS與GMS的function name 極度相似
所以如果用過gms的人應該很快能上手(?
不過我剛好運氣比較好
在開發時有遇到
稍微不同的地方
就是在設置 polyline的時候同樣的常數設置出來的粗度不同啊
如googlePolylineOption.width(5)
vshuaweiPolylineOption.width(5)
實測效果不一樣所以也不是全部邏輯能直接套啊XDD 最好還是檢查一下!!
最後改成這樣才能一樣
推播
小差異
主要就是繼承子類
不同
其他用起來也一樣
不過我會分享是因為
之前開發別的華為功能
幾乎是方法、類的名稱幾乎一模一樣XD
總結一下
- HMS & GMS 除了package name不太一樣
另外就是少部分function不太一樣
整體上兩家SDK用法沒有差到很多