はじめに
ブラウザからアプリ開くやつってどうやったらできるんだろう...
URLスキーム?ディープリンク?Universal Links?
なにがなんだかわかりません,勘弁してください
3つの違いとは
ディープリンク
「アプリケーションの特定機能を開くリンク」がディープリンクであり,すなわちディープリンクはそのような機能の概念になります.
ディープリンクはWebサイトやアプリ内に設置され,ほかのアプリへの遷移を実現することができます.
URLスキーム
URLスキーム(カスタムURLスキーム)は,上で説明したディープリンクを実現するための方法の一つです.
https://qiita.com/
というURLを例にとると,**「スキーム」というのは"https://"**の部分のこと.
要は「どんなプロトコルで通信をするか(どんなコンテンツを要求するか)」を指すところなんですが,iOSやAndroidではこの部分にアプリ名を入れることで,アプリを起動することができるようになります.
例:
music:// (ミュージックアプリの起動)
comgooglemaps:// (Google Mapsの起動)
アプリケーションを起動する、"music://"の部分のことをURLスキームと呼び、
さらに,URLパラメータを含めることでアプリに引数として情報を渡すことも可能です.
しかしながら,
- アプリがインストールされていない場合
- 複数のアプリが同一のスキーム名を要求している場合
には対応できず,基本的にはエラーとなってしまうのが欠点になります.
Universal Links
iOS9以降で利用可能になったディープリンク実現のための方法で,Appleが公式に提供しているものです.
http://(https://)リンクをキーとして,アプリのインストールの有無により挙動が変わることが大きな特徴となります.
- インストール済み...アプリに遷移
- 未インストール...Webページに遷移
http://(https://)のリンクであるため,一意性が確保されURLスキームで生じていた重複を避けることができます.
また,Universal Linksでは遷移はシームレスに行われ,「アプリを開きますか?」などのポップアップは表示されることがありません.
さいごに
ディープリンク技術はほかにもいろいろあるので今後調査は必要そう...