Firebase App Indexingは、モバイルアプリのコンテンツをインデックスし、検索結果で利用できるようにするGoogleのサービスです。ユーザーはGoogleの検索結果からアプリの目的の画面に直接移動できます。App IndexingはアプリのURIスキームをインデックスされたWebサイトページとリンクし、統一された検索システムを作成します。Firebase Documentation, 2026によると、App Indexingを設定したアプリは、AndroidデバイスでのGoogle検索からのトラフィックが平均で30%増加します。このサービスは、Google Play Servicesによる自動インデックスと、Firebase App Indexing APIによる手動インデックスをサポートしています。
重要なポイント
Firebase App Indexingは、モバイルアプリのコンテンツをGoogle検索クローラーがアクセス可能にするGoogleの技術で、GoogleがWebページをインデックスするのと同じようにアプリ画面をインデックスできます。アプリコンテンツがインデックスされると、ユーザーはGoogle Search、Google Assistant、Google Lensでそれを見つけ、Webページを経由せずにワンクリックで目的のアプリ画面に直接移動できます。
Googleは自動インデックスとFirebase App Indexing APIの2つのメカニズムでアプリをインデックスします。自動インデックスはGoogle Play Servicesを通じてAndroidで動作します。アプリがインストールされている場合、Googleはディープリンクがあるコンテンツを自動的にインデックスします。APIインデックスにより、開発者はFirebase App Indexing APIを使用してインデックスされたページを更新または削除し、検索に表示されるコンテンツをプログラムで制御できます。
アプリインデックスはいくつかの課題を解決します:Google検索からの新規ユーザーの獲得(検索結果はカードでアプリコンテンツを表示)。エンゲージメントの向上 — 既存ユーザーはデバイス上の検索を通じて目的のコンテンツをより速く見つけられます。インストール数の増加 — Google検索はコンテンツへのディープリンクを表示し、アプリがインストールされていない場合はインストールリンクを表示します。App IndexingはGoogle Assistantでのアプリの可視性も向上させ、音声検索中にアプリを開くことを提案できます。
インデックスプロセスは、GoogleがアプリのURIスキームを発見することから始まります。Androidの場合、GoogleはGoogle Play Store(APIレベル、intent-filter、URIスキーム)からの情報を使用してアプリのマップを構築します。iOSの場合、インデックスはSpotlight IntegrationとCSSearchableIndexを通じて行われます。Googleがアプリコンテンツをインデックスするとき、URI(例:myapp://product/123)をWeb URL(存在する場合)とリンクし、このペアを検索インデックスに保存します。
適切なインデックスのために、GoogleはアプリとWebサイトの関係を理解する必要があります。Digital Asset Linksは、WebサイトにアップロードされるJSONファイルで、モバイルアプリがサイト所有者に属することを確認します。assetlinks.jsonファイルはドメインルートに配置され、アプリの署名証明書のSHA256フィンガープリントを含みます。Googleは検索結果にアプリを開くボタンを表示する前に、このリンクを検証します。
// https://yourapp.com/.well-known/assetlinks.json
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.myapp",
"sha256_cert_fingerprints": [
"14:6D:E9:92:..."
]
}
}
]
Googleはいくつかのソースからインデックス用のコンテンツを取得します:Google Play Store(URIスキーム付きの公開アプリのリスト)、Android App Links(Android 6.0+で検証されたHTTPスキーム)、Firebase App Indexing API(プログラムによるインデックス更新)、およびアプリがインストールされたデバイスでのGoogle Play Servicesによる自動インデックス。各ソースは全体的なインデックスを補完し、アプリコンテンツを検索に対して可能な限りアクセス可能にします。
Google Play Servicesは、アプリが正しいURIスキームとintent-filterを使用している場合、Androidにインストールされたアプリのコンテンツを自動的にインデックスします。このメカニズムは、VIEWアクションのintent-filterについてアプリをスキャンし、アプリで使用されているURIを収集します。このプロセスは完全に自動で、開発者側の追加コードは不要です — マニフェストでディープリンクを適切に設定するだけです。
Googleは特定の基準を満たすURIを自動的にインデックスします:URIはVIEWアクションのintent-filterを介してアクセス可能である必要があり、Android App Linksの場合はスキームがHTTP/HTTPSである必要があります。カスタムスキームのURI(myapp://)もインデックスされますが、アプリがインストールされている場合のみです。自動インデックスは、認証ページやユーザーの個人データに導くURIには適用されません。
自動インデックスにはいくつかの制限があります:インデックスは即座に更新されず、数時間から数日の遅延があります。アプリのAPIレベル — 自動インデックスにはminSdkVersion 23以上が必要です。HTTP/HTTPSスキームのないURIは、アプリがインストールされたデバイスでのみインデックスされます。インデックスを高速化し、Web版のないコンテンツを追加するには、Firebase App Indexing APIを使用することをお勧めします。
Firebase App Indexing APIは、開発者がプログラムでアプリのインデックスされたコンテンツを管理できるようにするGoogleのHTTP APIです。APIはGoogleインデックスへのURIページの追加、更新、削除のリクエストを受け付けます。自動インデックスとは異なり、APIは即座に動作します:呼び出し後、Googleは数分以内に検索結果で新しいURIを考慮し始めます。
Firebase App Indexing APIへのリクエストには、URI、タイトル、説明、オプションの画像を含むページオブジェクトが含まれます。各URIは、Google検索で見つけられる個別のページとして処理されます。APIはFirebase Service Accountを介したOAuth 2.0認証を使用します。URIの一括追加には、1回のリクエストで最大1000ページのバッチ処理がサポートされています。
import com.google.firebase.appindexing.FirebaseAppIndex;
import com.google.firebase.appindexing.Indexable;
import com.google.firebase.appindexing.builders.Indexables;
public class AppIndexingHelper {
public static void indexProduct(String productId,
String name, String price) {
Indexable product = Indexables.newSimpleBuilder(name)
.setUrl("myapp://product/" + productId)
.setDescription("価格: " + price)
.build();
FirebaseAppIndex.getInstance()
.update(product)
.addOnSuccessListener(aVoid ->
Log.d("インデックス", "OK"))
.addOnFailureListener(e ->
Log.e("インデックス", "エラー", e));
}
public static void removeProduct(String productId) {
FirebaseAppIndex.getInstance()
.remove("myapp://product/" + productId);
}
}
アプリコンテンツが変更された場合、Firebase App Indexing APIを介してGoogleインデックスを更新する必要があります。古いコンテンツの削除も重要です:URIが存在しなくなったか、404に導く場合は、インデックスから削除する必要があります。Firebase App Indexingはアプリ内でコンテンツが変更されても自動的に削除しません — 開発者は現在のコンテンツ状態とインデックスを同期する責任があります。データ変更(製品、記事、プロファイルの追加、編集、削除)のたびにAPIを呼び出すことをお勧めします。
AndroidでのFirebase App Indexingの設定には、いくつかの手順が含まれます:Firebase SDKの追加、build.gradleへのapp-indexing依存関係の追加、Android App Linksの設定、URIを処理するサービスの作成。Firebase App Indexingの最小APIバージョンは23です。SDK設定後、アプリはGoogle Play Servicesを介して自動的にインデックス用データをGoogleに送信し始めます。
Firebase App Indexingには、アプリモジュールのbuild.gradleにcom.google.firebase:firebase-appindexing依存関係とgoogle-servicesプラグインを追加する必要があります。Firebaseは、アプリが要件(minSdkVersion 23+、HTTP/HTTPSスキームのintent-filterの存在、検証のためのAndroid App Linksの使用)を満たしている場合、Google Play Servicesを介してインデックスデータを自動的に処理します。カスタムスキームのURIには、追加の設定が必要です。
// build.gradle (モジュール: app)
plugins {
id 'com.android.application'
id 'com.google.gms.google-services'
}
android {
defaultConfig { minSdkVersion 24 }
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:32.0.0')
implementation 'com.google.firebase:firebase-appindexing'
}
Android App Linksは、Googleがアプリに属するものとして検証するHTTP/HTTPSリンクです。検証はDigital Asset Linksを通じて行われます:assetlinks.jsonファイルがWebサイトにアップロードされます。検証後、Androidはドメインからのすべてのリンクを自動的にApp Linksとして処理し、ユーザーにどのアプリで開くかを尋ねません。これは適切なアプリコンテンツインデックスのための必須条件です。
設定後、アプリコンテンツが実際にインデックスされていることを確認する必要があります。Firebase ConsoleのApp Indexingセクションには、統計情報(インデックスされたURIの数、検索インプレッション数、クリック数)が表示されます。詳細な検証には、Google Search Consoleを使用します。そこにはインデックスエラーと推奨事項が表示されます。Googleでsite:https://your-app.page.linkを検索して、アプリのインデックスされたページを確認することもできます。
効果的なアプリインデックスには、いくつかの主要なプラクティスに従う必要があります。インデックスしたいすべてのURIは実際のコンテンツに導く必要があります — プレースホルダー、空の画面、エラーページは避けてください。公開コンテンツのみをインデックスし、認証が必要なページはインデックスしないことをお勧めします。各URIには、ユーザーの言語で読みやすい名前と説明が必要です。
ユーザーがGoogleで検索するコンテンツをインデックスします:商品カード、記事、プロファイル、メニューカテゴリ、レシピ、イベント。個人データ、設定、ショッピングカート、注文履歴、その他のプライベートデータを含むページはインデックスしないでください。動的コンテンツ(ニュースフィード、パーソナライズされたセレクション)については、Firebase App Indexing APIを使用して、新しいURIが作成されたときに追加し、削除されたときに削除します。
インデックスされた各URIには、検索結果用の意味のあるタイトル、説明、プレビュー画像が必要です。タイトルと説明には、実際のユーザーの検索クエリに一致するキーワードを使用してください。画像には1200x1200 pxの正方形フォーマットを使用し、公開URLからアクセスできるようにしてください。コンテンツを定期的に更新してください:Googleは検索で新しいページをより頻繁に表示します。
| コンテンツタイプ | インデックス推奨 | 非推奨 |
|---|---|---|
| eコマース | 商品、カテゴリ、プロモーション | カート、チェックアウト、プロフィール |
| ソーシャルネットワーク | 公開プロフィール、投稿 | 友達フィード、プライベートメッセージ |
| メディア | 記事、動画、ポッドキャスト | 下書き、視聴履歴 |
| サービス | サービス、カタログ、連絡先 | 設定、通知 |
よくある質問
App IndexingはWebページではなくモバイルアプリ内のコンテンツをインデックスします。GoogleはアプリのURIスキームをインデックスし、検索結果に“アプリで開く”ボタンを表示します。WebサイトにはHTMLページで十分ですが、アプリには設定されたディープリンクとDigital Asset Linksが必要です。
Firebase ConsoleでApp Indexingセクションを開くと — インデックスされたURIとクリックの統計が表示されます。Google Search Consoleも確認してください:プロジェクトをリソースとして追加し、アプリインデックスレポートとエラーを確認します。
はい、ただし制限があります。カスタムスキーム(myapp://)のURIは、アプリがすでにインストールされているデバイスでのみインデックスされます。クロスプラットフォームインデックス(すべてのデバイスの検索に表示)には、Digital Asset Linksが設定されたWeb版が必要です。
Firebase App Indexing APIを使用する場合 — 数分以内。Google Play Servicesによる自動インデックスの場合 — 数時間から1–2日。インデックスを高速化するには、重要なコンテンツを追加する際にAPIを使用してください。
URIの数に制限はありません。Firebase App Indexing APIは1回のバッチリクエストで最大1000 URIの追加を許可します。Googleは最適な検索パフォーマンスのために、高品質で最新のコンテンツのみ(アプリあたり10,000 URI以下)をインデックスすることを推奨しています。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。