firebase / firebase/FirebaseUI-Android
Firebase UI Android v10.0.0-beta01 Release
- 主要言語
- Kotlin
- スター
- 4.8k
- フォーク
- 1.9k
- 平均マージ
- 2日 9時間
- マージ済み PR(30日)
- 42
説明
# 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 `EmailAuthScreen` and `PhoneAuthScreen` expose 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()`, and `authStateFlow` to 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)` with `start()`, `cancel()`, and `dispose()` 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](https://github.com/firebase/FirebaseUI-Android/tree/version-10.0.0-beta01).
Check out [auth/README.md](https://github.com/firebase/FirebaseUI-Android/blob/version-10.0.0-beta01/auth/README.md) to get started or [upgrade-to-10.0.md](https://github.com/firebase/FirebaseUI-Android/blob/version-10.0.0-beta01/docs/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\!
コントリビューションガイド
評価
この issue はまだ評価されていません。