Android / Programming

ディープリンク・ウェブリンク・アップリンクの違い – Android

業務中にディープリンク(Deep Links)・ウェブリンク(Web Links)・アップリンク(App Links)がごちゃごちゃになることがあるのでまとめました!

目次

  1. まとめ
  2. 用語まとめ
  3. 全体像
  4. ディープリンク
  5. ウェブリンク
  6. アップリンク
  7. おわりに

まとめ

・ディープリンクはスキームにhttp・https・任意の値を含んだもの
・ウェブリンクはディープリンクの中でもスキームがhttp・httpsだけのもの
・アップリンクはウェブリンクの中でもautoVerifyプロパティが設定されているもの

用語まとめ

読み進めていく中でパッと見ではわからなかったものをまとめました!

・スキーム(scheme): 「https://vegcale.com/」の「https」のように「://」より前の部分
・uri: この文脈では、どこに何があるかを識別する文字列 (おおまかな詳細はこちら)

全体像

右の図はAndroid公式の「Handling Android App Links」から拝借しました
こちらの図でなんとなくわかるかもしれませんが、ディープリンクは総称になっています
迷ったらディープリンクと言っておけばとりあえず大丈夫です笑

下記ではそれぞれのリンクがどのように分かれているか、その見分け方をまとめています

アプリの特定の画面に直接遷移するuriのことをディープリンクと呼びます
AndroidManifest.ktに下記のように書くことで設定ができます

...
<activity
    android:name=".YourActivity" // 遷移先に設定したいActivity
    android:exported="true"
    ...>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="yourscheme" /> // 任意のスキーム
    </intent-filter>
</activity>
...

ディープリンクをクリックすると下記のようにダイアログが表示される可能性があります
これは、押されたディープリンクに対応できるアプリの一覧が表示されています
※キャプチャは「Handling Android App Links – Deep links」から拝借しました

ディープリンクの中でもスキームにhttpもしくはhttpsを使用しているものをウェブリンクと呼びます

ウェブリンクの中でも下記の通りautoVerifyプロパティが設定されているものを指します

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:scheme="https" />

    <data android:host="myownpersonaldomain.com" />
</intent-filter>

おわりに

iOSにはユニバーサルリンク(Universal Links)などほかの呼び方があるようです
ややこしいですねぇ。。。

間違いのご指摘や質問等ありましたらコメントまでお願いいたします🙇‍♂️

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です