2013年12月18日水曜日

URLスキーム設定

ブラウザのリンクからアプリを呼び出すURLスキーム,iOSでは簡単に実装できるそうですがAndroidでは地味にめんどくさかったです。二種類ほど方法を説明します。

1.アプリがインストールされている場合のURL設定
AndroidManufest.xmlのURLから起動したいアクティビティに以下のインテントフィルタを追記します。

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="hogehoge" android:host="android" />
</intent-filter>

ブラウザから上記のように設定したアプリを開くときは,以下のようにHTMLタグを設定します。

<a href="hogehoge://android">テストリンク</a>
しかしこれはアプリが端末にインストールされている場合のみ有効なようです。インストールされていない場合はGooglePlayに飛ばすとかできるのが理想なんですけど、わからず。そこで,代替案が次の方法になります。

2.アプリのインストール有無にかかわらずGooglePlayへ飛ばす
タイトルそのまんまです。インストールされている場合はそこからアプリを開けるし,まだインストールしていない場合はダウンロードできる。これが僕が調べた中では都合が良さそう。
ブラウザのURLは以下のように設定します。スキームは上記のAndroidManifest.xmlと同様とします。
<a href="intent://scan/#Intent;scheme=hogehoge;package=アプリのパッケージ名;end">GooglePlayへのリンク</a>
これであればアプリをインストールしているかにかかわらずユーザを目的のアプリへ誘導できます。多少の難は残りますが。

0 件のコメント:

コメントを投稿