ディープリンクについてまとめ
2020-01-07
2020-01-07
前置き
この記事ではディープリンクをまとめてみようと思います。ディープリンクとは、ユーザーがWebページまたはアプリでURLをクリックすると、アプリを起動して特定のコンテンツへ直接遷移できる技術です。ディープリンクを利用することでユーザーエクスペリエンスを向上させることができます。iOSの場合
iOSにてディープリンクを実現する方法は「Custom URL Scheme」と「Universal Links」があります。Custom URL Scheme
* URL Schemeは app:// のようなかたちになります。* 既にアプリをインストールされているユーザーにアプリ起動メッセージが表示されます。もしアプリがインストールされていないの場合、リンクはアプリに到達できず、エラーメッセージが表示されます。
* 実装方法: URL TypesにURL Schemesを定義します。

* 詳しくは公式ドキュメントを参照してください: Defining a Custom URL Scheme for Your App
Universal Links
* 通常のURLのような形(例: https://www.example.com)* iOS 9以上に対応しています。
* ユーザーはアプリをインストールされている場合、メッセージは表示されず、直接アプリを開き、特定のコンテンツへ遷移します。アプリはインストールされていない場合は、そのURLが指定するウェブページにリダイレクトします。
* 実装方法: 1. Associated Domains Entitlementをアプリ側に追加します。 2. apple-app-site-associationという設定ファイルをサーバー側に置きます。

* 公式のドキュメント: Allowing Apps and Websites to Link to Your Content
Androidの場合
Androidにてディープリンクを作成する方法は「Deep Links」と「App Links」があります。Deep Links
* URLは app:// http:// https:// のような形になります。* ブラウザかアプリかという選択メッセージが表示されます。
* 実装方法: インテントフィルタを指定します。

* 詳しくは公式ドキュメントを参照してください: https://developer.android.com/training/app-links/deep-linking
App Links
* 選択メッセージは表示されず、アプリを起動、直接に特定のコンテンツへ遷移します。* 公式ドキュメント: https://developer.android.com/training/app-links