実装ガイド:AndroidアプリにHuawei HMS Core 4.0 SDKを成功導入する方法
2020, Sep 15
前書き
- 過去にプロジェクトで
Huawei SDKの導入を求められた経験があり
その時のメモを整理して
皆さんと共有します!
全体的な開発は
実際にはGoogle gmsと非常に似ています
HMSの導入
第一歩:アカウント登録
- まずはHuaweiバックエンドで実名会員に登録する必要があります
詳細な方法はアカウント登録認証を参照してください。
第二歩:バックエンドでアプリを作成
- ここは他のプラットフォームと非常に似ています
ユーザーインターフェースを操作してアプリを作成します
次に使用するAPIの権限を有効にする必要があります
これもバックエンドで行います
第三歩:署名の生成
- ここもGoogleと非常に似ています
AS内のツールを使って直接生成できます
生成後、以下のコマンドを使用します
keytool -list -v -keystore <keystore-file>
keystore-file : ここには証明書のパスを入力します
その後、生成されたSha256ハッシュをHuaweiバックエンドで作成したアプリの設定に貼り付けます
第四歩:署名の設定
-
署名を生成した後
Huaweiバックエンドからagconnect-services.json
をダウンロードできます
それをプロジェクトに追加します -
これは当時のプロジェクトの設定です
その時の製品要件は
プロジェクトをビルドする際に異なるメーカーの設定を先にビルドできるようにすることでした
また、HuaweiデバイスにGMSがインストールされている場合でも
Googleサービスをサポートする必要がありました
そのため、設定は以下のようになっています
実際のプロジェクト開発時には
チームメンバーとコミュニケーションを取ることが重要です -
HMS
の多くの関数名はGMS
と同じ名前
XD
そのため、開発時にはしっかりと区別
することが重要です
設定
から始めるか、コード分離
から始めるか
そうしないと、後でメンテナンスが非常に困難になります
耦合が高すぎて分離が難しい場合は…
第五歩:プロジェクト設定の追加
-
次にAndroidプロジェクトに追加します
build gradleにmaven {url 'https://developer.huawei.com/repo/'}
を設定します -
次に必要なHMSキットをプロジェクトに導入します
ここではHMSマップを例にします
これで正式に開発を開始できます!
開発中に遭遇したHuaweiの小さな違いの共有
- HmsとGmsの地図の小さな違い
前述の通り、HMSとGMSの関数名は非常に似ています
そのため、GMSを使ったことがある人はすぐに慣れるでしょう(?
ただ、私は運が良かった
ので
開発中に
少し異なる点に遭遇しました
それは、同じ定数を設定してもポリラインの太さが異なることです
例えば、googlePolylineOption.width(5)
とhuaweiPolylineOption.width(5)
の実際の効果が異なりますだから、すべてのロジックがそのまま適用できるわけではありませんXDD 最善はチェックすることです!!
最終的に同じにするためにはこうしました
プッシュ通知
の小さな違い
主にサブクラスの継承
が異なります
他の使い方は同じです
ただ、共有する理由は
以前に他のHuawei機能を開発したとき
メソッドやクラスの名前がほぼ同じだったからですXD
まとめ
- HMSとGMSはパッケージ名が少し異なる以外に
一部の関数が少し異なるだけです
全体的に見て、両方のSDKの使い方に大きな違いはありません