實作指南:如何在Android app內成功導入Huawei HMS Core 4.0 SDK
前言
* 過去在專案上有遇過有廠商要求導入Huawei SDK的經驗
剛好以前有做一些筆記
現在把他整理出來
分享給大家!
整體開發下來
其實就是跟Google gms滿像的 XDD
導入HMS
具體方法可參考帳號註冊認證。
有使用者介面操作一下即可創建
接著就需要去開啟你要用的API的權限
也是在後台打開
可以用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分離
開始
不然很容易後期維護上會很麻煩
耦合太高又很難拆的話就...
在build gradle內配置`maven {url 'https://developer.huawei.com/repo/'}`
<script src="https://gist.github.com/waitzShigoto/1ca47854f0a1eb3c94565c3512725050.js"></script>
-
再來把需要HMS kit 導入到專案內
這邊以HMS map為例
這樣可以正式開始開發了!
-
Hms 與 Gms 兩家地圖的小差異
前面說到HMS與GMS的function name 極度相似
所以如果用過gms的人應該很快能上手(?
不過我剛好運氣
比較好
在開發時有遇到
稍微不同的地方
如
googlePolylineOption.width(5)
vshuaweiPolylineOption.width(5)
實測效果不一樣所以也不是全部邏輯能直接套啊XDD 最好還是檢查一下!!
最後改成這樣才能一樣
-
推播
小差異主要就是
繼承子類
不同其他用起來也一樣
不過我會分享是因為
之前開發別的華為功能
幾乎是方法、類的名稱幾乎一模一樣XD
總結一下
- HMS & GMS 除了package name不太一樣
另外就是少部分function不太一樣
整體上兩家SDK用法沒有差到很多