FirebaseUI का इस्तेमाल करके, अपने iOS ऐप्लिकेशन में आसानी से साइन इन करने की सुविधा जोड़ें

FirebaseUI एक लाइब्रेरी है जो इस्तेमाल करने के लिए ड्रॉप-इन यूज़र इंटरफ़ेस (यूआई) फ़्लो उपलब्ध कराता है. आपके ऐप्लिकेशन में. FirebaseUI से ये फ़ायदे मिलते हैं:

  • एक से ज़्यादा सेवा देने वाली कंपनियां: ईमेल/पासवर्ड, ईमेल लिंक, फ़ोन के लिए साइन-इन करने की प्रक्रिया की पुष्टि करें, Google साइन-इन, Facebook लॉगिन, और Twitter लॉगिन.
  • खाते का मैनेजमेंट: खाते को मैनेज करने से जुड़े टास्क मैनेज करने के लिए फ़्लो, जैसे कि खाता बनाना और पासवर्ड फिर से सेट करना.
  • पहचान छिपाकर खाता लिंक करने की सुविधा: पहचान छिपाकर 'खाते को लिंक करने का तरीका' अपने-आप लिंक होने की सुविधा पहचान देने वाली कंपनियों के लिए कर सकते हैं.
  • पसंद के मुताबिक बनाया जा सकता है: अपने ऐप्लिकेशन से मैच करने के लिए, FirebaseUI के लुक को पसंद के मुताबिक बनाएं. साथ ही, FirebaseUI ओपन सोर्स है. इसलिए, प्रोजेक्ट को फ़ोर्क किया जा सकता है और उसे पसंद के मुताबिक बनाया जा सकता है आपकी ज़रूरतों के हिसाब से.

शुरू करने से पहले

  1. अपने Apple प्रोजेक्ट में Firebase जोड़ें.

  2. अपनी Podfile में FirebaseUI जोड़ें:

    pod 'FirebaseUI'
    

    अगर आप चाहें, तो सिर्फ़ पुष्टि करने वाला कॉम्पोनेंट और सेवा देने वाली उन कंपनियों को जोड़ा जा सकता है जिन्हें आपने जोड़ा है इस टूल का इस्तेमाल करना है:

    pod 'FirebaseUI/Auth'
    
    pod 'FirebaseUI/Google'
    pod 'FirebaseUI/Facebook'
    pod 'FirebaseUI/OAuth' # Used for Sign in with Apple, Twitter, etc
    pod 'FirebaseUI/Phone'
    
  3. अगर आपने अभी तक अपने ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट नहीं किया है, तो Firebase कंसोल.

साइन-इन करने के तरीके सेट अप करना

उपयोगकर्ताओं को साइन इन करने के लिए Firebase का इस्तेमाल करने से पहले, आपको साइन-इन करने के ऐसे तरीके जिन्हें इस्तेमाल करने का विकल्प आपके पास है.

ईमेल पता और पासवर्ड

Firebase console में, पुष्टि करें सेक्शन खोलें और ईमेल पाने की सुविधा चालू करें और पासवर्ड की पुष्टि करता है.

  1. Firebase कंसोल में, पुष्टि करना सेक्शन खोलें. इस साइन इन करने का तरीका टैब में, ईमेल/पासवर्ड की सेवा देने वाली कंपनी को चालू करें. नोट जोड़ें ईमेल लिंक से साइन-इन करने के लिए, ईमेल या पासवर्ड से साइन-इन करने की सुविधा चालू होनी चाहिए.

  2. इसी सेक्शन में, ईमेल लिंक (बिना पासवर्ड के साइन इन) से साइन-इन करने की सुविधा चालू करें तरीका और सेव करें पर क्लिक करें.

  3. FUIEmailAuth शुरू करके, ईमेल के लिंक में साइन इन करने की सुविधा चालू की जा सकती है FIREmailLinkAuthSignInMethod के साथ इंस्टेंस. आपको यह भी बताना होगा कि एक मान्य FIRActionCodeSettings ऑब्जेक्ट, जिसमें handleCodeInApp को 'सही' पर सेट किया गया है.

Swift

var actionCodeSettings = ActionCodeSettings()
actionCodeSettings.url = URL(string: "https://example.appspot.com")
actionCodeSettings.handleCodeInApp = true
actionCodeSettings.setAndroidPackageName("com.firebase.example", installIfNotAvailable: false, minimumVersion: "12")

let provider = FUIEmailAuth(authUI: FUIAuth.defaultAuthUI()!,
                            signInMethod: FIREmailLinkAuthSignInMethod,
                            forceSameDevice: false,
                            allowNewEmailAccounts: true,
                            actionCodeSetting: actionCodeSettings)

Objective-C

FIRActionCodeSettings *actionCodeSettings = [[FIRActionCodeSettings alloc] init];
actionCodeSettings.URL = [NSURL URLWithString:@"https://example.appspot.com"];
actionCodeSettings.handleCodeInApp = YES;
[actionCodeSettings setAndroidPackageName:@"com.firebase.example"
                    installIfNotAvailable:NO
                           minimumVersion:@"12"];

id<FUIAuthProvider> provider = [[FUIEmailAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]
                                                       signInMethod:FIREmailLinkAuthSignInMethod
                                                    forceSameDevice:NO
                                              allowNewEmailAccounts:YES
                                                  actionCodeSetting:actionCodeSettings];
  1. इसके अलावा, आपको उस यूआरएल को व्हाइटलिस्ट (अनुमति वाली सूची) करना होगा जिसे आपने Iniatializer में भेजा है. Firebase कंसोल में जाकर ऐसा किया जा सकता है. इसके बाद, पुष्टि करने की सुविधा खोलें सेक्शन में जाएं. साइन इन करने का तरीका टैब पर, यूआरएल अनुमति वाले डोमेन.

  2. डीप लिंक समझने के बाद, आपको उसे पुष्टि करने वाले यूज़र इंटरफ़ेस (यूआई) पर भेजना होगा, ताकि यह मैनेज किया जा सकता है.

Swift

FUIAuth.defaultAuthUI()!.handleOpen(url, sourceApplication: sourceApplication)

Objective-C

[[FUIAuth defaultAuthUI] handleOpenURL:url sourceApplication:sourceApplication];
  1. FirebaseUI-iOS में ईमेल लिंक से साइन-इन करने की सुविधा इनके साथ काम करती है FirebaseUI-Android और Firebaseयूआई-वेब जहां FirebaseUI-Android से फ़्लो शुरू करने वाला उपयोगकर्ता, लिंक को खोल सकता है और FirebaseUI-web से साइन इन की प्रक्रिया पूरी करें. विपरीत स्थिति पर भी यही बात लागू होती है फ़्लो.

Apple

  1. शुरू करने से पहले पहले और Apple पर डेटा से मैच करने से पहले यह तरीका अपनाएं ज़रूरी जानकारी वाले सेक्शन में Firebase Apple से साइन इन करें गाइड देखें.

  2. अपनी एनटाइटलमेंट फ़ाइल में, 'Apple से साइन इन करें' सुविधा जोड़ें.

  3. 'Apple से साइन इन करें' सुविधा के लिए, कॉन्फ़िगर किए गए OAuth प्रोवाइडर के इंस्टेंस को शुरू करें:

    Swift

    provider = FUIOAuth.appleAuthProvider()
    

    Objective-C

    FUIOAuth *provider = [FUIOAuth appleAuthProvider];
    

Google

  1. इस ट्यूटोरियल का इस्तेमाल करके 'Google साइन-इन' को सेट अप करना

Facebook

  1. नीचे दिए गए निर्देशों का पालन करके, Facebook लॉगिन SDK टूल सेट अप करें Facebook का शुरुआती पेज.

  2. Firebase console में, पुष्टि करने की सुविधा सेक्शन खोलें और Facebook. Facebook में साइन इन करने के लिए, आपको अपना Facebook ऐप्लिकेशन आईडी देना होगा ऐप्लिकेशन सीक्रेट भी उपलब्ध है. इसे Facebook Developers Console पर देखा जा सकता है.

  3. प्रोजेक्ट सेटिंग > सुविधाएं स्क्रीन.

  4. fbFACEBOOK_APP_ID को अपने Xcode प्रोजेक्ट चुनें.

  5. Info.plist फ़ाइल में अपना Facebook ऐप्लिकेशन आईडी और डिसप्ले नेम जोड़ें:

    की मान
    Facebookऐप्लिकेशनआईडी FACEBOOK_APP_ID (उदाहरण के लिए, 1234567890)
    Facebookडिसप्लेनाम आपके ऐप्लिकेशन का नाम
  6. Facebook प्रोवाइडर इंस्टेंस शुरू करें:

    Swift

    provider = FUIFacebookAuth(authUI: FUIAuth.defaultAuthUI())
    

    Objective-C

    FUIFacebookAuth *provider = [[FUIFacebookAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]];
    

  7. अगर आपको डिजिटल विज्ञापन दिखाने Facebook का लिमिटेड लॉगिन, FUIFacebookAuth इंस्टेंस पर useLimitedLogin प्रॉपर्टी सेट करें.

    Swift

    provider.useLimitedLogin = true
    

    Objective-C

    provider.useLimitedLogin = YES;
    

Twitter

  1. Firebase console में, पुष्टि करने की सुविधा सेक्शन खोलें और Twitter. Twitter में साइन-इन करने की सुविधा चालू करने के लिए, आपको अपना Twitter API देना होगा उपभोक्ता कुंजी और सीक्रेट, जो आपको Twitter ऐप्लिकेशन में मिल सकते हैं प्रबंधन कंसोल.

  2. Twitter लॉगिन के लिए कॉन्फ़िगर किए गए OAuth प्रोवाइडर इंस्टेंस को शुरू करें:

    Swift

    provider = FUIOAuth.twitterAuthProvider()
    

    Objective-C

    FUIOAuth *provider = [FUIOAuth twitterAuthProvider];
    

फ़ोन नंबर

  1. Firebase console में, पुष्टि करने की सुविधा सेक्शन खोलें और फ़ोन नंबर से साइन-इन करें.

  2. Firebase को यह पुष्टि करनी होगी कि फ़ोन नंबर में साइन-इन करने के अनुरोध आपके ऐप्लिकेशन से मिल रहा है. ऐसा करने के लिए, एपीएन का इस्तेमाल किया जा सकता है नोटिफ़िकेशन. यहां जाएं: ऐप्लिकेशन की पुष्टि चालू करना देखें.

    Firebase Authentication के साथ इस्तेमाल करने से जुड़ी एपीएन की सूचनाएं पाने की सुविधा चालू करने के लिए:

    1. Xcode में, पुश नोटिफ़िकेशन चालू करें आपके प्रोजेक्ट के लिए.

    2. अपनी एपीएन की पुष्टि करने वाली कुंजी को Firebase पर अपलोड करें. अगर आपके पास पहले से एपीएन की पुष्टि करने वाली कुंजी नहीं है, तो पक्का करें कि आपने Apple डेवलपर सदस्य केंद्र.

      1. Firebase कंसोल में अपने प्रोजेक्ट के अंदर, गियर आइकॉन, चुनें प्रोजेक्ट सेटिंग पर क्लिक करें और फिर क्लाउड से मैसेज टैब.

      2. iOS ऐप्लिकेशन कॉन्फ़िगरेशन में, APNs पुष्टि कुंजी में, अपलोड करें पर क्लिक करें बटन.

      3. उस जगह ब्राउज़ करें जहां आपने सुरक्षा कुंजी सेव की है. इसके बाद, उसे चुनें और खोलें. कुंजी के लिए कुंजी आईडी जोड़ें (यहां उपलब्ध है Apple Developer member Center) और अपलोड करें.

      अगर आपके पास पहले से कोई एपीएन सर्टिफ़िकेट है, तो उसे अपलोड किया जा सकता है आज़माएं.

  3. जब किसी डिवाइस पर एपीएन से जुड़ी सूचनाएं नहीं मिल पाती हैं, तो Firebase इनका इस्तेमाल करता है अनुरोधों की पुष्टि करने के लिए reCAPTCHA का इस्तेमाल करें.

    reCAPTCHA की मदद से पुष्टि करने के लिए, Xcode में यह तरीका अपनाएं:

    1. अपना प्रोजेक्ट कॉन्फ़िगरेशन खोलें: इसमें प्रोजेक्ट के नाम पर दो बार क्लिक करें बायां ट्री व्यू. टारगेट सेक्शन में जाकर अपना ऐप्लिकेशन चुनें. इसके बाद, जानकारी टैब चुनकर यूआरएल के टाइप सेक्शन को बड़ा करें.
    2. + बटन पर क्लिक करें और कोड में बदले गए अपने ऐप्लिकेशन आईडी को यूआरएल के तौर पर जोड़ें स्कीम. अपना एन्कोडेड ऐप्लिकेशन आईडी यहां देखा जा सकता है: सामान्य Firebase कंसोल की सेटिंग पेज. यह आपके iOS के सेक्शन में है. दूसरे फ़ील्ड खाली छोड़ दें.

      पूरा होने पर, आपका कॉन्फ़िगरेशन कुछ ऐसा दिखेगा (लेकिन आपके ऐप्लिकेशन-विशिष्ट मानों के साथ):

      Xcode के कस्टम यूआरएल स्कीम के सेटअप इंटरफ़ेस का स्क्रीनशॉट
  4. ज़रूरी नहीं: Firebase आपकी ऐप्लिकेशन का एपीएन टोकन, जो Firebase को साइलेंट पुश नोटिफ़िकेशन को मैनेज करने के लिए होता है आपके ऐप्लिकेशन पर भेजता है. साथ ही, कस्टम स्कीम रीडायरेक्ट को अपने-आप रोकने के लिए को इस तरह से सेव किया जा सकता है.

    अगर आपको स्विज़लिंग का इस्तेमाल नहीं करना है, तो अपेंडिक्स: स्विज़लिंग के बिना फ़ोन साइन इन का इस्तेमाल करना देखें की समीक्षा करें.

साइन इन करें

FirebaseUI साइन इन फ़्लो को शुरू करने के लिए, पहले FirebaseUI शुरू करें:

Swift

import FirebaseAuthUI

/* ... */

FirebaseApp.configure()
let authUI = FUIAuth.defaultAuthUI()
// You need to adopt a FUIAuthDelegate protocol to receive callback
authUI.delegate = self

Objective-C

@import FirebaseAuthUI;

...

[FIRApp configure];
FUIAuth *authUI = [FUIAuth defaultAuthUI];
// You need to adopt a FUIAuthDelegate protocol to receive callback
authUI.delegate = self;

इसके बाद, साइन-इन करने के उन तरीकों का इस्तेमाल करने के लिए FirebaseUI को कॉन्फ़िगर करें जिनके साथ आपको काम करना है:

Swift

import FirebaseAuthUI
import FirebaseFacebookAuthUI
import FirebaseGoogleAuthUI
import FirebaseOAuthUI
import FirebasePhoneAuthUI

let providers: [FUIAuthProvider] = [
  FUIGoogleAuth(),
  FUIFacebookAuth(),
  FUITwitterAuth(),
  FUIPhoneAuth(authUI:FUIAuth.defaultAuthUI()),
]
self.authUI.providers = providers

Objective-C

@import FirebaseAuthUI;
@import FirebaseFacebookAuthUI;
@import FirebaseGoogleAuthUI;
@import FirebaseOAuthUI;
@import FirebasePhoneAuthUI;

...

NSArray<id<FUIAuthProvider>> *providers = @[
  [[FUIGoogleAuth alloc] init],
  [[FUIFacebookAuth alloc] init],
  [[FUITwitterAuth alloc] init],
  [[FUIPhoneAuth alloc] initWithAuthUI:[FUIAuth defaultAuthUI]]
];
_authUI.providers = providers;

अगर आपने Google या Facebook में साइन-इन करने की सुविधा चालू की है, तो इसके नतीजे के लिए हैंडलर को लागू करें Google और Facebook साइन-अप फ़्लो:

Swift

func application(_ app: UIApplication, open url: URL,
    options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
  let sourceApplication = options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String?
  if FUIAuth.defaultAuthUI()?.handleOpen(url, sourceApplication: sourceApplication) ?? false {
    return true
  }
  // other URL handling goes here.
  return false
}

Objective-C

- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary *)options {
  NSString *sourceApplication = options[UIApplicationOpenURLOptionsSourceApplicationKey];
  return [[FUIAuth defaultAuthUI] handleOpenURL:url sourceApplication:sourceApplication];
}

आखिर में, FUIAuth से AuthViewController का एक इंस्टेंस पाएं. इसके बाद आप उसे अपने ऐप्लिकेशन के पहले व्यू कंट्रोलर के तौर पर प्रज़ेंट करें या आपके ऐप्लिकेशन में एक और व्यू कंट्रोलर को भी ऐक्सेस किया जा सकता है.

Swift

साइन इन करने का तरीका चुनने वाला टूल पाने के लिए:

let authViewController = authUI.authViewController()

अगर सिर्फ़ फ़ोन नंबर से साइन इन करने की सुविधा इस्तेमाल की जाती है, तो आपके पास वह फ़ोन नंबर दिखाने की सुविधा होती है इसके बजाय सीधे साइन-इन दृश्य:

let phoneProvider = FUIAuth.defaultAuthUI().providers.first as! FUIPhoneAuth
phoneProvider.signIn(withPresenting: currentlyVisibleController, phoneNumber: nil)

Objective-C

साइन इन करने का तरीका चुनने वाला टूल पाने के लिए:

UINavigationController *authViewController = [authUI authViewController];

अगर सिर्फ़ फ़ोन नंबर से साइन इन करने की सुविधा इस्तेमाल की जाती है, तो आपके पास वह फ़ोन नंबर दिखाने की सुविधा होती है इसके बजाय सीधे साइन-इन दृश्य:

FUIPhoneAuth *phoneProvider = [FUIAuth defaultAuthUI].providers.firstObject;
[phoneProvider signInWithPresentingViewController:currentlyVisibleController phoneNumber:nil];

जब पुष्टि करने वाला व्यू प्रज़ेंट किया जाता है और उपयोगकर्ता साइन इन कर लेता है, तब इसका नतीजा यह होता है didSignInWithUser:error: में FirebaseUI पुष्टि करने वाले को वापस भेजा गया तरीका:

Swift

func authUI(_ authUI: FUIAuth, didSignInWith user: FIRUser?, error: Error?) {
  // handle user and error as necessary
}

Objective-C

   - (void)authUI:(FUIAuth *)authUI
didSignInWithUser:(nullable FIRUser *)user
            error:(nullable NSError *)error {
  // Implement this method to handle signed in user or error if any.
}

साइन आउट करें

FirebaseUI, Firebase से पुष्टि करने की सुविधा से साइन आउट करने के लिए आसान तरीके उपलब्ध कराता है साथ ही, सोशल मीडिया की सेवा देने वाली सभी कंपनियों के लिए:

Swift

authUI.signOut()

Objective-C

[authUI signOut];

पसंद के मुताबिक बनाएं

FirebaseUI व्यू को सब-क्लास करके, साइन-इन स्क्रीन को पसंद के मुताबिक बनाया जा सकता है कंट्रोलर और उन्हें FUIAuth के डेलिगेट के तरीकों में तय करना:

Swift

func authPickerViewController(forAuthUI authUI: FUIAuth) -> FUIAuthPickerViewController {
  return FUICustomAuthPickerViewController(nibName: "FUICustomAuthPickerViewController",
                                           bundle: Bundle.main,
                                           authUI: authUI)
}

func emailEntryViewController(forAuthUI authUI: FUIAuth) -> FUIEmailEntryViewController {
  return FUICustomEmailEntryViewController(nibName: "FUICustomEmailEntryViewController",
                                           bundle: Bundle.main,
                                           authUI: authUI)
}

func passwordRecoveryViewController(forAuthUI authUI: FUIAuth, email: String) -> FUIPasswordRecoveryViewController {
  return FUICustomPasswordRecoveryViewController(nibName: "FUICustomPasswordRecoveryViewController",
                                                 bundle: Bundle.main,
                                                 authUI: authUI,
                                                 email: email)
}

func passwordSignInViewController(forAuthUI authUI: FUIAuth, email: String) -> FUIPasswordSignInViewController {
  return FUICustomPasswordSignInViewController(nibName: "FUICustomPasswordSignInViewController",
                                               bundle: Bundle.main,
                                               authUI: authUI,
                                               email: email)
}

func passwordSignUpViewController(forAuthUI authUI: FUIAuth, email: String) -> FUIPasswordSignUpViewController {
  return FUICustomPasswordSignUpViewController(nibName: "FUICustomPasswordSignUpViewController",
                                               bundle: Bundle.main,
                                               authUI: authUI,
                                               email: email)
}

func passwordVerificationViewController(forAuthUI authUI: FUIAuth, email: String, newCredential: AuthCredential) -> FUIPasswordVerificationViewController {
  return FUICustomPasswordVerificationViewController(nibName: "FUICustomPasswordVerificationViewController",
                                                     bundle: Bundle.main,
                                                     authUI: authUI,
                                                     email: email,
                                                     newCredential: newCredential)
}

Objective-C

- (FUIAuthPickerViewController *)authPickerViewControllerForAuthUI:(FUIAuth *)authUI {
  return [[FUICustomAuthPickerViewController alloc] initWithNibName:@"FUICustomAuthPickerViewController"
                                                             bundle:[NSBundle mainBundle]
                                                             authUI:authUI];
}

- (FUIEmailEntryViewController *)emailEntryViewControllerForAuthUI:(FUIAuth *)authUI {
  return [[FUICustomEmailEntryViewController alloc] initWithNibName:@"FUICustomEmailEntryViewController"
                                                             bundle:[NSBundle mainBundle]
                                                             authUI:authUI];

}

- (FUIPasswordSignInViewController *)passwordSignInViewControllerForAuthUI:(FUIAuth *)authUI
                                                                     email:(NSString *)email {
  return [[FUICustomPasswordSignInViewController alloc] initWithNibName:@"FUICustomPasswordSignInViewController"
                                                                 bundle:[NSBundle mainBundle]
                                                                 authUI:authUI
                                                                  email:email];

}

- (FUIPasswordSignUpViewController *)passwordSignUpViewControllerForAuthUI:(FUIAuth *)authUI
                                                                     email:(NSString *)email {
  return [[FUICustomPasswordSignUpViewController alloc] initWithNibName:@"FUICustomPasswordSignUpViewController"
                                                                 bundle:[NSBundle mainBundle]
                                                                 authUI:authUI
                                                                  email:email];

}

- (FUIPasswordRecoveryViewController *)passwordRecoveryViewControllerForAuthUI:(FUIAuth *)authUI
                                                                         email:(NSString *)email {
  return [[FUICustomPasswordRecoveryViewController alloc] initWithNibName:@"FUICustomPasswordRecoveryViewController"
                                                                   bundle:[NSBundle mainBundle]
                                                                   authUI:authUI
                                                                    email:email];

}

- (FUIPasswordVerificationViewController *)passwordVerificationViewControllerForAuthUI:(FUIAuth *)authUI
                                                                                 email:(NSString *)email
                                                                         newCredential:(FIRAuthCredential *)newCredential {
  return [[FUICustomPasswordVerificationViewController alloc] initWithNibName:@"FUICustomPasswordVerificationViewController"
                                                                       bundle:[NSBundle mainBundle]
                                                                       authUI:authUI
                                                                        email:email
                                                                newCredential:newCredential];
}

आप URL को अपने ऐप्लिकेशन की सेवा की शर्तों के अनुसार कस्टमाइज़ कर सकते हैं, जो खाता बनाने वाली स्क्रीन:

Swift

let kFirebaseTermsOfService = URL(string: "https://example.com/terms")!
authUI.tosurl = kFirebaseTermsOfService

Objective-C

authUI.TOSURL = [NSURL URLWithString:@"https://example.com/terms"];

आखिर में, उपयोगकर्ताओं को दिखाए जाने वाले मैसेज और प्रॉम्प्ट को पसंद के मुताबिक बनाया जा सकता है. इसके लिए, कस्टम बंडल दर्ज करें:

Swift

authUI.customStringsBundle = NSBundle.mainBundle() // Or any custom bundle.

Objective-C

authUI.customStringsBundle = [NSBundle mainBundle]; // Or any custom bundle.

अगले चरण

  • FirebaseUI का इस्तेमाल करने और उसे पसंद के मुताबिक बनाने के बारे में ज़्यादा जानकारी के लिए, यह देखें रीडमी GitHub पर मौजूद फ़ाइल में.
  • अगर आपको FirebaseUI में कोई समस्या मिलती है और उसकी शिकायत करनी है, तो इसका इस्तेमाल करें: GitHub से जुड़ी समस्या को ट्रैक करने वाला टूल.