Firebase App Indexing 是一项 Google 服务,它可以索引移动应用程序的内容并使其在搜索结果中可用,允许用户从 Google 搜索结果直接跳转到应用程序的所需屏幕。App Indexing 将应用程序的 URI 方案与已编入索引的网站页面联系起来,创建一个统一的搜索系统。根据 Firebase Documentation, 2026 的数据,配置了 App Indexing 的应用程序在 Android 设备上从 Google 搜索平均获得 30% 的额外流量。该服务支持通过 Google Play Services 自动索引和通过 Firebase App Indexing API 手动索引。
要点
Firebase App Indexing 是 Google 的一项技术,它使移动应用程序的内容可供 Google 搜索机器人访问,允许像 Google 索引网页一样索引应用程序屏幕。当应用程序内容被索引后,用户可以在 Google Search、Google Assistant 或 Google Lens 中找到它,并一键直接跳转到应用程序的所需屏幕,无需经过网页。
Google 通过两种机制索引应用程序:自动索引和 Firebase App Indexing API。自动索引 在 Android 上通过 Google Play Services 运行:如果应用程序已安装,Google 会自动索引具有深层链接的内容。API 索引允许开发人员使用 Firebase App Indexing API 以编程方式管理哪些内容在搜索中可见,以更新或删除已索引的页面。
应用程序索引解决几个任务:从 Google 搜索吸引新用户(搜索结果在卡片中显示应用程序的内容)。提高参与度 — 现有用户通过设备上的搜索更快地找到所需内容。增加安装量 — 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)与网页 URL(如果存在)关联起来,并将这对信息存储在搜索索引中。
为了正确索引,Google 必须理解您的应用程序和网站之间的关系。Digital Asset Links 是一个 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 自动索引 Android 上已安装应用程序的内容,如果应用程序使用正确的 URI 方案和 intent-filter。该机制扫描应用程序中 VIEW 操作的 intent-filter,并收集应用程序中使用的 URI。此过程完全自动,不需要开发人员编写额外代码 — 只需在清单中正确配置深层链接即可。
Google 自动索引满足特定条件的 URI:URI 必须通过具有 VIEW 操作的 intent-filter 可访问,方案必须是 HTTP/HTTPS 用于 Android App Links。具有自定义方案的 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,支持在一个请求中最多处理 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 自动 通过 Google Play Services 处理索引数据,如果应用程序满足要求:minSdkVersion 23+、存在具有 HTTP/HTTPS 方案的 intent-filter 以及使用 Android App Links 进行验证。对于具有自定义方案的 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 文件上传到您的网站。验证后,Android 自动处理您域中的所有链接作为 App Links,无需询问用户使用哪个应用程序打开链接。这是正确索引应用程序内容的必要条件。
配置后需要检查应用程序内容是否确实被索引。Firebase Console 的 App Indexing 部分显示统计信息:已索引 URI 的数量、搜索中出现次数和点击次数。详细检查请使用 Search Console Google,其中显示索引错误和建议。您也可以在 Google 中搜索 site:https://your-app.page.link 来查看应用程序的已索引页面。
有效的索引需要遵守几个关键实践。您想要索引的所有 URI 必须指向真实内容 — 没有占位页面、空屏幕或错误页面。建议仅索引公共内容,不索引需要身份验证的页面。每个 URI 应有用户可读的名称和描述。
索引用户在 Google 中搜索的内容:产品卡片、文章、个人资料、菜单类别、食谱、活动。不要索引包含个人数据、设置、购物车、订单历史或任何其他私人数据的页面。对于动态内容(新闻推送、个性化推荐),使用 Firebase App Indexing API 在创建时添加新的 URI,并在删除时移除它们。
每个已索引的 URI 应有有意义的标题、描述和预览图片,用于搜索结果。在标题和描述中使用关键词,与用户的实际搜索查询相匹配。对于图片,使用 1200x1200 px 的正方形格式,并确保它们可通过公共 URL 访问。定期更新内容:Google 在搜索中更频繁地显示新页面。
| 内容类型 | 建议索引 | 不建议 |
|---|---|---|
| 电子商务 | 产品、分类、促销 | 购物车、结账、个人资料 |
| 社交媒体 | 公开个人资料、帖子 | 好友动态、私信 |
| 媒体 | 文章、视频、播客 | 草稿、观看历史 |
| 服务 | 服务、目录、联系方式 | 设置、通知 |
常见问题
App Indexing 索引移动应用程序内的内容,而不是网页。Google 索引应用程序的 URI 方案,并在搜索结果中显示 “在应用程序中打开” 按钮。对于网站,HTML 页面就足够了;对于应用程序,需要配置的深层链接和 Digital Asset Links。
在 Firebase Console 中打开 App Indexing 部分 — 那里显示已索引 URI 和点击的统计信息。也检查 Search Console Google:将项目添加为资源,查看有关应用程序索引和可能错误的报告。
可以,但有局限性。具有自定义方案的 URI (myapp://) 仅在已安装应用程序的设备上被索引。对于跨平台索引(在所有设备的搜索中显示),需要具有已配置 Digital Asset Links 的 Web 对应版本。
使用 Firebase App Indexing API 时 — 几分钟内。通过 Google Play Services 自动索引时 — 几小时到 1-2 天。为了加快速度,在添加重要内容时使用 API。
URI 数量没有限制。Firebase App Indexing API 允许在一个批处理请求中添加最多 1000 个 URI。Google 建议仅索引高质量和最新的内容 — 每个应用程序不超过 10,000 个 URI 以获得最佳搜索性能。
总结
我们将开发一款交钥匙移动应用程序
IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。