ディープリンク、ユニバーサルリンク、アプリリンクとかの話

botman_blue iOS

はじめに

アプリ連携でよく聞く「ディープリンク」「ユニバーサルリンク」「カスタム URL スキーム」「アプリリンク」「ダイナミックリンク」が毎回どれがなんなのかわからなくなるのでまとめ(基本的に iOS 視点で書いてます)。

結論としてはこんな感じです。

ディープリンク

ディープリンクとは下記のことらしいです。

ディープリンクとは、Webページ間を結ぶハイパーリンクの一種で、Webサイト内 の深い階層にある特定のページへ外部から直接張られるリンク。また、スマートフォンアプリの特定の内容や機能へ張られたリンク。現在では後者の用法が多い。

参考:IT用語辞典 e-Words:ディープリンク

つまり後述する「カスタム URL スキーム」「ユニバーサルリンク」「アプリリンク」「ダイナミックリンク」はすべてディープリンクの1種のようです。

カスタム URL スキーム

URL スキームとは下記のことらしいです。

URLの先頭の部分だよ

http://」とか「ftp://」とかのことだよ

もしくは、スキーム名を使ってアプリを起動できる仕組みだよ

参考:「分かりそう」で「分からない」でも「分かった」気になれる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 から設定できます。

scheme

ユニバーサルリンク

Apple が提供するディープリンクの1種らしいです。

指定の URL にアクセスしたときにアプリがあればアプリを起動してくれます。

Support Universal Links

  • apple-app-site-association をサーバーに配置
  • Xcode で TARGETS > Signing & Capabilities > Associated Domains に指定のドメイン追加

domain

詳しくは下記参考。

iOS Universal Links対応のTipsとハマりどころ

アプリリンク

Android のディープリンクの1種らしいです。

Android 版ユニバーサルリンクみたいなやつです(たぶん)。apple-app-site-association みたいな assetlinks.json というファイルをサーバーに配置する必要があるようです。

ドキュメント:Android アプリリンクの処理

ダイナミックリンク

Firebase DynamicLinks という Firebase のサービスの1種です。

ユニバーサルリンクとアプリリンクはそれぞれのプラッフォームで対応が必要ですが Firebase DynamicLinks なら一括でできるようです。

ドキュメント:Firebase DynamicLinks

おわりに

まとめとしては最初にも書いたこれです。

アプリだけでやりたいなら「カスタム URL スキーム」が楽そうで iOS, Android ともに Web と連携したいなら「ダイナミックリンク」が楽そうでした。

コメント

  1. 匿名 より:

    てすと

タイトルとURLをコピーしました