App StoreのリンクとPlay StoreのリンクとAppGalleryのリンクを3つから１つにまとめる方法

# アプリ運営におけるアプリのリンクの問題点
アプリの運営において、ユーザーをアプリへ誘導することがとても重要です。
そこで、よく使われているのは、アプリのホームページを立てて、ホームページにアプリのAppGallery、App Store、Play Storeへのリンクを置く方法です。たとえばこんな感じです。

![image.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/66edcd9c-c690-be7a-b63e-e7862bb06e19.png)


ここに4つのリンクがあります。

AppGallery：https://appgallery.huawei.com/app/C104642661
App Store：https://apps.apple.com/us/app/modern-warships/id1541751298
Play Store：https://play.google.com/store/apps/details?id=com.Shooter.ModernWarships
ウェブサイト：https://cubesoftwaregames.com/mw.html

ここに2つの問題があります。

1．ユーザーのプラットフォームを識別できません。たとえば、iOSのユーザーがPlay Storeのボタンをタップすると、アプリのダウンロードも起動もできません。
2．ユーザーは必ずウェブサイトに入ってからじゃないと、アプリのストアに入れません。

# 解決策（１つのリンクにまとめる）
### AppGallery Connectの[Unified Linking](https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-applinking-unifiedlinking-0000001070790553)
AppGallery Connectの[Unified Linking](https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-applinking-unifiedlinking-0000001070790553)を利用すれば、一つのリンクで、自動的にユーザーを最適なアプリまたはウェブサイトへ誘導できます。

具体的にできるのは：

|ユーザーのプラットフォーム|AppGallery|Play Store|App Store|動作|
|:---:|:---:|:---:|:---:|:---|
|Android|あり|なし|-|自動的にAppGalleryを開き、アプリのページを表示する|
|Android|なし|あり|-|自動的にPlay Storeを開き、アプリのページを表示する|
|Android|あり|あり|-|自動的にAppGalleryを開き、アプリのページを表示する|
|Android|なし|なし|-|自動的にデフォルトのウェブサイトを表示する|
|iOS|-|-|あり|自動的にApp Storeを開き、アプリのページを表示する|
|iOS|-|-|なし|自動的にデフォルトのウェブサイトを表示する|

# AppGallery Connectの[Unified Linking](https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-applinking-unifiedlinking-0000001070790553)の導入手順

## 前準備
### 1. Huaweu Developerの登録
Huaweu Developerの登録が必要なので、未登録の場合は登録し、登録済みの場合はサインインします。
https://developer.huawei.com/consumer/en/

![image.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/1cfbdb37-8686-5832-0227-6a9fdd990f7c.png)

登録またはサインインが終わったら、コンソールを開き、AppGallery Connectに入ります。
https://developer.huawei.com/consumer/en/console

![image.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/565147ec-7b4a-6950-5082-708f86f5415d.png)

### 2. AppGallery Connectでのプロジェクト作成
AppGallery Connectでプロジェクトを作成します。

![image.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/7ad86f57-75ef-2aa1-7f8a-89ba53ec0ae1.png)
![image.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/910d9b63-0bf4-90fd-3aba-168b4eb26310.png)
![image.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/890cd9ee-09ad-3e72-d9fb-7b1d95d48c45.png)

## Unified Linkingの導入
1. [App Linking]を選び、[Use now]をクリックします。
![image1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/ba1f3ab4-54d2-4cda-651d-e0bbd7c45d2b.png)

2. [Unified Linking]を選び、[Create Unified Linking]をクリックします。
![image2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/9895486d-848e-54b9-bef0-b3210d7eaf40.png)

3. [URL prefix]がまだ作成されていない場合、[New URL prefix]をクリックし、その中で、好きなドメイン名を設定します。終わったら、[Back]をクリックします。
![image3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/93292e39-75fb-0133-8a8b-fc8d4c28c035.png)
![image4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/b756b922-7432-8974-ade1-94437caf41cb.png)
![image5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/59c1e6ea-44b4-d4ed-16da-623c29b50ff1.png)

4. URLの正規表現がまだ作成されていない場合、[URL trustlist]を選び、[New trusted URL format]をクリックし、URLの正規表現を設定します。
![image7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/168defdc-3021-26e1-85ba-5ae8636b9dcd.png)
![image8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/567c1c4c-c0df-b24e-fe8c-d18cfe044c00.png)
![image9.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/f09c8e49-1208-0ccc-295a-e5b10336f0a1.png)

5. (3)と(4)が終わったら、また[Unified Linking]を選び、[Create Unified Linking]をクリックします。
![image10.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/0143633e-473d-1417-f879-7242829677df.png)
![image11.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/d60be88f-bb1d-a391-d92a-9a1c68b13322.png)

6. [Link name]、[Default link]、[iOS link]、[AppGallery link]、[Link for other Android (or HarmonyOS) users]を設定します。設定したら、[Release]をクリックします。

|項目|説明|例
|:---:|:---|:---|
|Link name|このUnified Linkの名前。なんでもよい|MODERN WARSHIPS|
|Default link|スマホに対応のマーケットアプリが入っていないときに開くリンク|https://cubesoftwaregames.com/mw.html|
|iOS link|AppleのApp Storeへ遷移するアプリのリンク|https://apps.apple.com/us/app/modern-warships/id1541751298|
|AppGallery link|HuaweiのAppGalleryへ遷移するアプリのリンク|appmarket://details?id=com.Shooter.ModernWarships.huawei|
|Link for other Android (or HarmonyOS) users|GoogleのPlay Storeへ遷移するアプリのリンク|https://play.google.com/store/apps/details?id=com.Shooter.ModernWarships|

![image12.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/47073a7e-b0bd-8814-da3b-9bac73528782.png)
![image13.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/952269b7-7708-4018-bae6-a792f0b7b81e.png)
![image14.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/c33736af-84c8-82a9-a06f-3a9fb9e81d22.png)

## Unified Linking導入完了
Unified Linkingの導入が完了したら、App Store、AppGallery、Play Store、すべてに対応しているリンクが作成されます。
![image15.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/704548/5eede94f-39b1-0aec-8418-947b8b9add10.png)

# 参考
* HMS：[https://developer.huawei.com/consumer/jp/](https://developer.huawei.com/consumer/jp/)
* Unified Linkingのドキュメント：[https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-applinking-unifiedlinking-0000001070790553](https://developer.huawei.com/consumer/en/doc/development/AppGallery-connect-Guides/agc-applinking-unifiedlinking-0000001070790553)
* Huawei Developers：[https://forums.developer.huawei.com/forumPortal/en/home](https://forums.developer.huawei.com/forumPortal/en/home)
* Facebook Huawei Developersグループ：[https://www.facebook.com/Huaweidevs/](https://www.facebook.com/Huaweidevs/)