B4A Library Firebase UI Auth - a new Dimension in Authentication

This is a Wrap for the Firebase UI-bindings found at Github.

It offers Authentification using
- Google-Account (Tested)
- email and password authentification (Tested)
- Telephone-Authentification (Tested)
- Twitter (Not tested as i do not have a Twitter-Dev Account)
- Facebook (Not tested as i do not have a Facebookr-Dev Account)
- Authentification using a Custom Token generated by the FirebaseAdmin SDK (B4J Library currently in Beta)

For the last two (Twitter and Facebook) there must be made additional changes to the Manifest.

Requirements:
- B4A 7.8+
- Manifestchanges needed!
- You app needs to be AppCompat enabled (must use AppCompat)

Mandatory:
- Prepare your app to use Firebase. https://www.b4x.com/android/forum/threads/integrating-firebase-services.67692/#content
- Google Play Services Base - Snippet
- Firebase Base - Snippet
- Firebase Auth - Snippet
- Additional Manifestentries for the firebase-UI bindings

Add this line to your Manifest to define the needed Firebase UI Activities.

B4X:
CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
CreateResourceFromFile(Macro, FirebaseUI.uibindings)

- Mandatory additional Jars needed to the B4A Code

B4X:
#AdditionalJar: androidx.legacy:legacy-support-core-utils
#AdditionalJar: androidx.annotation:annotation
#AdditionalJar: androidx.core:core
#AdditionalJar: androidx.appcompat:appcompat
#AdditionalJar: androidx.legacy:legacy-support-v4
#AdditionalJar: android.arch.lifecycle:extensions
#AdditionalJar: androidx.browser:browser
#AdditionalJar: androidx.cardview:cardview
#AdditionalJar: androidx.constraintlayout:constraintlayout
#AdditionalJar: com.google.android.material:material
#AdditionalJar: com.google.android.gms:play-services-auth
#AdditionalJar: com.google.firebase:firebase-core
#AdditionalJar: com.google.firebase:firebase-auth
#AdditionalJar: firebase-ui-auth-6.2.0.aar
#AdditionalJar: materialprogressbar-1.6.1.aar

#AdditionalRes: ..\res.FirebaseUI, com.firebase.ui.auth

Basically you setup the allowed Auth methods with this Code:
B4X:
    Dim ib As SignInIntentBuilder
    ib.Initialize("",fbauth.createSignInIntentBuilder)

    ib.addProvider(ib.IdpEMAIL_PROVIDER)
    ib.addProvider(ib.IdpPHONE_VERIFICATION_PROVIDER)
    ib.addProvider(ib.IdpANONYMOUS_PROVIDER)
    ib.addProvider(ib.getIdpGOOGLE_PROVIDER("xxxx-yyyy.apps.googleusercontent.com"))
    'ib.addProvider(ib.IdpTWITTER_PROVIDER)
    'ib.addProvider(ib.IdpFACEBOOK_PROVIDER)
    Dim intent As Intent
    intent = ib.setIsSmartLockEnabled2(False,True).setAvailableProviders(ib.Providerlist).setTosUrl("http://URLtoTOS").setPrivacyPolicyUrl("http://URLtoTOS").build
    StartActivity(intent)

NOTES:
- To use Google Authentification with this lib you need to provide the default_web_client id.

You can find the Value in the google-services.json

1. Open the google-services.json with Notepad++
2. Search for your apps packagename, you´ll find a snippet like this
"client_info": {
"mobilesdk_app_id": "1:888939569991:android:83f82a2b632ab8bf",
"android_client_info": {
"package_name": "de.donmanfred.fbui"
}
},
"oauth_client": [
{
"client_id": "dddd-ffff.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "de.donmanfred.fbui",
"certificate_hash": "hhhh"
}
},
{
"client_id": "xxxx-yyyy.apps.googleusercontent.com",
"client_type": 3
}
3. We are interested in the value of client_id from which client_type is 3.
4. Copy the value and use it in the getIdpGOOGLE_PROVIDER call above.

It will result in a Auth-Selection

WhatsApp Image 2017-12-23 at 08.39.48.jpeg

Using email
WhatsApp Image 2017-12-23 at 08.43.59.jpeg

Using new email:
WhatsApp Image 2017-12-23 at 08.45.26.jpeg


FirebaseUI

Author: DonManfred (wrapper)
Version: 0.6
  • FirebaseOptions
    • Functions:
      • Initialize (apiKey As String, appID As String, dbUrl As String, GcmsenderID As String, bucketID As String) As com.google.firebase.FirebaseOptions
  • FirebaseUI
    • Events:
      • AccessTokenAvailable (success As Boolean, token As String)
      • IdTokenChanged (user As FirebaseUser)
      • ResetPassword (success As Boolean)
      • SignedIn (user As FirebaseUser)
      • SignedOut()
      • TokenAvailable (user As FirebaseUser, success As Boolean, token As String)
      • UpdateEmail (success As Boolean, email As String)
      • UpdatePassword (success As Boolean, password As String)
      • UpdateProfile (success As Boolean, request As Object)
    • Functions:
      • AddIdTokenListener (listener As com.google.firebase.auth.FirebaseAuth.IdTokenListener)
      • AddListener (listener As com.google.firebase.auth.FirebaseAuth.AuthStateListener)
      • CreateIdTokenListener As com.google.firebase.auth.FirebaseAuth.IdTokenListener
      • CreateListener As com.google.firebase.auth.FirebaseAuth.AuthStateListener
      • createSignInIntentBuilder As com.firebase.ui.auth.AuthUI.SignInIntentBuilder
      • Initialize (EventName As String, defaultClient As String)
      • RemoveIdTokenListener (listener As com.google.firebase.auth.FirebaseAuth.IdTokenListener)
      • RemoveListener (listener As com.google.firebase.auth.FirebaseAuth.AuthStateListener)
      • sendPasswordResetEmail (email As String)
      • SendSigninIntent (signin As Intent)
      • signInWithCustomToken (token As String)
      • signOut
      • updateEmail (newEmail As String)
      • updatePassword (newPassword As String)
    • Properties:
      • CurrentUser As FirebaseUser [read only]
      • LanguageCode As String [write only]
  • FirebaseUser
    • Functions:
      • isAnonymous As Boolean
      • IsInitialized As Boolean
      • sendEmailVerification
    • Properties:
      • DisplayName As String [read only]
      • Email As String [read only]
      • PhoneNumber As String [read only]
      • PhotoUrl As String [read only]
      • Uid As String [read only]
  • GoogleBuilder
    • Functions:
      • BARef As GoogleBuilder
      • build As com.firebase.ui.auth.AuthUI.IdpConfig
      • DefaultWebClient (client As String) As GoogleBuilder
      • setScopes (scopes As java.util.List) As GoogleBuilder
        Set the scopes that your app will request when using Google sign-in. See all <a
        href="https://developers.google.com/identity/protocols/googlescopes">available
        scopes</a>.
        scopes: additional scopes to be requested
      • setSignInOptions (options As com.google.android.gms.auth.api.signin.GoogleSignInOptions) As GoogleBuilder
        Set the {@link GoogleSignInOptions} to be used for Google sign-in. Standard
        options like requesting the user's email will automatically be added.
        options: sign-in options
    • Properties:
      • Params As android.os.Bundle [read only]
      • ProviderId As String [write only]
  • SignInIntentBuilder
    • Functions:
      • addProvider (provider As com.firebase.ui.auth.AuthUI.IdpConfig)
      • build As Intent
      • clearProvider
      • getIdpGOOGLE_PROVIDER (client As String) As com.firebase.ui.auth.AuthUI.IdpConfig

        client:
        Return type: @return:config
      • GetIdpGOOGLE_PROVIDER2 (client As String, scopes As String()) As com.firebase.ui.auth.AuthUI.IdpConfig
      • GetIdpGOOGLE_PROVIDER3 (client As String) As com.firebase.ui.auth.AuthUI.IdpConfig
      • getResourceId (type As String, resourceName As String) As Int
      • Initialize (EventName As String, builder As com.firebase.ui.auth.AuthUI.SignInIntentBuilder)
      • IsInitialized As Boolean
      • setAlwaysShowSignInMethodScreen (alwaysShow As Boolean) As SignInIntentBuilder
      • setAvailableProviders (providers As java.util.List) As SignInIntentBuilder
      • setEmailLink (emailLink As String) As SignInIntentBuilder
      • setIsSmartLockEnabled (enabled As Boolean) As SignInIntentBuilder
      • setIsSmartLockEnabled2 (enableCredentials As Boolean, enableHints As Boolean) As SignInIntentBuilder
      • setLogo (logo As Int) As SignInIntentBuilder
      • setPrivacyPolicyUrl (privacyPolicyUrl As String) As SignInIntentBuilder
      • setTheme (theme As Int) As SignInIntentBuilder
      • setTosUrl (tosUrl As String) As SignInIntentBuilder
    • Properties:
      • IdpANONYMOUS_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpEMAIL_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpFACEBOOK_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpGITHUB_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpPHONE_VERIFICATION_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpTWITTER_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • Providerlist As java.util.List [read only]

The Library is free to use. You can however donate for it if you want :)


Note to download the additional JARs and AARs from here:

 

Attachments

  • FirebaseUIV0.22.zip
    17.1 KB · Views: 394
  • FirebaseUIV0.51.zip
    18.6 KB · Views: 328
  • res.FirebaseUI.zip
    292.6 KB · Views: 405
  • FirebaseUIV0.6.zip
    20.3 KB · Views: 354
Last edited:

mmieher

Active Member
Licensed User
Longtime User
This is a Wrap for the Firebase UI-bindings found at Github.

It offers Authentification using
- Google-Account (Tested)
- email and password authentification (Tested)
- Telephone-Authentification (Tested)
- Twitter (Not tested as i do not have a Twitter-Dev Account)
- Facebook (Not tested as i do not have a Facebookr-Dev Account)
- Authentification using a Custom Token generated by the FirebaseAdmin SDK (B4J Library currently in Beta)

For the last two (Twitter and Facebook) there must be made additional changes to the Manifest.

Requirements:
- B4A 7.8+
- Manifestchanges needed!
- You app needs to be AppCompat enabled (must use AppCompat)

Mandatory:
- Prepare your app to use Firebase. https://www.b4x.com/android/forum/threads/integrating-firebase-services.67692/#content
- Google Play Services Base - Snippet
- Firebase Base - Snippet
- Firebase Auth - Snippet
- Additional Manifestentries for the firebase-UI bindings

Add this line to your Manifest to define the needed Firebase UI Activities.

B4X:
CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
CreateResourceFromFile(Macro, FirebaseUI.uibindings)

- Mandatory additional Jars needed to the B4A Code

B4X:
#AdditionalJar: androidx.legacy:legacy-support-core-utils
#AdditionalJar: androidx.annotation:annotation
#AdditionalJar: androidx.core:core
#AdditionalJar: androidx.appcompat:appcompat
#AdditionalJar: androidx.legacy:legacy-support-v4
#AdditionalJar: android.arch.lifecycle:extensions
#AdditionalJar: androidx.browser:browser
#AdditionalJar: androidx.cardview:cardview
#AdditionalJar: androidx.constraintlayout:constraintlayout
#AdditionalJar: com.google.android.material:material
#AdditionalJar: com.google.android.gms:play-services-auth
#AdditionalJar: com.google.firebase:firebase-core
#AdditionalJar: com.google.firebase:firebase-auth
#AdditionalJar: firebase-ui-auth-6.2.0.aar
#AdditionalJar: materialprogressbar-1.6.1.aar

#AdditionalRes: ..\res.FirebaseUI, com.firebase.ui.auth

Basically you setup the allowed Auth methods with this Code:
B4X:
    Dim ib As SignInIntentBuilder
    ib.Initialize("",fbauth.createSignInIntentBuilder)

    ib.addProvider(ib.IdpEMAIL_PROVIDER)
    ib.addProvider(ib.IdpPHONE_VERIFICATION_PROVIDER)
    ib.addProvider(ib.IdpANONYMOUS_PROVIDER)
    ib.addProvider(ib.getIdpGOOGLE_PROVIDER("xxxx-yyyy.apps.googleusercontent.com"))
    'ib.addProvider(ib.IdpTWITTER_PROVIDER)
    'ib.addProvider(ib.IdpFACEBOOK_PROVIDER)
    Dim intent As Intent
    intent = ib.setIsSmartLockEnabled2(False,True).setAvailableProviders(ib.Providerlist).setTosUrl("http://URLtoTOS").setPrivacyPolicyUrl("http://URLtoTOS").build
    StartActivity(intent)

NOTES:
- To use Google Authentification with this lib you need to provide the default_web_client id.

You can find the Value in the google-services.json

1. Open the google-services.json with Notepad++
2. Search for your apps packagename, you´ll find a snippet like this

3. We are interested in the value of client_id from which client_type is 3.
4. Copy the value and use it in the getIdpGOOGLE_PROVIDER call above.

It will result in a Auth-Selection

View attachment 63070

Using email
View attachment 63071

Using new email:
View attachment 63072


FirebaseUI

Author:
DonManfred (wrapper)
Version: 0.6
  • FirebaseOptions
    • Functions:
      • Initialize (apiKey As String, appID As String, dbUrl As String, GcmsenderID As String, bucketID As String) As com.google.firebase.FirebaseOptions
  • FirebaseUI
    • Events:
      • AccessTokenAvailable (success As Boolean, token As String)
      • IdTokenChanged (user As FirebaseUser)
      • ResetPassword (success As Boolean)
      • SignedIn (user As FirebaseUser)
      • SignedOut()
      • TokenAvailable (user As FirebaseUser, success As Boolean, token As String)
      • UpdateEmail (success As Boolean, email As String)
      • UpdatePassword (success As Boolean, password As String)
      • UpdateProfile (success As Boolean, request As Object)
    • Functions:
      • AddIdTokenListener (listener As com.google.firebase.auth.FirebaseAuth.IdTokenListener)
      • AddListener (listener As com.google.firebase.auth.FirebaseAuth.AuthStateListener)
      • CreateIdTokenListener As com.google.firebase.auth.FirebaseAuth.IdTokenListener
      • CreateListener As com.google.firebase.auth.FirebaseAuth.AuthStateListener
      • createSignInIntentBuilder As com.firebase.ui.auth.AuthUI.SignInIntentBuilder
      • Initialize (EventName As String, defaultClient As String)
      • RemoveIdTokenListener (listener As com.google.firebase.auth.FirebaseAuth.IdTokenListener)
      • RemoveListener (listener As com.google.firebase.auth.FirebaseAuth.AuthStateListener)
      • sendPasswordResetEmail (email As String)
      • SendSigninIntent (signin As Intent)
      • signInWithCustomToken (token As String)
      • signOut
      • updateEmail (newEmail As String)
      • updatePassword (newPassword As String)
    • Properties:
      • CurrentUser As FirebaseUser [read only]
      • LanguageCode As String [write only]
  • FirebaseUser
    • Functions:
      • isAnonymous As Boolean
      • IsInitialized As Boolean
      • sendEmailVerification
    • Properties:
      • DisplayName As String [read only]
      • Email As String [read only]
      • PhoneNumber As String [read only]
      • PhotoUrl As String [read only]
      • Uid As String [read only]
  • GoogleBuilder
    • Functions:
      • BARef As GoogleBuilder
      • build As com.firebase.ui.auth.AuthUI.IdpConfig
      • DefaultWebClient (client As String) As GoogleBuilder
      • setScopes (scopes As java.util.List) As GoogleBuilder
        Set the scopes that your app will request when using Google sign-in. See all <a
        href="https://developers.google.com/identity/protocols/googlescopes">available
        scopes</a>.
        scopes: additional scopes to be requested
      • setSignInOptions (options As com.google.android.gms.auth.api.signin.GoogleSignInOptions) As GoogleBuilder
        Set the {@link GoogleSignInOptions} to be used for Google sign-in. Standard
        options like requesting the user's email will automatically be added.
        options: sign-in options
    • Properties:
      • Params As android.os.Bundle [read only]
      • ProviderId As String [write only]
  • SignInIntentBuilder
    • Functions:
      • addProvider (provider As com.firebase.ui.auth.AuthUI.IdpConfig)
      • build As Intent
      • clearProvider
      • getIdpGOOGLE_PROVIDER (client As String) As com.firebase.ui.auth.AuthUI.IdpConfig

        client:
        Return type: @return:config
      • GetIdpGOOGLE_PROVIDER2 (client As String, scopes As String()) As com.firebase.ui.auth.AuthUI.IdpConfig
      • GetIdpGOOGLE_PROVIDER3 (client As String) As com.firebase.ui.auth.AuthUI.IdpConfig
      • getResourceId (type As String, resourceName As String) As Int
      • Initialize (EventName As String, builder As com.firebase.ui.auth.AuthUI.SignInIntentBuilder)
      • IsInitialized As Boolean
      • setAlwaysShowSignInMethodScreen (alwaysShow As Boolean) As SignInIntentBuilder
      • setAvailableProviders (providers As java.util.List) As SignInIntentBuilder
      • setEmailLink (emailLink As String) As SignInIntentBuilder
      • setIsSmartLockEnabled (enabled As Boolean) As SignInIntentBuilder
      • setIsSmartLockEnabled2 (enableCredentials As Boolean, enableHints As Boolean) As SignInIntentBuilder
      • setLogo (logo As Int) As SignInIntentBuilder
      • setPrivacyPolicyUrl (privacyPolicyUrl As String) As SignInIntentBuilder
      • setTheme (theme As Int) As SignInIntentBuilder
      • setTosUrl (tosUrl As String) As SignInIntentBuilder
    • Properties:
      • IdpANONYMOUS_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpEMAIL_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpFACEBOOK_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpGITHUB_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpPHONE_VERIFICATION_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpTWITTER_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • Providerlist As java.util.List [read only]

The Library is free to use. You can however donate for it if you want :)


Note to download the additional JARs and AARs from here:

This looks fantastic, Don! People keep referring to an example. I cannot find it. In fact, it is always hard to find code examples unless they are attached to the post. Can you help?

Marc
 

mmieher

Active Member
Licensed User
Longtime User
This is a Wrap for the Firebase UI-bindings found at Github.

It offers Authentification using
- Google-Account (Tested)
- email and password authentification (Tested)
- Telephone-Authentification (Tested)
- Twitter (Not tested as i do not have a Twitter-Dev Account)
- Facebook (Not tested as i do not have a Facebookr-Dev Account)
- Authentification using a Custom Token generated by the FirebaseAdmin SDK (B4J Library currently in Beta)

For the last two (Twitter and Facebook) there must be made additional changes to the Manifest.

Requirements:
- B4A 7.8+
- Manifestchanges needed!
- You app needs to be AppCompat enabled (must use AppCompat)

Mandatory:
- Prepare your app to use Firebase. https://www.b4x.com/android/forum/threads/integrating-firebase-services.67692/#content
- Google Play Services Base - Snippet
- Firebase Base - Snippet
- Firebase Auth - Snippet
- Additional Manifestentries for the firebase-UI bindings

Add this line to your Manifest to define the needed Firebase UI Activities.

B4X:
CreateResourceFromFile(Macro, FirebaseAnalytics.GooglePlayBase)
CreateResourceFromFile(Macro, FirebaseAnalytics.Firebase)
CreateResourceFromFile(Macro, FirebaseUI.uibindings)

- Mandatory additional Jars needed to the B4A Code

B4X:
#AdditionalJar: androidx.legacy:legacy-support-core-utils
#AdditionalJar: androidx.annotation:annotation
#AdditionalJar: androidx.core:core
#AdditionalJar: androidx.appcompat:appcompat
#AdditionalJar: androidx.legacy:legacy-support-v4
#AdditionalJar: android.arch.lifecycle:extensions
#AdditionalJar: androidx.browser:browser
#AdditionalJar: androidx.cardview:cardview
#AdditionalJar: androidx.constraintlayout:constraintlayout
#AdditionalJar: com.google.android.material:material
#AdditionalJar: com.google.android.gms:play-services-auth
#AdditionalJar: com.google.firebase:firebase-core
#AdditionalJar: com.google.firebase:firebase-auth
#AdditionalJar: firebase-ui-auth-6.2.0.aar
#AdditionalJar: materialprogressbar-1.6.1.aar

#AdditionalRes: ..\res.FirebaseUI, com.firebase.ui.auth

Basically you setup the allowed Auth methods with this Code:
B4X:
    Dim ib As SignInIntentBuilder
    ib.Initialize("",fbauth.createSignInIntentBuilder)

    ib.addProvider(ib.IdpEMAIL_PROVIDER)
    ib.addProvider(ib.IdpPHONE_VERIFICATION_PROVIDER)
    ib.addProvider(ib.IdpANONYMOUS_PROVIDER)
    ib.addProvider(ib.getIdpGOOGLE_PROVIDER("xxxx-yyyy.apps.googleusercontent.com"))
    'ib.addProvider(ib.IdpTWITTER_PROVIDER)
    'ib.addProvider(ib.IdpFACEBOOK_PROVIDER)
    Dim intent As Intent
    intent = ib.setIsSmartLockEnabled2(False,True).setAvailableProviders(ib.Providerlist).setTosUrl("http://URLtoTOS").setPrivacyPolicyUrl("http://URLtoTOS").build
    StartActivity(intent)

NOTES:
- To use Google Authentification with this lib you need to provide the default_web_client id.

You can find the Value in the google-services.json

1. Open the google-services.json with Notepad++
2. Search for your apps packagename, you´ll find a snippet like this

3. We are interested in the value of client_id from which client_type is 3.
4. Copy the value and use it in the getIdpGOOGLE_PROVIDER call above.

It will result in a Auth-Selection

View attachment 63070

Using email
View attachment 63071

Using new email:
View attachment 63072


FirebaseUI

Author:
DonManfred (wrapper)
Version: 0.6
  • FirebaseOptions
    • Functions:
      • Initialize (apiKey As String, appID As String, dbUrl As String, GcmsenderID As String, bucketID As String) As com.google.firebase.FirebaseOptions
  • FirebaseUI
    • Events:
      • AccessTokenAvailable (success As Boolean, token As String)
      • IdTokenChanged (user As FirebaseUser)
      • ResetPassword (success As Boolean)
      • SignedIn (user As FirebaseUser)
      • SignedOut()
      • TokenAvailable (user As FirebaseUser, success As Boolean, token As String)
      • UpdateEmail (success As Boolean, email As String)
      • UpdatePassword (success As Boolean, password As String)
      • UpdateProfile (success As Boolean, request As Object)
    • Functions:
      • AddIdTokenListener (listener As com.google.firebase.auth.FirebaseAuth.IdTokenListener)
      • AddListener (listener As com.google.firebase.auth.FirebaseAuth.AuthStateListener)
      • CreateIdTokenListener As com.google.firebase.auth.FirebaseAuth.IdTokenListener
      • CreateListener As com.google.firebase.auth.FirebaseAuth.AuthStateListener
      • createSignInIntentBuilder As com.firebase.ui.auth.AuthUI.SignInIntentBuilder
      • Initialize (EventName As String, defaultClient As String)
      • RemoveIdTokenListener (listener As com.google.firebase.auth.FirebaseAuth.IdTokenListener)
      • RemoveListener (listener As com.google.firebase.auth.FirebaseAuth.AuthStateListener)
      • sendPasswordResetEmail (email As String)
      • SendSigninIntent (signin As Intent)
      • signInWithCustomToken (token As String)
      • signOut
      • updateEmail (newEmail As String)
      • updatePassword (newPassword As String)
    • Properties:
      • CurrentUser As FirebaseUser [read only]
      • LanguageCode As String [write only]
  • FirebaseUser
    • Functions:
      • isAnonymous As Boolean
      • IsInitialized As Boolean
      • sendEmailVerification
    • Properties:
      • DisplayName As String [read only]
      • Email As String [read only]
      • PhoneNumber As String [read only]
      • PhotoUrl As String [read only]
      • Uid As String [read only]
  • GoogleBuilder
    • Functions:
      • BARef As GoogleBuilder
      • build As com.firebase.ui.auth.AuthUI.IdpConfig
      • DefaultWebClient (client As String) As GoogleBuilder
      • setScopes (scopes As java.util.List) As GoogleBuilder
        Set the scopes that your app will request when using Google sign-in. See all <a
        href="https://developers.google.com/identity/protocols/googlescopes">available
        scopes</a>.
        scopes: additional scopes to be requested
      • setSignInOptions (options As com.google.android.gms.auth.api.signin.GoogleSignInOptions) As GoogleBuilder
        Set the {@link GoogleSignInOptions} to be used for Google sign-in. Standard
        options like requesting the user's email will automatically be added.
        options: sign-in options
    • Properties:
      • Params As android.os.Bundle [read only]
      • ProviderId As String [write only]
  • SignInIntentBuilder
    • Functions:
      • addProvider (provider As com.firebase.ui.auth.AuthUI.IdpConfig)
      • build As Intent
      • clearProvider
      • getIdpGOOGLE_PROVIDER (client As String) As com.firebase.ui.auth.AuthUI.IdpConfig

        client:
        Return type: @return:config
      • GetIdpGOOGLE_PROVIDER2 (client As String, scopes As String()) As com.firebase.ui.auth.AuthUI.IdpConfig
      • GetIdpGOOGLE_PROVIDER3 (client As String) As com.firebase.ui.auth.AuthUI.IdpConfig
      • getResourceId (type As String, resourceName As String) As Int
      • Initialize (EventName As String, builder As com.firebase.ui.auth.AuthUI.SignInIntentBuilder)
      • IsInitialized As Boolean
      • setAlwaysShowSignInMethodScreen (alwaysShow As Boolean) As SignInIntentBuilder
      • setAvailableProviders (providers As java.util.List) As SignInIntentBuilder
      • setEmailLink (emailLink As String) As SignInIntentBuilder
      • setIsSmartLockEnabled (enabled As Boolean) As SignInIntentBuilder
      • setIsSmartLockEnabled2 (enableCredentials As Boolean, enableHints As Boolean) As SignInIntentBuilder
      • setLogo (logo As Int) As SignInIntentBuilder
      • setPrivacyPolicyUrl (privacyPolicyUrl As String) As SignInIntentBuilder
      • setTheme (theme As Int) As SignInIntentBuilder
      • setTosUrl (tosUrl As String) As SignInIntentBuilder
    • Properties:
      • IdpANONYMOUS_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpEMAIL_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpFACEBOOK_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpGITHUB_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpPHONE_VERIFICATION_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • IdpTWITTER_PROVIDER As com.firebase.ui.auth.AuthUI.IdpConfig [read only]
      • Providerlist As java.util.List [read only]

The Library is free to use. You can however donate for it if you want :)


Note to download the additional JARs and AARs from here:

Ok. I give up. Where can I find these puppies?

B4X:
    #AdditionalJar: firebase-ui-auth-6.2.0.aar
    #AdditionalJar: materialprogressbar-1.6.1.aar
    #AdditionalRes: ..\res.FirebaseUI, com.firebase.ui.auth

Thank you.
 

asubias

Member
Licensed User
Ok. I give up. Where can I find these puppies?

B4X:
    #AdditionalJar: firebase-ui-auth-6.2.0.aar
    #AdditionalJar: materialprogressbar-1.6.1.aar
    #AdditionalRes: ..\res.FirebaseUI, com.firebase.ui.auth

Thank you.
Hi.
You can download the AAR from Maven repo:
The res.FirebaseUI is in the attachments of the first post. The file "res.FirebaseUI.zip"

Kind regards,
Alberto
 

mmieher

Active Member
Licensed User
Longtime User
Hi.
You can download the AAR from Maven repo:
The res.FirebaseUI is in the attachments of the first post. The file "res.FirebaseUI.zip"

Kind regards,
Alberto
Thank you. I got the progress bar just fine. When I try to get the firebase-ui-auth at https://mvnrepository.com/artifact/com.firebaseui/firebase-ui-auth/6.2.0 I get 403 FORBIDDEN. Can't see an obvious place to register and log in.
 
Top