【iOS】Safariでアプリを自動で起動する

【iOS】Safariでアプリを自動で起動する

こんにちは。エンジニアのtakanoです。

Webサイトとアプリが両方あるサービスでアプリの方を使ってほしい場合
ブラウザから自動でアプリが起動できたら便利ですね。
例えば会員登録などをWebで承認する場合です。
通常、確認メールに記載されたURLをクリックするとブラウザで登録完了ページに遷移して
そのままWebで使ってしまいます。

アプリがインストールされているならアプリを使ってほしい。
登録完了ページを表示したら自動的にアプリを起動しましょう。

起動方法は HTMLとJavaScriptを使用します。
lanchester:// のようなURLスキームはアプリ側で設定しておきます。

<!DOCTYPE html>
<html lang="ja">
  <head>
  </head>
  <body>
   <p>完了しました。</p>

    <div style="width: 0; height: 0; overflow: hidden;">
      <iframe id="launch" name="launch"> </iframe>
    </div>

    <script type="text/javascript">
      $(function(){
        setTimeout(function(){
          var userAgent = navigator.userAgent.toLowerCase();
          if (userAgent.search(/iphone|ipad|ipod/) > -1) {
            launch.location.href= "lanchester://";
          }
        }, 3000);
      });
    </script>

  </body>
</html>

上記はiOSでブラウザはSafariを表示している場合の方法です。
iOS版のChrome(45.0.2454.68)からiframeでURLスキームを指定すること
ができなくなったそうです。
他のブラウザ対応のためにアプリ起動ボタンを配置した方がいいですね。

TAG

  • このエントリーをはてなブックマークに追加
takano
takano takano

素晴らしいアプリを開発して世の中をもっとハッピーにしたい! ビール大好き!卓球大好き!音楽大好き! 最近は子供とおかあさんといっしょを見てるせいで「ブンバボーン」の脳内再生が止まりません。