ディープリンクは、Webページのリンクをタップしたときにアプリ内の特定の画面を直接開くための仕組みだ。トップ画面を経由させずに商品ページやキャンペーン画面へ着地させられるため、広告やメール、SNSからアプリ内へ誘導する導線の要になる。
ただし実装方式は一つではなく、カスタムURLスキーム・ユニバーサルリンク(iOS)・App Links(Android)が併存する。長く定番だったFirebase Dynamic Linksは2025年8月25日に終了し、選択肢は作り直しを迫られた。この記事では種類(静的/動的)と各方式の違い、終了後の選び方、iOS/Androidの実装手順までを整理する。
まとめ
- ディープリンク=アプリ内の特定画面を開くURL。トップ経由をなくし直帰を減らす。
- 種類は静的(URL固定・計測なし・設定簡単)と動的(生成・遅延ディープリンク・計測可)の2つ。
- 方式はカスタムURLスキーム(
myapp://)、ユニバーサルリンク(iOS・https)、App Links(Android・https)。URLスキームは未インストール時に無反応で詐称リスクがあるため、現在はユニバーサルリンク/App Linksが基本。 - Firebase Dynamic Linksは2025年8月25日に完全終了(既存リンクは404)。後継はOS標準(無料・遅延ディープリンク非対応)か、Branch・AppsFlyer・Adjust等の外部サービス。
- iOSは
apple-app-site-association、Androidはassetlinks.jsonの設置とドメイン紐付けが必須。
ディープリンクとは:アプリ内の特定画面を開くURL
ディープリンクは、リンクをタップした利用者をアプリのトップ画面ではなく、目的の画面(特定の商品、記事、キャンペーン)へ直接届けるURLを指す。OSがリンクを解釈し、対応アプリを起動して該当の画面パラメータを渡す、という流れで動く。たとえば商品IDを含んだリンクを開けば、アプリはその商品詳細を直接描画する。
効果は明確だ。トップからの回遊を省くぶん離脱が減り、広告やメールの遷移先とアプリ内の着地点が一致するためコンバージョンに繋がりやすい。ECの商品詳細、動画アプリの再生画面、予約アプリの空室画面など、「どこへ着地させたいか」が決まっている導線ほど効く。
Webのディープリンクとアプリのディープリンクの違い
「ディープリンク」はWeb文脈でも使われ、そこではサイトのトップではなく下層ページへ直接張るリンク(=内部リンクや直リンク)を意味する。本記事が扱うのはアプリを開く方のディープリンクで、両者は仕組みが別物だ。Web側の内部リンク設計についてはSEO内部対策でよくある失敗と注意すべきポイントで扱っている。
ディープリンクの種類:静的ディープリンクと動的ディープリンクの違い
ディープリンクは、リンクの作り方によって静的と動的に分かれる。両者は「未インストール時にどう振る舞うか」「流入を計測できるか」で使い分ける。
| 観点 | 静的ディープリンク | 動的ディープリンク |
|---|---|---|
| URL | 固定 | 生成・パラメータ可変 |
| アプリ未インストール時 | フォールバックが弱い | ストア誘導→起動後に該当画面(遅延ディープリンク) |
| 流入計測 | 基本なし | キャンペーン・流入元を計測可 |
| 設定 | 簡単 | SDK・外部サービスが必要 |
| 向く用途 | 常設の導線 | 広告・期間限定キャンペーン |
常設のヘルプ導線やアプリ内共有のように、遷移先が固定で計測が不要なら静的で十分だ。広告の効果測定や、未インストールのユーザーをインストール後に狙った画面へ運びたい(遅延ディープリンク)なら動的を選ぶ。動的は計測サービスやSDKを前提とするぶん運用コストがかかる。
ディープリンク・ユニバーサルリンク・カスタムURLスキーム・App Linksの違い
「ディープリンクとユニバーサルリンクの違い」は検索でも最も多い疑問だが、両者は対立概念ではない。ディープリンクという目的を実現する方式が、カスタムURLスキーム・ユニバーサルリンク・App Linksなのだと捉えると整理しやすい。
| 方式 | 対応OS | 形式 | 特徴 |
|---|---|---|---|
| カスタムURLスキーム | iOS / Android | myapp:// |
実装が容易。未インストール時は無反応、詐称リスクあり |
| ユニバーサルリンク | iOS | https |
Webと同じURL。安全。AASA設置が必要 |
| App Links | Android | https |
Webと同じURL。assetlinks.jsonで検証 |
| Firebase Dynamic Links | (終了) | — | 2025年8月25日終了。後継はBranch等の外部サービス |
カスタムURLスキーム(myapp://)の仕組みと「廃止」と言われる理由
カスタムURLスキームは、アプリが独自のスキーム名を予約し、myapp://open?screen=product&id=123のようなリンクで起動する最も古い方式だ。設定が簡単な反面、二つの弱点がある。第一に、アプリが入っていない端末ではリンクが何も起きず、Webへのフォールバックが働かない。第二に、同じスキーム名を別アプリが名乗れてしまうため、リンクを横取り(ハイジャック)される恐れがある。この横取りの懸念はモバイルに限らず、Windowsのカスタムプロトコルでも同様に指摘されている。
この方式が「廃止」と語られるのは、OSレベルで仕様が削除されたからではなく、上記の弱点からユニバーサルリンク/App Linksへ置き換えるのが推奨されているためだ。外部から渡される値を検証せずに処理する実装は避け、URLスキームはアプリ内の画面遷移など閉じた用途に限って使うのが安全だ。
ユニバーサルリンク(iOS)とApp Links(Android)の共通点と設定ファイルの違い
ユニバーサルリンク(iOS)とApp Links(Android)は、通常のhttps://リンクをそのままアプリで開く方式だ。URLはWebページと共通なので、アプリ未インストールでもリンクが切れず同じ内容のWebページへ着地する。この安全性とフォールバックの自然さが、現在これらが標準とされる理由だ。導入にはドメイン所有を証明する設定ファイル(iOSはapple-app-site-association、Androidはassetlinks.json)をサーバーに置く必要がある。
Firebase Dynamic Links終了後のディープリンク実装の選択肢
長く動的ディープリンクの定番だったFirebase Dynamic Links(FDL)は、2025年8月25日に完全終了した。既存のリンク(独自ドメイン・page.linkいずれも)は動作を停止し、現在は404を返す。新規作成もできない。旧版の記事や実装がFDL前提のままなら、移行が必須だ。移行先は大きく2択になる。
- OS標準(無料):ユニバーサルリンク+App Links。追加コストなしで導入できるが、未インストールユーザーをインストール後に目的画面へ運ぶ遅延ディープリンクに非対応で、リンクは一旦Webへ着地する。計測も自前で用意する必要がある。
- 外部の計測・ディープリンクサービス:Branch、AppsFlyer(OneLink)、Adjust、Kochava、Singularなど。Googleも公式に代替として案内している。遅延ディープリンクと流入計測を備えるが、SDK組み込みと費用が発生する。
判断の目安はシンプルだ。広告経由のインストール計測や遅延ディープリンクが要るなら外部サービス、アプリ内共有や既存ユーザー向けの単純な画面遷移が中心ならOS標準で足りる。両方が必要な場合は、計測が要る導線だけ外部サービスに寄せる折衷が現実的だ。停止後に残る作業の棚卸し、apple-app-site-associationとassetlinks.jsonの設置と検証、旧短縮リンクの引き継ぎといった移行の実務はFirebase Dynamic Linksの終了と移行で手順として整理している。
ディープリンクの実装手順(iOS・Android)
OS標準方式での実装は、アプリ側の設定と、ドメイン所有を証明するサーバー側ファイルの二段構えになる。
iOS(ユニバーサルリンク):Associated Domainsに対象ドメインを登録し、サーバーの/.well-known/apple-app-site-associationに対応パスを記述する。
{
"applinks": {
"details": [
{ "appID": "TEAMID.com.example.app", "paths": ["/product/*"] }
]
}
}
Android(App Links):マニフェストのintent-filterで対象ドメインを宣言し、/.well-known/assetlinks.jsonでアプリと紐付ける。
<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="https" android:host="example.com" />
</intent-filter>
なおiOSはバージョン13以降、AASAのpathsに代えてcomponents形式での記述が推奨されている(pathsも後方互換で動作する)。アプリ内で複数プラットフォームを共通コードで扱う構成については、クロスプラットフォームアプリ開発とはも参考になる。設定ファイルはドメインやパスを変えるたびに更新が必要で、置き忘れるとリンクがWebに落ちる。
ディープリンクとSEO・Webサイトの関係
Web文脈のディープリンク(下層ページへの直リンク)は、サイト内の関連ページを適切に結ぶ内部リンク設計と重なる。関連性の高いページ同士を結べばクローラーの巡回と評価が行き渡り、ユーザーも目的の情報へ最短で到達できる。アプリのディープリンクとは技術は別だが、「トップを経由させず目的地へ直接届ける」という発想は共通している。内部リンクの張り方でつまずきやすい点はSEO内部対策でよくある失敗と注意すべきポイントにまとめている。
ディープリンク導入時の課題と注意点
ディープリンクは導線を強くする一方、運用で崩れやすい。設計時に押さえておきたい注意点は次のとおりだ。
- 未インストール時の遷移設計:アプリが無いユーザーをどうするか(Webへ着地させるか、ストア誘導後に遅延ディープリンクで目的画面へ運ぶか)を先に決める。ここを詰めないと広告のリンクが空振りする。
- 設定ファイルの保守:AASAとassetlinks.jsonはドメイン・パス変更のたびに更新が要る。CDNや
robotsで/.well-known/を塞がないよう気をつける。 - 計測とプライバシー:iOSのATT(トラッキング許可)以降、流入計測はユーザー同意が前提になる。計測が必須なら外部サービスの導入とプライバシー説明をセットで考える。
- リンクの検証:外部から渡るパラメータを検証せずに画面遷移や処理へ渡すと、不正なリンクで意図しない挙動を招く。値の検証を実装に組み込む。
よくある質問
ディープリンクとは何ですか?
リンクをタップしたときにアプリのトップではなく、特定の画面(商品・記事・キャンペーンなど)を直接開くURLの仕組みです。広告やメールからアプリ内へ誘導する導線に使われます。
ディープリンクとユニバーサルリンクの違いは?
ディープリンクは「アプリの特定画面を開く」という目的、ユニバーサルリンクはそれをiOSで実現する方式のひとつです。対立するものではなく、方式にはほかにカスタムURLスキームやAndroidのApp Linksがあります。
カスタムURLスキームは廃止されたのですか?
OSから削除されたわけではなく使えますが、未インストール時に無反応で、別アプリに横取りされるリスクがあるため、ユニバーサルリンク/App Linksへの置き換えが推奨されています。アプリ内の閉じた画面遷移に限って使うのが安全です。
Firebase Dynamic Linksはまだ使えますか?
使えません。2025年8月25日に完全終了し、既存リンクも404になっています。OS標準(ユニバーサルリンク+App Links)か、Branch・AppsFlyer・Adjustなどの外部サービスへ移行します。
静的ディープリンクと動的ディープリンクはどちらを使うべき?
遷移先が固定で計測が不要なら静的で十分です。広告の効果測定や、未インストールのユーザーをインストール後に目的画面へ運ぶ遅延ディープリンクが必要なら動的を選びます。