/.well-known/assetlinks.json とアプリ署名情報を使って、ドメイン所有の関連付けを検証します。普通のWeb URLをアプリへつなぐ
Android Developersは、App LinksをWebサイトとアプリで同じURLを共有する仕組みとして説明しています。アプリがインストールされていない場合は、通常そのURLがWebサイトで開くため、custom schemeより自然なfallbackを作りやすい方式です。
assetlinks.jsonで所有関係を確認する
アプリ側のintent filterに android:autoVerify="true" を指定し、対象ドメインの /.well-known/assetlinks.json へDigital Asset Linksの情報を公開します。Androidはアプリの署名証明書とWeb側の宣言が一致するか確認します。
Android 12以降では検証の意味がさらに重要
Android公式資料では、Android 12以降で一般的なWeb Intentがアプリへ直接解決されるには、そのドメインについてアプリが承認・検証されていることが重要です。検証されていない場合はデフォルトブラウザへ解決されることがあります。
「以前は開いたのに最近ブラウザへ行く」というケースでは、OS更新だけでなくApp Linksの検証状態も確認します。
Dynamic App Links
Android 15以降では、Digital Asset Links側の設定を利用したDynamic App Linksも公式に案内されています。初期SEOサイトでは実装チュートリアルへ広げず、「Androidのリンク処理は今後も固定ではない」ことを示す更新ポイントとして扱います。
Deep Link / Intent URLとの違い
| 方式 | URL形式 | ドメイン検証 |
|---|---|---|
| 通常Deep Link | custom schemeまたはWeb URL | 必須ではない |
| Android App Links | HTTP/HTTPS | あり |
| Intent URL | intent://... | App Linksとは別 |
第三者サービスURLを変換するだけではApp Linksにならない
自分が管理していない x.com、youtube.com などのURLを intent:// へ書き換えても、それは自分のAndroid App Linksを設定したことにはなりません。App LinksはWebドメインと対象アプリを管理する側の設定です。
確認項目
- manifestの対象host/pathが正しいか。
android:autoVerifyが意図どおりか。assetlinks.jsonが正しい場所からHTTPSで取得できるか。- 署名証明書のfingerprintが一致するか。
- Android 12+で検証結果を確認したか。
- アプリ未導入時のWebページが有効か。