概要
概要はこちらを参照していただくと早いです。
要は検索窓にキーワードを入力した、あるいは検索を実行した際のキーワードとアプリを紐付けする技術です。
用語
クローラー
検索エンジンがWebサイトの情報を取得する際に、クローラーがWebサーバから情報を取得します。また、AppIndexingAPIの通信内容やアプリ内のManifestファイルもクロール対象になります。
Schema.org
検索エンジンがWebサイトの内容を解析しやすくするためのマークアップ技術です。
Search Console
Webサイトの検索結果を運用管理するツール。(昔はGoogle ウェブマスターツールという名前のツールでした)
rotots.txt
検索エンジンがWebサイト内のどの部分の情報を取得するかを確認するファイルです。
noindex.xml
検索エンジンがAndroidアプリ内のどの部分の情報を取得しないかを確認するファイルです。
実装方法
実装方法の詳細はこちらを参照すると早いです。
AndroidManifest.xmlに以下を追加
- AppIndexingのライブラリを追加
- URLスキーマの記述を追加
プログラムの以下の部分を追加・修正
- 各画面にURLとURIのリンクを埋め込む
- アプリがURLスキームから起動できるようにする修正
注意点
- APIのoutLinkの項目は非推奨となりましたので、今後は設定しない方がよいでしょう。
- APIにDescriptionという項目が存在するが、設定する方法がドキュメントに記述されていない。また、設定しているアプリも見つからない。
確認方法
Indexされた情報を確認する
下記のコマンドをコンソールから入力するとAppIndexingAPIのログを確認することができます。
実際にアプリを動かしてコンソールにログが表示されればIndexingが成功したことになります。
実際に検索結果に反映されるかどうかはクローラーに依存します。
ログレベルを変更する
adb shell setprop log.tag.AppIndexApi VERBOSE
Indexされたログを表示する
adb logcat -v time -s AppIndexApi:V
知見
- サジェストはAppIndexing APIで設定されたタイトルを元に表示されている様子。
- Googleの検索結果に反映される情報はサイトマップ・アプリAPI・HTMLメタ情報・AndroidManifestファイル等を元に表示されている様子。