最近まで、スマホのブラウザで表示したWEBサイトのURLスキームから、インストールしたネイティブアプリが起動するのは知らなかった。
スマホ用のWEBアプリ作ることが増え、ネイティブアプリと連携したくなることもしばしばあります。
実はこのURLスキームは、昔からAndroidやiPhoneで既に対応していたとのこと。
一般的に、URL Scheme(スキーム)やDeepLink(ディープリンク)と呼ぶこともあリ、iOS9からはUniversal Links(ユニバーサルリンク)を使うらしい。
URLスキームで操作性が向上する!
以前から、メールアプリを開いて指定した宛先に送信させたい場合は「mailto:~」、電話アプリから指定した電話番号へ発信させたい場合は「tel:~」と言うのは知っていましたが、それ以外のアプリがブラウザから起動できるなんて!
なぜ、今回URLスキームを紹介するかというと、以前Laravelで2段階認証システムを導入する記事を書いたことに関連しています。
この場合、2段階認証に必要なアプリ(Google Authenticator)を起動するボタンを付けてあげれば、利用者はいちいちホーム画面から探す手間が省けます。
URLスキームの書き方
説明する程でもないですが、メモしておきます。
Google Authenticatorを起動する場合
まずは、URLスキームを知らないと話になりません。
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>
あとは参考サイトでどうぞ!
- Original:https://minory.org/url-scheme.html
- Source:Minory
- Author:管理者