Firebase UI Android v10.0.0-beta01 Release
维护者通常 2 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 15/100
- Issue 类型
- 文档
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
调研方向
公告指向 version-10.0.0-beta01 分支、auth/README.md 和 docs/upgrade-to-10.0.md。先检查这些已发布的材料;要视为完成,需要有具体的文档或 release 后续工作,但此 issue 未指定具体内容。
由索引模型根据 Issue 内容生成。
描述
Firebase UI Android v10.0.0-beta01 Release
We're excited to announce Firebase UI Android v10.0.0-beta01. This major update upgrades this library to natively support Jetpack Compose.
What's New in Beta
This development phase focused on 3 key areas of the Auth module:
- Compose Upgrade: Removing legacy XML-based components in favor of modern Kotlin-based Composable components.
- API Redesign: A complete redesign to better support developers and improve maintenance.
- Feature Development: Build and improve upon a suite of features to provide a complete set of authentication flows, including MFA, custom providers and multi-app support.
Note: There are no major changes to the other Firebase UI Android modules (database, firestore and storage).
Improved Core API
The new API comes packed with a host of new supporting features and utilities for managing authentication in your applications. New features include:
-
FirebaseAuthScreen: A single entry point that manages the entire auth flow based on your configuration i.e AuthUIConfiguration.
-
AuthUIConfiguration: A type-safe configuration object that defines providers, UI theming, MFA, anonymous upgrade, and validation rules for the authentication flow.
-
Custom auth injection: For adding custom authentication via create(app, auth).
Native Compose UI & Theming
-
Fully Themed: With
AuthUITheme, buttons and inputs automatically adopt your app’s Material branding. You can override typography, shapes, and colors, or inject your own ProviderStyle for distinct button looks. -
Slot APIs: The new
EmailAuthScreenandPhoneAuthScreenexpose slot APIs, giving you access to state (EmailAuthContentState) while letting you render your own UI.
State Management
-
State Management: Access multiple supporting functions for managing authentication state is your application. Included in this release are
isSignedIn(),getCurrentUser(), andauthStateFlowto expose authentication state reactively. -
Reactive Streams: Built on Kotlin Flow for improved integration with Compose and modern Android architecture.
-
Lifecycle Management: Controller returned by
createAuthFlow(configuration)withstart(),cancel(), anddispose()methods. -
Flow Control:
start()drives authentication flow per configuration. -
Safe Cancellation:
cancel()transitions to Cancelled state gracefully. -
Resource Management:
dispose()releases coroutines and listeners to prevent memory leaks
Sample app
The repository's sample application has been upgraded to use the new updates. Updated features include:
-
Upgraded application: A "Quickstart" example using FirebaseAuthScreen to demonstrate how to implement a full authentication flow with just a few lines of code.
-
Advanced Customization (Slot APIs): A deep dive into using the new Slot APIs (EmailAuthScreen, PhoneAuthScreen), showing how to inject your own custom UI layouts while retaining the library's state management and validation logic.
-
Theming & Styling: Examples of using AuthUITheme.fromMaterialTheme() to inherit your app’s branding, and using ProviderStyle to create custom buttons.
-
Feature Walkthroughs: End-to-end demonstrations of complex flows, including federated providers, Custom providers, Multi-Factor Authentication (SMS & TOTP) enrollment and Deep Linking.
Try it out
Documentation and source for the updated library are in the v10.0.0-beta-01 branch.
Check out auth/README.md to get started or upgrade-to-10.0.md to learn how to migrate from v9.
We're seeking your feedback as we continue shaping this project, so let us know what you think by commenting below or opening a new issue!
- 主要语言
- Kotlin
- 星标
- 4.8k
- 派生
- 1.9k
- 平均合并
- 3 天 12 小时
- 30 天内合并 PR
- 31
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
ankidroid/Anki-Android#22408 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1 小时以内 新手友好度 72/100
afarber/OpenMapView#22 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
nightscout/AndroidAPS#5245 ·
维护者通常 1 天内回复
-
Feature:Resolution
难度 2/5 1-3 小时 新手友好度 72/100
intellij-elixir/intellij-elixir#4396 ·
维护者通常 1 天内回复