startUi static method
Future<bool>
startUi({
- required List<
AuthUiProvider> items, - required TosAndPrivacyPolicy tosAndPrivacyPolicy,
- bool autoUpgradeAnonymousUsers = false,
- AndroidOption androidOption = const AndroidOption(),
- WebAuthOption webAuthOption = const WebAuthOption(),
- EmailAuthOption emailAuthOption = const EmailAuthOption(),
Start Firebase Auth UI process.
Return true
if login process is completed.
Implementation
static Future<bool> startUi({
required List<AuthUiProvider> items,
required TosAndPrivacyPolicy tosAndPrivacyPolicy,
bool autoUpgradeAnonymousUsers = false,
AndroidOption androidOption = const AndroidOption(),
WebAuthOption webAuthOption = const WebAuthOption(),
EmailAuthOption emailAuthOption = const EmailAuthOption(),
}) async {
final providers = items.map((e) => e.providerName).join(',');
try {
final data = await _channel.invokeMethod<bool>(
'startUi',
<String, dynamic>{
'providers': providers,
'tosUrl': tosAndPrivacyPolicy.tosUrl,
'privacyPolicyUrl': tosAndPrivacyPolicy.privacyPolicyUrl,
/// anonymous
'autoUpgradeAnonymousUsers': autoUpgradeAnonymousUsers,
/// Android
'enableSmartLockForAndroid': androidOption.enableSmartLock,
'showLogoAndroid': androidOption.showLogo,
'overrideThemeAndroid': androidOption.overrideTheme,
/// Web
'webPageTitle': webAuthOption.pageTitle,
'webAuthenticationPath': webAuthOption.authenticationPath,
/// EmailLink
'emailLinkRequireDisplayName': emailAuthOption.requireDisplayName,
'emailLinkEnableEmailLink': emailAuthOption.enableMailLink,
'emailLinkHandleURL': emailAuthOption.handleURL,
'emailLinkAndroidPackageName': emailAuthOption.androidPackageName,
'emailLinkAndroidMinimumVersion':
emailAuthOption.androidMinimumVersion,
},
);
if (data == null) return false;
return data;
} on Exception catch (e) {
debugPrint('flutter_auth_ui: error => $e');
return false;
}
}