1.とりあえず飛ばしちゃう手法
参照元
何やっているかというと、とりあえずアプリに飛ばしちゃってみて、
アプリがインストールされていなかったら、すぐ戻ってくるので、
ある一定時間以内に戻ってきたらGoogle Playに飛ばしちゃうっていう手法。
上2つは、document.locationにアプリURI設定して、ページを遷移させている。
下2つは、iframeのsrc属性にアプリURI設定して、ページを遷移させるのは回避している。
2. anchorのhref属性にAndroid Intentを設定する方法
AndroidのChromeが、vesrion25以降で、アプリがインストールされていなかったら、すぐ戻ってくるので、
ある一定時間以内に戻ってきたらGoogle Playに飛ばしちゃうっていう手法。
上2つは、document.locationにアプリURI設定して、ページを遷移させている。
下2つは、iframeのsrc属性にアプリURI設定して、ページを遷移させるのは回避している。
2. anchorのhref属性にAndroid Intentを設定する方法
iframeのsrc属性のURIからアプリを起動することができなくなったことにより、
上記のiframeを使った手法が、使えなくなったので、
Google Developersのページで紹介されている手法。
https://developers.google.com/chrome/mobile/docs/intents
何やっているかというと、下記3つを使って、
host: アプリ名など
scheme: お好きにどうぞ
package: アプリのpackage名
anchorのhref属性に、
<a href="intent://[host]#intent; scheme=[scheme];@package="[package];end" 説明文 </a>
と設定してあげると、よしなにやってくれる。
ただし、1. 2. ともにBrowserによって対応可否があるので、
まじめにやるならUAなどをみて使い分ける必要がある。
まじめにやるならUAなどをみて使い分ける必要がある。
Browser毎の対応状況↓
1.とりあえず飛ばしちゃう手法
1.とりあえず飛ばしちゃう手法
アプリインストール済み | アプリ未インストール | |
---|---|---|
Android標準Browser | アプリ起動 | GooglePlay起動 |
Chrome | GooglePlay起動 | GooglePlay起動 |
Firefox | アプリ起動 | GooglePlay起動 |
Opera | アプリ起動 | GooglePlay起動 |
2. anchorのhref属性にAndroid Intentを設定する方法
アプリインストール済み | アプリ未インストール | |
---|---|---|
Android標準Browser | アプリ起動 | GooglePlay起動 |
Chrome | アプリ起動 | GooglePlay起動 |
Firefox | ページ読み込みエラー | ページ読み込みエラー |
Opera | アプリ起動 | ページ読み込みエラー |