Learn to Live and Live to Learn

IT(たまにビジネス)に関する記事を読んで、考えて、使ってみたことをまとめる場。

Android Web to Appする(アプリ編)

App Indexing

AndroidにはApp Indexingという仕組みがあります.

AppIndexingとは、ウェブページURLやキーワードとアプリの特定画面へのディープリンクを紐付け、Google検索結果から直接アプリの特定画面を起動させるための仕組みです。 by Qiita

ウェブもアプリも持っているサービスなんかは,この仕組みを使うと簡単にWeb to Appできます.
※ウェブからもアプリからも実装が必要なんですが今回はアプリ側の実装を紹介します.

qiita.com

設定はAndroidManifest.xmlだけで可能です.

<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="https"
        android:host="m.yahoo.co.jp"
        android:path="/" />
    <data
        android:scheme="http"
        android:host="m.yahoo.co.jp"
        android:path="/" />
</intent-filter>

actionタグにはVIEW,categoryタグにはBROUSABLEDEFAULTを書きます.
DEFAULTは任意です.指定しないとGoogle検索結果以外からディープリンクできなくなります.
dataタグにはschemeなどを指定します.何が指定できるかは公式ドキュメントをご覧ください→<data> | Android Developers

今回はこんな感じ.
scheme https://m.yahoo.co.jp/
host https://m.yahoo.co.jp/
path https://m.yahoo.co.jp/

techbooster.jpn.org

起動できるかはasbコマンドでテストできます.

$ adb shell am start -a android.intent.action.VIEW -d "https://m.yahoo.co.jp/" {package name}

実装状況をテストする  |  Firebase