「リンクからアプリを開く」の整理
#アプリ開発
ここでは「仕様・要件」に基づいて
「Firebase Dynamaic Link」「DeepLink」「App Links」「Universal Links」を整理する。
開発言語はFlutterで考える。
結論、要件によっては「Firebase Dynamaic Link」が使えなくなっても、手間をかければ「App Links」「Universal Links」で今までやってきたことは実現できるように思った。
Firebase Dynamaic Linkで実現できたもの
URLの形式(https://)
アプリをダウンロードしているかどうか区別
ストアを開くかアプリを開くかを判断してくれる。
iOSでもAndroidでも1つのURLにできる
※機能の整理は以下がまとまっている
https://www.branch.io/guides/how-to-migrate-from-firebase-dynamic-links/
DeepLinkでできること
アプリを開く
iOSでもAndroidで一つのURIにしようと思えばできるはず。
「アプリがなかったらストアを開く」はできない
Android ・iOS、両方とも設定は「Custom URL Scheme」という言葉で説明できそう。
例)instagram://camera
DeepLinkの実装について
以下の記事はDeepLinkの範疇の説明のみ
【入門】FlutterでDeepLinkを実装してみよう。
上記記事では「DeepLink」という言葉は「Universal Links」、「dynamic links」、「App Links」が包括している説明になっているが、今回は分けて考えたい。
uni_linksでの話が記載されていた。
最終更新2年前だしapp_linksの方がいいのでは?(経験なし)
Firebase Dynamaic LinkとDeepLinkの中間 「App Links」「Universal Links」 (経験なし)
※「Firebase Dynamaic LinkとDeepLinkの中間」と言ってるのは私の解釈です。
URLの形式(https://)
アプリをダウンロードしているかどうか区別
ストアを開くかアプリを開くかを判断できそう。
<分からない> iOSでもAndroidでも1つのURLにできる。
できそうだった
<分からないがおそらくそう> Webサーバーを用意する必要がある。
ある
Android : App Links
.well-known/assetlinks.jsonというファイルをWebサーバー上に配置する必要がある。
参考) App Linksに対応してみた
https://developer.android.com/training/app-links?hl=ja
iOS : Universal Links
.well-known/apple-app-site-associationというファイルをWebサーバー上に配置する必要がある。
配置できているかどうかの確認サイト
https://search.developer.apple.com/appsearch-validation-tool
参考)
公式
iOSアプリのユニバーサルリンクの設定方法
一番まとまってそう iOS Universal Links対応のTipsとハマりどころ
「App Links」「Universal Links」の実装について
app_linksがいいのでは?(経験なし)
参考)
Deep Link/Deep Linkingまわりのあれこれ
https://phicdy.hatenablog.com/entry/difference_of_deep_link_app_link_fdl
Android側の技術要件の話は以下が分かりやすい。
https://note.com/toridori_inc/n/nb7237a217a51