設定すること
- Apple App Site AssociationとAndroid Asset Linksファイルをアップロードして、Elidoがカスタムドメインで自動的に配信できるようにします。
- リンクごとのiOSとAndroid設定 — App ID、アプリ内パス、フォールバックURL — を設定して、クリックが正しい画面を開くかストアにフォールバックするようにします。
- リンクのAnalytics → Deep linkingタブでプラットフォーム別のアプリ起動率を測定します。
ディープリンクは短縮URLからネイティブアプリを直接開きます。訪問者がアプリをインストールしている場合、リンクはアプリ内の正しい画面を起動します。インストールしていない場合は、App Store(iOS)またはPlay Store(Android)— または設定した他のURLにフォールバックします。
必要なもの#
ディープリンクを使用するには:
- Universal Linksが設定されたiOSアプリ、または
- App Linksが設定されたAndroidアプリ、または
- まだUniversal/App Linksがない場合のカスタムURIスキーム(
myapp://)。
Universal LinksとApp Linksの場合、カスタムドメインに関連ファイル(iOSのapple-app-site-association、Androidのassetlinks.json)を公開する必要があります。Settings → Domains → Deep linking でファイルをアップロードすると、Elidoが自動的に配信します。
リンクへのディープリンクの設定#
- リンクの詳細ページを開く → Targeting → Deep linking。
- ディープリンクをオンにします。
- iOS設定を追加します:
- App ID — 例:
K72L8M4N9P.com.acme.myapp(Apple Developer accountのTeam ID + bundle identifier)。 - In-app path — アプリがルーティングするべき場所。パスはuniversal linkホストに追加されます。アプリ内のSDKが起動URLから読み取ります。
- Fallback URL — アプリを持っていない訪問者を送る場所。通常はApp Storeのアプリリストページ。
- App ID — 例:
- Android設定を追加します:
- Package name — 例:
com.acme.myapp。 - In-app path — iOSと同じ考え方。
- Fallback URL — 通常はパッケージ名付きのPlay Store URL。
- Package name — 例:
- Save。リンクはすべてのクリックでデバイスベースのルーティングを行います。
クリック時に何が起きるか#
リダイレクトハンドラーは約50ミリ秒のJavaScriptを実行するHTMLインタースティシャルを返します。インタースティシャルは:
- iOS vs Android vs デスクトップを検出します。
- iOSで:Universal Link経由で開こうとします。OSがアプリを開いたら完了です。
- Androidで:App Linksで同じことをします。
- アプリなしで1.2秒後、ページはフォールバックURLにリダイレクトします。
デスクトップの訪問者は常にフォールバックURLに直接アクセスします — 開くアプリはありません。
認識できないプラットフォーム(WeChatのウェブビューなど)の訪問者の場合、リンクはデスクトップの宛先にフォールバックします。スマートリンクルールでこれをオーバーライドできます。
URIスキームフォールバック#
Universal Links / App Linksが設定されていない場合でも、カスタムURIスキームを使用できます:
- iOS scheme:
myapp:// - Android scheme:
myapp://
インタースティシャルはスキームを開こうとし、1.2秒後にApp Store / Play Storeにフォールバックします。デメリットは、初回起動時にOSが「My Appで開く?」の確認を表示することで、Universal Linksはこれを回避します。
アナリティクス#
各クリックにはアプリが開いたかフォールバックが使用されたかが記録されます。リンクの Analytics → Deep linking タブはプラットフォーム別の開封率を表示します — 関連ファイルが正常に機能しているか測定するのに役立ちます。
制限事項#
- リンクごとに1つのiOS設定と1つのAndroid設定。
- ディープリンクはProとBusinessで利用可能です。無料プランはフラットなリダイレクトのみサポートします。
よくある問題#
Universal Linksは実機では動くがシミュレーターでは動かない。 これは期待される動作です — AppleのシミュレーターはAASAファイルを取得できません。実機でテストしてください。
アプリが試みる前にフォールバックURLが開く。 一部のAndroidブラウザー(特にSamsung Internet)はOSが見る前にスキームを傍受します。App Linksの設定が完了していることを確認してください:ドメインが確認済み、パッケージ名が正しい、SHA-256フィンガープリントが一致する。
iOSがアプリを開く代わりにタップターゲットバナーを表示することがある。 これはiOSの「Open in Safari → Smart Banner」がページを汎用サイトとして扱っているためです。正しいApp IDでAASAファイルを再アップロードすると通常は解決します。
リンクがアプリを開くが、間違った画面が表示される。 アプリ内ルーティングがElidoが渡すパスと一致していません。アプリ内で起動URLをログに記録して実際に受け取っているものを確認し、パス設定を一致するよう更新してください。