サイトアイコン IT NEWS

URLスキームでスマホのWEBブラウザからアプリを起動する

url-scheme

最近まで、スマホブラウザで表示したWEBサイトURLスキームから、インストールしたネイティブアプリ起動するのは知らなかった。

スマホ用のWEBアプリ作ることが増え、ネイティブアプリと連携したくなることもしばしばあります。
実はこのURLスキームは、昔からAndroidiPhoneで既に対応していたとのこと。
一般的に、URL Scheme(スキーム)やDeepLink(ディープリンク)と呼ぶこともあリ、iOS9からはUniversal Links(ユニバーサルリンク)を使うらしい。

URLスキームで操作性が向上する!

以前から、メールアプリを開いて指定した宛先に送信させたい場合は「mailto:~」、電話アプリから指定した電話番号へ発信させたい場合は「tel:~」と言うのは知っていましたが、それ以外のアプリブラウザから起動できるなんて!

なぜ、今回URLスキームを紹介するかというと、以前Laravelで2段階認証システムを導入する記事を書いたことに関連しています。

この場合、2段階認証に必要なアプリGoogle Authenticator)を起動するボタンを付けてあげれば、利用者はいちいちホーム画面から探す手間が省けます。

URLスキームの書き方

説明する程でもないですが、メモしておきます。

Google Authenticatorを起動する場合

まずは、URLスキームを知らないと話になりません。
URLスキーム検索するにはこの辺りですかね。

総計290個以上掲載!iPhoneアプリのURLスキーム一覧

起動したいアプリ名を検索して、以下のようにHTMLリンクアンカー)に記載します。

<a href="totp:" class="btn btn-block btn-lg btn-social btn-info btn-flat"><i class="fa fa-google"></i> Authenticatorアプリを開く</a>

コレだけです。
先程の[Google Authenticator]アプリを検索したら「otpauth:」が表示されましたが、「totp:」も行けるようです。
iPhoneではどちらも問題なくアプリ起動しました。(Androidは知りません)

SNS系のアプリをURLスキームから起動

以下は、SNS系のアプリを起動する場合の例です。
~://」以降にパラメータを入れてあげると、タイムラインを表示したり、投稿するメッセージを指定したりもできるらしい。

<!-- twitter -->
<a href="twitter://" class="btn btn-info"><i class="fa fa-twitter"></i> Twitter</a>
<!-- Facebook -->
<a href="fb://" class="btn btn-primary"><i class="fa fa-facebook"></i> Facebook</a>
<!-- Google Plus -->
<a href="gplus://" class="btn btn-warning"><i class="fa fa-google-plus"></i> Google Plus</a>

あとは参考サイトでどうぞ!

モバイルバージョンを終了