ディープリンクは技術名ではなく目的を表す言葉
Webサイトのトップではなく商品詳細へ直接リンクするのと同じように、アプリでもプロフィール、動画、商品、地図上の場所、チャットなど特定コンテンツへ直接つなぐリンクをディープリンクと呼びます。
ただし「ディープリンク」と書かれていても、リンクの中身がHTTPS、独自scheme、Android Intentのどれなのかは別に確認する必要があります。
代表的な4方式を比較
| 方式 | URL例 | 主な前提 | 未導入時 |
|---|---|---|---|
| Custom URL scheme | exampleapp://... | 対象アプリがschemeを登録・処理 | 別途fallbackが必要になりやすい |
| Universal Links | https://example.com/... | iOSアプリとWebドメインをAASA等で関連付け | 同じHTTPS URLをWebで開ける |
| Android App Links | https://example.com/... | AndroidアプリとWebドメインをDigital Asset Linksで検証 | 同じHTTPS URLをWebで開ける |
| Android Intent URI | intent://... | 対象Activity/package/schemeをAndroid/Chromeが解決 | browser fallbackを指定できる場合がある |
Custom URL schemeを選ぶ場面
対象アプリが公式にschemeを公開しており、アプリ間連携などでそのschemeを使う必要がある場合に候補になります。SpotifyやSlackのように公式仕様が公開されている例もあります。
ただし、対象アプリ未導入時、scheme衝突、WebView制限などを考える必要があります。詳しくはURLスキームとは?で確認してください。
Universal Linksを選ぶ場面
自分が管理するWebドメインとiOSアプリを、通常のHTTPS URLで結びたい場合の標準的な選択肢です。AASAとAssociated Domainsによる関連付けが必要で、URL文字列を変換しただけでは成立しません。
Safariの同一ドメイン挙動、アドレスバー直接入力がテストにならない点などはUniversal Linksの仕組みとSafariの注意点へ分離しています。
Android App Linksを選ぶ場面
自分のWeb URLをAndroidアプリへ関連付けたい場合はApp Linksを検討します。assetlinks.json、アプリ署名、manifestのintent filterなどを使って関連付けを検証します。
Android 12以降の検証や端末側の対応リンク設定まで含む詳細はAndroid App Linksとは?を参照してください。
Intent URLを使う場面
intent:// はAndroid/Chromeから特定アプリ起動を制御する別方式です。App Linksと同じではなく、package、scheme、ユーザー操作、browser_fallback_urlなどの条件があります。詳しくはIntent URLの仕組みで整理しています。
第三者サービスURLでは自分で所有関係を作れない
Instagram、YouTube、TikTok、Spotify、Amazon、Google Maps、Xなど、自分がWebドメインやアプリを管理していないサービスでは、そのサービス側がUniversal Links/App Linksやscheme仕様を管理します。
第三者の instagram.com や youtube.com を文字列変換しただけで、自分のUniversal Link/App Linkを作ることはできません。通常のHTTPS URLを基準にし、公式資料がある場合はその方法を優先します。
- 元のHTTPS URLを残す。
- 対象サービスの現在の公式リンク仕様を確認する。
- iPhoneとAndroidを分けてテストする。
- 対象アプリ未導入時のWeb fallbackを確認する。
- SNSのアプリ内ブラウザからの遷移も別に確認する。
自社アプリなら何から考える?
| やりたいこと | 最初に見るページ |
|---|---|
| iOSのHTTPSリンクを自社アプリへ渡したい | Universal Links |
| AndroidのHTTPSリンクを自社アプリへ渡したい | Android App Links |
| 独自schemeでアプリ機能を呼び出したい | Custom URL scheme |
| Android/ChromeでIntent URIを使いたい | Android Intent URL |
| アプリ未導入時の行き先を決めたい | fallback設計 |
| インストール後に元コンテンツへ戻したい | Deferred Deep Link |
本サイトの製品との関係
現在の製品は、主に第三者サービスURLを解析してcustom schemeやAndroid Intent候補を組み立てる実装を持っています。ユーザー自身のアプリへAASAやassetlinks.jsonを設定する製品ではありません。
さらに、入力判定・直接生成・保存・短縮リダイレクトは同じ対応範囲ではありません。製品固有の事実は対応URLと機能範囲に集約しています。