PhoneAuthOptions.Builder

public final class PhoneAuthOptions.Builder


A Builder class for PhoneAuthOptions. Get an instance of this Builder using newBuilder or newBuilder.

Summary

Public constructors

Creates a new Builder

Public methods

@NonNull PhoneAuthOptions

Returns the PhoneAuthOptions that this Builder has constructed.

@NonNull PhoneAuthOptions.Builder
requireSmsValidation(boolean requireSmsValidation)

Specifies whether to force an SMS to be sent for second factor validation.

@NonNull PhoneAuthOptions.Builder

Sets the Activity to which the callbacks are scoped, and with which app verification will be completed.

@NonNull PhoneAuthOptions.Builder

Sets the callbacks to get the status of phone number verification.

@NonNull PhoneAuthOptions.Builder

Sets the ForceResendingToken to force another verification SMS to be sent before the auto-retrieval timeout.

@NonNull PhoneAuthOptions.Builder

Sets the PhoneMultiFactorInfo to use for second factor sign-in.

@NonNull PhoneAuthOptions.Builder

Sets the MultiFactorSession that holds the necessary data to start an SMS verification for multi-factor authentication enrollment or sign in.

@NonNull PhoneAuthOptions.Builder

Sets the phone number for sign-in, sign-up, or second factor enrollment.

@NonNull PhoneAuthOptions.Builder
setTimeout(@NonNull Long timeout, @NonNull TimeUnit unit)

Sets the maximum amount of time you are willing to wait for SMS auto-retrieval to be completed by the library.

Public constructors

Builder

public Builder(@NonNull FirebaseAuth auth)

Creates a new Builder

Parameters
@NonNull FirebaseAuth auth

the FirebaseAuth with which this Builder is associated.

Public methods

build

public @NonNull PhoneAuthOptions build()

Returns the PhoneAuthOptions that this Builder has constructed.

requireSmsValidation

public @NonNull PhoneAuthOptions.Builder requireSmsValidation(boolean requireSmsValidation)

Specifies whether to force an SMS to be sent for second factor validation.

In some cases the phone number can be instantly verified without needing to send or enter a verification code. This feature can be disabled here, and it is enabled by default.

This is only applicable to Multi-Factor Authentication.

setActivity

public @NonNull PhoneAuthOptions.Builder setActivity(@NonNull Activity activity)

Sets the Activity to which the callbacks are scoped, and with which app verification will be completed. This is an optional parameter of the builder, but is required to perform a reCAPTCHA fallback for client verification. If the activity is not set and a reCAPTCHA verification is attempted, a FirebaseAuthMissingActivityForRecaptchaException error is thrown, which can be handled in the onVerificationFailed callback.

setCallbacks

public @NonNull PhoneAuthOptions.Builder setCallbacks(
    @NonNull PhoneAuthProvider.OnVerificationStateChangedCallbacks callbacks
)

Sets the callbacks to get the status of phone number verification. The callbacks will be automatically removed when the specified activity has stopped.

When a test phone number and SMS code pair is set via setAutoRetrievedSmsCodeForPhoneNumber and in the Firebase console, onCodeAutoRetrievalTimeOut will never be triggered.

setForceResendingToken

public @NonNull PhoneAuthOptions.Builder setForceResendingToken(
    @NonNull PhoneAuthProvider.ForceResendingToken forceResendingToken
)

Sets the ForceResendingToken to force another verification SMS to be sent before the auto-retrieval timeout.

setMultiFactorHint

public @NonNull PhoneAuthOptions.Builder setMultiFactorHint(@NonNull PhoneMultiFactorInfo phoneMultiFactorInfo)

Sets the PhoneMultiFactorInfo to use for second factor sign-in.

setMultiFactorSession

public @NonNull PhoneAuthOptions.Builder setMultiFactorSession(@NonNull MultiFactorSession multiFactorSession)

Sets the MultiFactorSession that holds the necessary data to start an SMS verification for multi-factor authentication enrollment or sign in.

When this is set, the verification will be for validating ownership of a phone SMS second factor, not for phone authentication.

setPhoneNumber

public @NonNull PhoneAuthOptions.Builder setPhoneNumber(@NonNull String phoneNumber)

Sets the phone number for sign-in, sign-up, or second factor enrollment.

Parameters
@NonNull String phoneNumber

a phone number that conforms to the E.164 format.

setTimeout

public @NonNull PhoneAuthOptions.Builder setTimeout(@NonNull Long timeout, @NonNull TimeUnit unit)

Sets the maximum amount of time you are willing to wait for SMS auto-retrieval to be completed by the library.

The minimum timeout is 30 seconds, and the maximum timeout is 2 minutes. If you specified a positive value less than 30 seconds, library will default to 30 seconds. Specifying a negative timeout or a timeout that is greater than 120 seconds will result in an being thrown.

Use 0 to disable SMS-auto-retrieval. This will also cause onCodeAutoRetrievalTimeOut to be called immediately.

Parameters
@NonNull Long timeout

the length of the timeout in the units specified by unit.

@NonNull TimeUnit unit

the TimeUnit for the timeout.