はじめに
アプリ連携でよく聞く「ディープリンク」「ユニバーサルリンク」「カスタム URL スキーム」「アプリリンク」「ダイナミックリンク」が毎回どれがなんなのかわからなくなるのでまとめ(基本的に iOS 視点で書いてます)。
結論としてはこんな感じです。
1 2 3 4 5 |
ディープリンク |ーカスタム URL スキーム |ーユニバーサルリンク(iOSのやつ) |ーアプリリンク(Androidのやつ) |ーダイナミックリンク(Firebaseのやつ) |
ディープリンク
ディープリンクとは下記のことらしいです。
ディープリンクとは、Webページ間を結ぶハイパーリンクの一種で、Webサイト内 の深い階層にある特定のページへ外部から直接張られるリンク。また、スマートフォンアプリの特定の内容や機能へ張られたリンク。現在では後者の用法が多い。
つまり後述する「カスタム URL スキーム」「ユニバーサルリンク」「アプリリンク」「ダイナミックリンク」はすべてディープリンクの1種のようです。
カスタム URL スキーム
URL スキームとは下記のことらしいです。
URLの先頭の部分だよ
もしくは、スキーム名を使ってアプリを起動できる仕組みだよ
参考:「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典:URLスキーム
カスタム URL スキームは「facetime:」とかで FaceTime アプリの起動できるやつのことですね。アプリ独自に設定することができますが現在はセキリティの問題でユニバーサルリンクを推奨しているようです。
While custom URL schemes are an acceptable form of deep linking, universal links are strongly recommended.
参考:ドキュメント:Defining a custom URL scheme for your app
iOS アプリの場合は Xcode で TARGETS > Info > URL Types から設定できます。
ユニバーサルリンク
Apple が提供するディープリンクの1種らしいです。
指定の URL にアクセスしたときにアプリがあればアプリを起動してくれます。
- apple-app-site-association をサーバーに配置
- Xcode で TARGETS > Signing & Capabilities > Associated Domains に指定のドメイン追加
詳しくは下記参考。
iOS Universal Links対応のTipsとハマりどころ
アプリリンク
Android のディープリンクの1種らしいです。
Android 版ユニバーサルリンクみたいなやつです(たぶん)。apple-app-site-association みたいな assetlinks.json というファイルをサーバーに配置する必要があるようです。
ダイナミックリンク
Firebase DynamicLinks という Firebase のサービスの1種です。
ユニバーサルリンクとアプリリンクはそれぞれのプラッフォームで対応が必要ですが Firebase DynamicLinks なら一括でできるようです。
おわりに
まとめとしては最初にも書いたこれです。
1 2 3 4 5 |
ディープリンク |ーカスタム URL スキーム |ーユニバーサルリンク(iOSのやつ) |ーアプリリンク(Androidのやつ) |ーダイナミックリンク(Firebaseのやつ) |
アプリだけでやりたいなら「カスタム URL スキーム」が楽そうで iOS, Android ともに Web と連携したいなら「ダイナミックリンク」が楽そうでした。
コメント
てすと