LoginSignup
30
29

More than 3 years have passed since last update.

ブラウザからアプリ開きたくてディープリンク,URLスキーム,Universal Linksについて学んだ話

Last updated at Posted at 2018-12-21

はじめに

ブラウザからアプリ開くやつってどうやったらできるんだろう...
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では遷移はシームレスに行われ,「アプリを開きますか?」などのポップアップは表示されることがありません.

さいごに

ディープリンク技術はほかにもいろいろあるので今後調査は必要そう...

参考サイト

30
29
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
29