ディープリンク. Open the app. Fall back gracefully.
カスタムドメインからUniversal LinksおよびApp Linksのマニフェストを自動配信。iOSやAndroidではタップ時にアプリを直接起動し、デスクトップではブラウザへフォールバックします。
- Universal Links (iOS) and App Links (Android) served from your domain
- Deferred deep links — context survives app install
- Smart platform detection with graceful fallbacks
- No SDK required — works with standard OS mechanisms
Universal Links & App Links
Manifest files, auto-served from your domain
iOS Universal Links require an apple-app-site-association file. Android App Links require assetlinks.json. Elido generates and serves both from your custom domain automatically — no separate hosting, no manual file management.
- iOS Universal LinksBundle ID + Team ID → AASA served at /.well-known/ automatically
- Android App LinksPackage name + SHA-256 fingerprint → assetlinks.json, HTTPS enforced
- Smart-link fallbackApp not installed → App Store / Play Store via rule-based routing
- UTM passthroughUTM parameters preserved to store URL — attribution doesn't break
- No SDK in your appOS-level interception only; intent-filter and continueUserActivity
{ "applinks": { "apps": [], "details": [ { "appID": "TEAMID.com.yours.app", "paths": [ "/product/*", "/referral/*", "/invite/*" ] } ] } }
[{ "relation": [ "delegate_permission/ common.handle_all_urls" ], "target": { "namespace": "android_app", "package_name": "com.yourcompany.app", "sha256_cert_fingerprints": [ "AB:12:CD:34:EF:56:..." ] } }]
Served from your custom domain automatically. Configure bundle ID + Team ID (iOS) or package name + SHA-256 fingerprint (Android) in domain settings — Elido generates and hosts both files.
Deferred deep links
Context that survives the install
When the app isn’t installed, the user goes to the store, installs, and opens the app. Deferred deep-linking passes the original deep-link context through that journey so the app can land the user on exactly the right screen after first launch.
- 01
Clicks link
User taps an Elido short link — from email, social, QR.
go.yourcompany.com/p/12345 - 02
No app → Store
App not installed. OS detects from AASA / assetlinks check. Falls back to App Store or Play Store.
iOS → App Store · Android → Play Store - 03
Installs app
User installs from the store. The install referrer carries the click context as a query parameter.
click_id + UTM preserved in referrer URL - 04
Opens app
App opens for the first time. MMP reads install referrer; maps click_id to the install event.
Appsflyer / Adjust / Branch picks it up - 05
Lands on exact page
App routes to the originally linked screen — product/12345 — as if the user had the app already.
product/12345 — context preserved through install
The click_id and UTM parameters from the original short link are passed as query parameters to the store URL. Mobile Measurement Platforms (MMPs) that capture the install referrer — Appsflyer, Adjust, Branch — can match the install to the originating click. Full deferred deep-linking (passing in-app context through install) requires the MMP SDK in your app; Elido covers the link layer.
Smart platform detection
One link. Three redirect paths.
The edge reads User-Agent and platform signals at the redirect layer — before any JS runs. iPhone gets Universal Links, Android gets App Links, desktop gets your web fallback. No JavaScript redirect delay; no client-side platform detection.
- UA parsing at the edge, sub-millisecond
- iOS → Universal Link interception by the OS
- Android → App Link interception via intent-filter
- Desktop → web URL, no store detour
- In-app browsers detected and redirected to system browser
- Composes with smart-link rules — geo + device + deep-link
What you can do
- Apple App Site Association (AASA)
- Android Asset Links
- ストアフォールバック用のスマートリンクルール
- adbおよびxcrunによる動作確認済み
ディープリンクの仕組みと、注意すべき落とし穴
Universal LinksとApp LinksはOSレベルの仕組みです。セットアップは簡単ですが、エッジケースの対応にはコツが要ります。ここではその全容を解説します。
カスタムドメインからapple-app-site-associationを自動配信
Universal Linksを利用するには、カスタムドメインの /.well-known/apple-app-site-association にAASAファイルを配置する必要があります。iOSはアプリのインストール時にこのファイルをダウンロードし、ドメインとアプリのBundle IDおよびTeam IDを紐付けます。設定が正しければ、Safari、メール、SNSなどでリンクをタップした際に、ブラウザを経由せずアプリを直接起動できます。Elidoは設定に基づきAASAファイルを自動生成し、カスタムドメインから配信します。別途ホスティングを用意する必要はありません。iOSはAASAファイルをキャッシュし、定期的(通常24〜48時間)またはアプリの再インストール時に更新します。各リリースごとにAppleのAASAバリデーターでテスト済みです。
assetlinks.jsonを自動配信 — 署名キーのSHA-256フィンガープリントに対応
Android App Linksには、ドメイン上の /.well-known/assetlinks.json が必要です。このファイルがドメインとアプリのパッケージ名、および署名証明書のSHA-256フィンガープリントを紐付けます。Androidはインストール時および定期的にこの検証を行います。Elidoは設定に基づき、このファイルをカスタムドメインから自動配信します。Androidの検証にはHTTPSが必須ですが、ElidoのTLS設定によりこれも自動で解決されます。よくある失敗として、デバッグ版とリリース版で署名キーが異なるケースがあります。テスト用にデバッグ版のフィンガープリントもElidoの設定に追加することをお勧めします。各リリースで adb shell pm get-app-links による検証を行っています。
インストール済みならアプリへ、未インストールならストアへ。デスクトップはWebへ。UTMは常に維持。
フォールバックチェーンは、リンクごとまたはドメインごとに設定可能です。アプリがインストールされておりドメインが検証済みならアプリが起動し、そうでなければブラウザで開きます。スマートリンクルールを使用すれば、iOSならApp Store、AndroidならPlay Store、デスクトップならWebサイトへ飛ばすよう制御できます。元の短縮URLに含まれるUTMパラメータはフォールバック先へも引き継がれるため、アトリビューションを損なうことはありません。なお、インストール後に特定の画面を開く「ディファードディープリンク」にはアプリ内SDKが必要であり、Elido単体では提供していません。高度な要件にはAppsflyer、Adjust、Branchなどの併用が必要です。
インストール後のリターゲティング:アトリビューション用にクリックIDを渡す
ディープリンクのリダイレクト時、Elidoは click_id をクエリパラメータとしてフォールバックURLに渡します。ユーザーがストア経由でインストールした場合、参照元URLに click_id が含まれますが、アプリ起動時にこれを取得するにはMMP(モバイル計測プラットフォーム)のSDKが必要です。Elidoは、AppsflyerやAdjustなどのMMPがインストール参照元をキャプチャできるよう、click_id とUTMパラメータをストアURLに渡す役割を担います。MMPを使用していない場合、ストア遷移後の click_id は原則としてアプリ内には引き継がれません。
Firebase Dynamic Linksからの移行(2025年終了対応)
2025年に終了したFirebase Dynamic Linksのコア機能はElidoで代替可能です。「一つの短縮URLで、インストール済みならアプリを、未インストールならストアを開く」というパターンを、カスタムドメインで実現できます。Elidoのドメイン設定でAASAとassetlinks.jsonを構成し、スマートリンクルールでフォールバック先を指定してください。Firebase SDKに依存していた「ディファードディープリンク」が必要な場合は、AppsflyerやAdjust、BranchなどのMMPをElidoと組み合わせて使用することをお勧めします。単なるストアへのリダイレクトとWebフォールバックであれば、Elidoだけで十分に代替可能です。
Elidoのディープリンクを活用しているモバイルチーム
現在はプレースホルダーです。事例公開に合わせて実在の企業名に更新されます。
“Firebase Dynamic Linksの終了発表を受けてすぐにElidoへ移行しました。AASAとassetlinks.jsonのセットアップは半日で完了。スマートリンクによるフォールバック機能で、以前はFirebase SDKで行っていたストアへのルーティングを統合できました。”
“ディープリンクの分析データから、共有リンクの35%がデスクトップでクリックされていることが判明しました。以前はWebフォールバックがなかったのですが、Elidoで設定したことで、デスクトップユーザーも離脱させることなくコンバージョンへ繋げられるようになりました。”
“紹介プログラムにElidoのディープリンクを使用しています。App Store URLへのUTM引き継ぎ機能により、MMP側でインストール参照元を正確に特定できています。カスタムSDKを自作することなく、アトリビューションを維持できて助かっています。”
Elidoディープリンク vs Branch.io vs Adjust vs Firebase Dynamic Links (終了)
BranchやAdjustは高度なアトリビューション計測(MMP)を主目的としています。Elidoは、URL短縮管理の一環としてディープリンクを導入したい場合に最適なツールです。
| Feature | Elido | Branch.io | Adjust |
|---|---|---|---|
| Universal Links (iOS) | カスタムドメインからのAASA自動配信 | 大規模向けの管理機能 | なし(MMP機能のみ、ホスティング非対応) |
| App Links (Android) | カスタムドメインからのassetlinks.json自動配信 | フルマネージド | なし |
| アプリ内SDK必須 | いいえ(OSレベルの制御) | はい(Branch SDK) | はい(Adjust SDK) |
| ディファードディープリンク | いいえ(アプリ内SDKが必要) | はい(コア機能) | はい(Adjust SDK経由) |
| モバイルアトリビューション (MMP) | click_idの引き継ぎ(MMP連携は手動) | ネイティブ連携(Appsflyer、Kochava等) | プラットフォーム自体がMMP |
| ストアへのUTM引き継ぎ | はい(フォールバックURL経由) | はい(計測コンテキストを含む) | はい |
| クリック分析 | ClickHouseによる地域、デバイス、リンク別分析 | 高度なモバイルアトリビューション分析 | インストールおよびイベント計測データ |
| Firebase代替 | 基本機能は完全に代替可能(SDK機能除く) | SDK機能を含めた完全な代替 | 一部代替(MMP側面のみ) |
ディープリンクに関するよくある質問
Elidoのディープリンクを使うのにBranch SDKや他のSDKをインストールする必要はありますか?
いいえ。ElidoのディープリンクはiOS Universal LinksとAndroid App LinksというOSレベルの標準機能を使用します。アプリ側でURLを処理する標準的な実装(iOSの scene:openURLContexts やAndroidの intent-filter など)があれば、サードパーティのSDKを導入することなく動作します。
AASAファイルのセットアップ手順を教えてください。
Elidoのドメイン設定画面から、iOSアプリのBundle IDとApple Team ID(10桁の英数字)を入力するだけです。Elidoが自動的にJSONを生成し、/.well-known/apple-app-site-association パスで配信を開始します。設定後、AppleのAASAバリデーターなどで正しく認識されるか確認してください。
一つのドメインで複数のアプリを扱えますか?
はい。AASAファイルおよびassetlinks.jsonは複数のアプリ登録をサポートしています。ドメイン設定で複数のアプリIDを追加すれば、Elidoがそれらを統合したマニフェストファイルを自動生成します。
Firebase Dynamic Linksが終了しましたが、どのように移行すればよいですか?
既存の page.link URLを、Elidoで作成したカスタムドメインの短縮URLに置き換えてください。Elidoの設定画面でAASAとassetlinks.jsonを構成し、スマートリンクルール(iOSならApp Store、AndroidならPlay Store)を設定することで、同等のユーザー体験を維持できます。
アプリ公開前にUniversal Linksをテストする方法はありますか?
iOSシミュレータでは xcrun simctl openurl booted 'URL' コマンドでテストできます。実機の場合は、メモアプリやSafariにURLを貼り付けて長押しし、「アプリで開く」が表示されるか確認してください。Apple公式の App Association File Validator も、Elidoが配信するファイルの正当性チェックに利用可能です。
「ディファードディープリンク」とは何ですか?なぜElido単体ではできないのですか?
アプリが未インストールの状態でリンクをクリックし、ストア経由でインストールした後に特定の画面を自動で開く仕組みです。これにはアプリ内でのマッチングを行うSDK(BranchやAppsflyerなど)が必要です。Elidoはプライバシーとシンプルさを重視し、アプリ内SDKを提供していないため、この「インストールを跨いだコンテキスト保持」には対応していません。
Elidoの共有ドメイン (s.elido.me) でディープリンクは使えますか?
いいえ。Universal LinksおよびApp Linksは、所有権を証明できる独自ドメインが必要です。*.elido.me の所有権を各ユーザーがOSに対して主張することはできないため、独自ドメインの設定が必須となります。
ブラウザによってディープリンクがブロックされることはありますか?
一部のアプリ内ブラウザ(InstagramやTikTokなど)は、セキュリティ上の理由でOSへの遷移を制限することがあります。その場合はフォールバックURLが表示されます。一般的な対策として、フォールバック先のページに「ブラウザで開く」や「アプリで開く」ボタンを配置し、ユーザーに手動操作を促す設計が推奨されます。