我们在 7 年前推出了 Firebase Dynamic Links,让网址变得更加强大,例如,根据运行时条件动态更改链接的目的地。
多年来,网络和移动生态系统随着 App Links、Google Play 免安装体验、通用链接和 App Clips 等技术的发展而不断发展,并使应用用户在应用和网络上的用户体验历程变得更顺畅、更具可预测性。我们相信,如果直接采用这些技术并继续推动生态系统发展,您和您的用户将会受益更多。不过,除了这些新的变更之外,构建 Firebase Dynamic Links 的原始原生 API 也在不断演变,并带来了新的挑战。
例如,生态系统的变化影响了我们针对 Firebase Dynamic Links 的核心功能之一(让应用用户在安装后顺利过渡到应用,无论平台如何)提供一致稳定的体验的能力。
我们决定弃用 Firebase Dynamic Links,并将资源重新投入到解决其他开发者痛点问题上,而不是继续支持不太理想的体验。
我们理解,此更改将需要您花费时间来评估并采用市场中的其他解决方案或平台提供商。
随着生态系统的不断发展和变化,我们将继续改进 Firebase 来满足您的需求。我们将继续在各项 Firebase 产品中推出新功能和更新,并致力于帮助您在应用开发历程中取得成功。
重要须知
Firebase Dynamic Links 将于 2025 年 8 月 25 日关停。所有由 Firebase Dynamic Links 提供的链接(包括托管在自定义网域和 page.link 子网域上的链接)都将失效,并且您将无法再创建新链接。
为帮助您决定如何从 Firebase Dynamic Links 进行迁移,我们将持续更新此常见问题解答文档,提供您可以考虑的其他信息,并为不同的迁移场景提供迁移指南,这些场景可能与您目前使用 Firebase Dynamic Links 的方式相匹配。
此外,由于弃用将于 2025 年 8 月 25 日停用,我们将继续更新本指南,并提供更多常见问题解答。随着我们帮助您完成迁移工作,我们将发现任何其他问题。
下面的常见问题解答可回答一些您最关心的问题。
如需开始迁移,请参阅下文的“我应该如何从该服务迁移”常见问题解答。
Firebase Dynamic Links 何时停用?
Firebase Dynamic Links 将于 2025 年 8 月 25 日关停。由 Firebase Dynamic Links 提供的所有链接(包括托管在自定义网域和 page.link 子网域上的链接)都将失效。
可供我用来完成迁移的时间有多长?
您必须在 2025 年 8 月 25 日之前完成迁移。
新的和现有的链接仍然有效吗?
是的,您的新链接和现有链接将继续有效,直到 Dynamic Links 服务于 2025 年 8 月 25 日关停为止。
弃用 Firebase Dynamic Links(2025 年 8 月 25 日)后,我的链接和我的应用会发生什么变化?
弃用 Firebase Dynamic Links 后,可能会出现以下情况:
- 最终用户点击的所有链接都将返回 HTTP 404 状态响应。
对以下 API 的所有 HTTP 请求:
- https://firebasedynamiclinks.googleapis.com/v1/shortLinks (Short Links API)
- https://firebasedynamiclinks.googleapis.com/v1/SHORT_DYNAMIC_LINK/linkStats (Link Stats API)
将返回 400/403 HTTP 状态响应。
根据应用所使用的 SDK 平台版本和发出的 API 调用,表现出以下行为:
iOSiOS
使用场景 API 调用 状态代码 行为 应用是否会崩溃? 创建短链接 shorten (Swift)
shortenUrl (Swift)
shortenWithCompletion (Objective-C)
400 系统出现错误,并给出失败原因 否* 首次打开归因 在 FirebaseApp.configure (Swift)/FIRApp.configure (Objective-C) 上自动调用
400 不会出现任何错误,但 FDL 对象会随空数据发回 否* 重新打开归因 handleUniversalLink (Swift)
handleUniversalLink (Objective-C)
400 系统出现错误,并给出失败原因 否* AndroidAndroid
使用场景 API 调用 状态代码 行为 应用是否会崩溃? 创建短链接 buildShortDynamicLink (Kotlin)
buildShortDynamicLink (Java)
400 系统出现错误,并给出失败原因 否* 首次打开归因 getDynamicLink(getIntent()) (Kotlin)
getDynamicLink(getIntent()) (Java)
400 任务返回成功响应,但 FDL 数据将为空 否* 重新打开归因 getDynamicLink(getIntent()) (Kotlin)
getDynamicLink(getIntent()) (Java)
400 任务返回成功响应,但 FDL 数据将为空 否* 接受邀请 处理 intent 重定向(来自 *.page.link 或自定义网域)时调用 Google Play 服务中的 AppInvite 模块 400 调用 Google Play 服务时显示旋转图标,并会在返回 400 响应时消失 否*
我应该如何从该服务迁移?
我们发现,不同的开发者在使用 Firebase Dynamic Links 时有不同的需求。
根据您自己的使用场景以及对 Firebase Dynamic Links 使用情况的评估,以下场景之一可能符合您的需求。
如果我需要与 Firebase Dynamic Links 完全对等的功能,该怎么办?
对于这种情况,我们建议您使用其他深层链接服务提供商/供应商,例如 Adjust、Airbridge、AppsFlyer、Bitly、Branch、Kochava 以及市场中的其他类似提供商。(请注意,这些提供商未经 Google 审核,但提供与 Firebase Dynamic Links 类似的功能。)
您还可以导出深层链接元数据,以便更轻松地将链接迁移到您选择的提供商。
如需找到功能与 Firebase Dynamic Links 匹配的提供商,请参阅以下功能列表。
Firebase Dynamic Links 功能:
- 用户只需点击一下,即可转到其设备的正确商店(如果需要,还可以回退到网页)
- 在下载和安装应用后为用户提供延续的历程以查看延迟深层链接
- 通过应用中的深层链接内容为用户提供上下文体验(如果已安装)
- 提供与动态链接点击事件相关的分析数据
- 提供创建短链接网址的功能
- 提供向链接添加元数据的功能,便于社交分享
如果我只关心应用安装后到应用的深层链接,该怎么办?
对于这种情况,我们建议使用应用链接和通用链接,它们是不同平台支持的方式,可让开发者为用户提供深层链接体验。
如需了解详情,请参阅关于迁移到应用链接和通用链接的指南。
本指南还介绍了如何选择使用 Firebase Hosting 在您要用于新链接的网域上托管必要的网域和资产链接验证文件(例如应用链接的 assetlinks.json 文件、通用链接的 apple-app-site-association 文件)。
如果我的应用不再需要 Firebase Dynamic Links 的功能,也不需要替代方案,该怎么办?
在这种情况下,您可能不需要在应用中采取任何操作来处理即将弃用的功能,但我们建议您:
按照导出链接元数据的指南检查现有的 Firebase Dynamic Links,以确保您的用户和应用在链接失效后不会受到影响。
在 Firebase 控制台中删除您的 Firebase Dynamic Links 网址前缀。注意:网址前缀网域将于 2025 年 8 月 25 日之后自动删除。
从您的应用中移除 Firebase Dynamic Links SDK。
如果迁移场景无法满足您自身的需求,请与我们联系。
我还可以继续使用 Firebase Dynamic Links API 吗?
用于短链接和 Analytics 的 Firebase Dynamic Links API 将在 2025 年 8 月 25 日弃用之前一直可用。
此后,这些 API 将不再可用,该服务也将关停。
如何导出我的链接元数据?
请参阅导出链接元数据的指南,了解如何导出链接元数据。
如何获取我的 Firebase Dynamic Links 链接分析数据?
您可以参考导出指南来检索您的 Firebase Dynamic Links 元数据,其中包括链接本身。
您可以使用 Firebase Dynamic Links Analytics API 检索每个 Firebase Dynamic Links 动态链接的链接统计信息数据。此 Analytics API 的 QPS 上限约为 5。如需查看有关如何在使用 API 时在该请求限制内执行操作的示例,请参阅此 Cloud 任务示例。
您还可以使用 Google Analytics 并导出一部分链接分析数据,包括 Google Analytics 所特有的应用更新事件。
如果您需要更高的请求速率来帮助您完成迁移,请通过 Firebase 支持团队与我们联系。
在弃用日期(2025 年 8 月 25 日)之后,现有的链接元数据会发生什么情况?
您的网域和链接元数据将于 2025 年 8 月 25 日被标记为待删除,并根据我们的数据保留政策完全清除。
我目前正在使用或需要使用动态链接,以便在 Firebase Authentication 中进行电子邮件链接身份验证。此功能在弃用后是否会继续运行?
是的,使用 Firebase Authentication 的电子邮件链接身份验证将继续有效。
Firebase Authentication 目前使用 Firebase Dynamic Links 来自定义 身份验证链接,不过,我们将提供需要客户端更新来确保电子邮件链接身份验证在 Firebase Dynamic Links 服务关停后继续正常运行。
请注意,Firebase Authentication 仅在内部依赖于 Firebase Dynamic Links 服务,但不依赖于 Firebase Dynamic Links SDK。
我需要使用 Firebase Dynamic Links,才能在 Firebase Authentication 中启用电子邮件链接身份验证。该怎么做?
如果您的 Firebase 项目截至 2023 年 8 月 25 日的弃用通知日期尚未启用 FDL,则目前无法新加入 Firebase Dynamic Links。
如果您需要启用 Firebase Dynamic Links 以启用电子邮件链接身份验证, 请与 Firebase 支持团队联系,我们会与您联系,帮助您完成配置。
请注意,此功能延续与将 Firebase Dynamic Links 用于存储区和 Web 路由、延迟和常规深层链接(根据上面分享的迁移时间表,这些功能将被弃用)的主要用例是分开的。
Firebase Dynamic Links 有哪些替代方案?
请参阅“我应该如何从该服务迁移”常见问题解答,其中详细介绍了不同的迁移场景并提供了各种可用替代方案的迁移指南。