一起看 I/O | Firebase 更新一览

2022 年 Google I/O 大会已于近日落下帷幕,我们公布了很多 Firebase 的全新功能。过去几年的实践已经证明,应用是我们生活中不可或缺的一部分,因为它们不仅能简化日常任务,还能让我们掌握资讯、享受娱乐和相互联系。人们既依赖也热爱应用。我们一直致力于打造各种工具与资源以帮助开发者们更好的构建和改进应用。

从初创公司到成规模的企业,目前有超过 300 万名开发者通过 Firebase 吸引了数亿的用户。为了不负信任,我们不断努力,将 Firebase 变成一个更全面、更强大的平台,以满足开发者的不同需求。在今年的 Google I/O 大会期间,我们将重点介绍 Firebase 与 Google 热门开发者产品的集成,以及我们的平台如何与开放的工具生态系统更好地协作,这两项工作重心都是为了让开发者们能加快应用开发,并且信心十足地运行应用。我们的目标是为开发者打造流畅、稳定的开发体验,让他们可以集中精力为用户和所在公司提升应用的表现。请继续阅读以了解我们在 I/O 大会上的重点发布内容。

加快应用开发和产品上线速度

Firebase 为开发者们带来了在应用整个生命周期内、各阶段都可依靠的产品和解决方案,并以全托管基础架构的方式提供,确保应用的启动与运行快速、安全且高效,让开发者可以专注于最重要的任务。

自定义 Extension 事件自主定制应用流程

Firebase Extension 是预先封装好的代码库,可让开发者从 Google 和其他可信任的公司轻松地向应用添加核心特性,开发者只需使用极少代码,并且无需了解许多不同的第三方 API。在 I/O 大会上,我们很高兴地向大家介绍 Extension 事件这些事件让开发者在接入扩展程序的同时,使用自己的代码来 扩充扩展程序的功能。Extension 事件让开发者能在集成扩展程序的基础上构建应用,为自定义用例和企业工作流提供支持。例如,如果开发者集成了 使用 Stripe 运行付款 (Run Payments with Stripe) 扩展程序进行订阅收费,则现在可以编写自定义代码,以便在客户取消付款时触发折扣优惠。

△ 集成扩展程序并设定自定义的 Extension 事件,例如在用户取消订阅时发送电子邮件促销广告

△ 集成扩展程序并设定自定义的 Extension 事件,例如在用户取消订阅时发送电子邮件促销广告

我们也同时宣布推出了几个用于营销、搜索和支付处理的第三方扩展程序: 来自 Snap 的两个新扩展程序让用户可以登入 Snap 并用自己的故事来宣传产品。而 Stream 的新扩展程序让开发者可以在应用内聊天和实时响应用户。RevenueCat 可以帮助开发者管理应用内订阅,Typesense 则是一款开源的、在 Cloud Firestore 中实现索引和搜索扩展。

△ 由我们的合作伙伴打造的全新的扩展程序,助力开发者更快地向应用中添加营销、搜索和支付处理功能

△ 由我们的合作伙伴打造的全新的扩展程序,助力开发者更快地向应用中添加营销、搜索和支付处理功能

此外,所有 扩展程序现已包含在 Emulator Suite 内,开发者可以在安全的本地环境中测试它们,从而更好地了解它们的功能,并轻松地进行调整。如需安装扩展程序,请访问我们网站上或 Firebase 控制台内的 Extension 页面

提高 Web 应用部署效率

许多开发者使用 React、Angular、Vue、Next.js 和 Nuxt 等网站框架来构建和部署高性能、可扩展且美观的 Web 应用。开发者们提出建议反馈,认为在 Firebase 上部署此类应用的流程应该更为简洁,我们听取了他们的反馈。现在,开发者 只需使用 firebase deploy 这一条命令就能部署现代 Web 应用。您可以拥有更多时间打磨 Web 应用的功能,而无须担心其背后相关的细节。因为,当开发者使用 Firebase 托管部署 Web 应用时,他们将获得全球性高效 CDN 的强大功能、开箱即用的安全性,以及让我们的平台备受青睐的易用性。您可以 下载最新版 Firebase CLI,立即试用 Next.js 和 Angular Universal 的开发者预览版,未来我们还将添加更多的框架支持。

△ 只需一条命令,就能部署以您最爱的网络框架构建的现代 Web 应用,节省时间和精力

△ 只需一条命令,就能部署以您最爱的网络框架构建的现代 Web 应用,节省时间和精力

官方 Flutter 支持、文档和崩溃报告改进

Flutter 是 Google 开源的应用开发框架,仅通过一套代码库,就能构建精美的、原生平台编译的多平台应用,它是 Firebase 跨平台后端服务的理想搭档。我们很高兴地宣布,所有适用于 Flutter 的 Firebase 插件均已有正式版,而且我们也增加了 官方的 Flutter 文档、示例代码和客户支持服务,这样开发者就可以放心地同时使用 Flutter 和 Firebase 了。

我们还完成了三项重要更新,以改进 Crashlytics 为 Flutter 应用提供的支持,确保开发者可以更快地跟踪、监控和修复稳定性问题。当我们收到大家的反馈后,将会及时进行优化并将上述功能向前推进到更加稳定的渠道,所以欢迎大家踊跃尝试。

  1. 我们 大大减少了启动所需的步骤,开发者现在不再需要打开任何特定于平台的 IDE 而只需要添加 Crashlytics 插件,然后使用 Dart 代码将其初始化即可。

  2. 开发者可以 在 Flutter 应用中按需记录严重错误 (fatal error),并在出现关键问题时收到 Crashlytics 发出的警报,这样就能及时解决问题,避免影响更多用户。

  3. 我们修改了后端崩溃分析器,以根据常见的基础特征 更直观地对 Flutter 崩溃进行分组。这将帮助开发团队更好地了解是哪些类型的崩溃对应用产生了影响。

请在应用中添加最新版本的 “Crashlytics for Flutter” 插件以体验这些更新,或者访问我们的 官方文档 来了解详情:

△ Firebase 与 Flutter 无缝结合,助力您构建高质量的应用,以最少的工作量和代码触及多个平台的用户

△ Firebase 与 Flutter 无缝结合,助力您构建高质量的应用,以最少的工作量和代码触及多个平台的用户

为 Firebase Apple SDK 加入现代 Swift 语言特性支持

我们正在 更新 Firebase 以全面包含现代 Swift 编程语言特性,确保 Apple 开发者可以在我们的平台上使用最新的 Swift 特性!例如,开发者可以使用 Codable 来提升代码的安全性和紧凑性,或者使用 Firebase 的 async/await API 来优化容易出错的嵌套回调块,就像在下面的例子中,开发者用区区 4 行代码取代了整整 20 行代码。

△ 使用 async/await API 之后,只用 4 行代码就完成了过去示例代码需要 20 行代码才能完成的功能

△ 使用 async/await API 之后,只用 4 行代码就完成了过去示例代码需要 20 行代码才能完成的功能

如果开发者使用 SwiftUI,则可以通过我们的自定义视图修饰符 (View Modifier) 来使用 Analytics,或借助 FirestoreQuery 属性包装器,将 Firestore 中的实时数据轻松地与视图进行绑定。借助用户社区的一些出色建议,我们已开始在 Firebase 第 8 版 SDK 中逐步改进对 Swift 的支持,在今年剩余的时间,我们还会在 Firebase 第 9 版 SDK 中继续扩大支持。浏览 我们的 GitHub 代码库,了解如何在您的项目中使用这些库:

App Check 帮助增强安全性

Firebase App Check 可以保护您的后端基础架构,帮助您抵御账单欺诈、网络钓鱼、假冒应用、数据盗窃和病毒入侵等威胁。具体方式是验证传入的数据流量来自合法设备上的应用,并屏蔽没有有效凭证的数据流量。现在,我们宣布将 App Check 与 Play Integrity API 集成,而后者是最新也是最先进的应用认证提供商,为 Android 设备提供更多的反滥用信号。此外,App Check 已从 Beta 版升级为正式版,并根据主要的合规和安全标准获得了认证。在 Firebase 控制台中通过 App Check 来注册应用,以保护您的应用和资源。如需了解关于 App Check 的更多信息,请访问我们的 文档

△ App Check 现已发布正式版,与 Play Integrity API 集成,为 Android 设备提供更多安全保障

△ App Check 现已发布正式版,与 Play Integrity API 集成,为 Android 设备提供更多安全保障

信心十足地运行应用,为用户打造出色体验

Firebase 为开发者提供切实可行的洞察见解和易用的工具,助力开发者自信地做出决策,在应用发布时和发布之后及时优化应用体验。

App Distribution 帮助简化 Beta 版测试

在向公众发布应用前进行测试至关重要,这样用户就不会发现遗漏的错误,也不会在应用商店排名上留下负面评论。Firebase App Distribution 帮助开发者将应用的预发布版本发布给受信任的测试人员,这样他们就可以在应用发布前获得有价值的反馈。我们很高兴地宣布,App Distribution 已从 Beta 版升级为正式版,其新特性可以进一步简化应用测试工作流,并让开发者能够根据自己的需求进行定制。具体而言,我们在控制台和新的公开 API 中添加了简化后的组访问、发布自动删除和测试人员批量管理 等功能。借助我们全新的 Android SDK,开发者现在可以 在新版本上线时,直接在应用内通知测试人员,这样测试人员就能时刻掌握最新动态,并就开发者最关心的版本提供反馈。请阅读我们的 AndroidiOS 文档 了解如何开始使用。

△ App Distribution 已升级为正式版,其新特性可以进一步简化应用测试工作流,并让开发者能够根据自己的需求进行定制

△ App Distribution 已升级为正式版,其新特性可以进一步简化应用测试工作流,并让开发者能够根据自己的需求进行定制

全新 Performance Monitoring 提供应用实时告警服务

Firebase Performance Monitoring 可收集并呈现应用性能的相关数据,在用户遇到应用卡顿时,开发者就可以从用户的角度准确了解应用中发生了什么。几个月前,我们发布了性能告警服务,让开发者了解可能影响应用启动时间的延迟时间问题。该功能从 Beta 版保留到正式版,开发者可以用其为应用最关键的部分 设置自定义代码跟踪记录、网络请求、屏幕渲染和网络跟踪记录的新警报,并使用偏好的阈值进行自定义。性能警报确保开发者能够第一时间知道用户遇到问题,有了这种确定性,开发者就能放心地发布应用。请参照我们文档中的说明,立即配置您的警报:

△ Performance Monitoring 的实时告警服务可以让开发者能够根据自己设置的阈值洞悉性能和延迟时间问题

△ Performance Monitoring 的实时告警服务可以让开发者能够根据自己设置的阈值洞悉性能和延迟时间问题

Crashlytics 与 Android 和 Play 集成以精简问题排查流程

Firebase Crashlytics 让开发者能够全面了解应用的稳定性,从而即时跟踪、按优先顺序排列和修复错误,避免错误影响更多用户。然而,即使有详细的实时崩溃报告,开发者在排查问题时通常仍然需要在 Crashlytics 控制台和所使用的 IDE 之间切换,才能找到错误并进行调试。开发者必须在浏览器中查看堆栈轨迹,然后去代码中找到设置断点的正确位置,我们知道这种艰难的体验可能会令人沮丧。因此,我们在 Android Studio 中引入了新的 App Quality Insights 窗口,它可以帮助开发者在本地 Android Studio 项目中发现、调查和重现由 Crashlytics 报告的问题。该窗口还会突出显示崩溃报告中出现的有问题的代码行,这样开发者就可以在构建特性的同时修复问题。

△ 使用新的 App Quality Insights 窗口,在本地 Android Studio 项目内调试、复现和修复 Crashlytics 报告的崩溃问题

我们让 Adobe 团队体验和测试了这个新特性,并收到如下反馈:

这个不容错过的新 IDE 集成可以直接解决我们的一大痛点。我们不再需要花费额外的时间去搜索控制台的崩溃,再将崩溃链接到我们的代码库。

- Adobe Acrobat

请下载最新的 Canary 版 Android Studio Electric Eel,立即体验该特性。

最重要的是,Crashlytics 现在集成到 Google Play,这让开发者可以基于 Play Tracks 过滤 Crashlytics 崩溃报告,确保更容易区分来自内部测试、开放测试和生产环境的崩溃事件。

请打开 Crashlytics 信息中心,并将您的应用链接到 Google Play,以使用这一新特性。

△ 通过 Google Play Tracks 过滤 Crashlytics 崩溃报告,在不同发布阶段按优先顺序排列和管理问题

流畅且安全的开发体验

我们想打造一个流畅、稳定、端到端的开发体验,助力开发者们在最短的时间内取得成功。为此,我们专注于加强 Firebase 与 Google 热门开发产品的集成,并使我们的平台与开放的工具生态系统更好地协同工作。无论开发者处于哪个阶段,我们都能解决应用开发中的难题,这样开发者就可以集中精力提升应用的表现。如需进一步了解上文提及的新特性,请关注 2022 I/O 大会里其他关于 Firebase 主题的内容。如果想抢先一睹我们接下来会发布的新功能,请 加入我们的 Alpha 计划

欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!