ফায়ারবেসআইআই দিয়ে সহজেই আপনার আইওএস অ্যাপে সাইন-ইন যুক্ত করুন

FirebaseUI একটি লাইব্রেরি Firebase প্রমাণীকরণ SDK এর উপরে নির্মিত ড্রপ-ইন UI 'তে আপনার অ্যাপ ব্যবহারের জন্য প্রবাহিত উপলব্ধ রয়েছে। FirebaseUI নিম্নলিখিত সুবিধা প্রদান করে:

  • একাধিক প্রদানকারীর: সাইন-ইন ইমেল / পাসওয়ার্ড, ইমেইল লিঙ্ক, ফোন প্রমাণীকরণ, Google সাইন-ইন, ফেসবুক লগইন, এবং Twitter এ লগইন পথ অতিক্রম করেছে।
  • অ্যাকাউন্ট ম্যানেজমেন্ট: যেমন অ্যাকাউন্ট তৈরি এবং পাসওয়ার্ড রিসেট হিসাবে অ্যাকাউন্ট পরিচালনা টাস্ক, হ্যান্ডেল করতে বয়ে চলে।
  • বেনামী অ্যাকাউন্ট লিঙ্ক: স্বয়ংক্রিয়ভাবে শনাক্ত প্রদানকারীদের বেনামী অ্যাকাউন্ট লিঙ্ক করার বয়ে চলে।
  • স্বনির্ধারিত: আপনার অ্যাপ্লিকেশন মেলে FirebaseUI চেহারা কাস্টমাইজ করুন। এছাড়াও, যেহেতু FirebaseUI ওপেন সোর্স, আপনি প্রকল্পটি কাঁটাচামচ করতে পারেন এবং আপনার প্রয়োজন অনুযায়ী এটি কাস্টমাইজ করতে পারেন।

তুমি শুরু করার আগে

  1. আপনার iOS প্রকল্পে Firebase যোগ করুন

  2. আপনার পডফাইলে FirebaseUI যোগ করুন:

    pod 'FirebaseUI'
    

    যদি আপনি পছন্দ করেন, আপনি শুধুমাত্র Auth কম্পোনেন্ট এবং প্রদানকারীদের আপনি ব্যবহার করতে চান যোগ করতে পারেন:

    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 কনসোল , প্রমাণীকরণ অ w শটি খুলুন ইমেল এবং পাসওয়ার্ড প্রমাণীকরণ সক্ষম করুন।

  1. ইন Firebase কনসোল , প্রমাণীকরণ অধ্যায় খুলুন। পদ্ধতি ট্যাবে সাইন অন, ইমেইল / পাসওয়ার্ড প্রদানকারী সক্রিয় করুন। মনে রাখবেন যে ইমেল লিঙ্ক সাইন-ইন ব্যবহার করতে ইমেইল/পাসওয়ার্ড সাইন-ইন সক্রিয় করতে হবে।

  2. একই বিভাগে, ইমেইল লিঙ্ক (passwordless সাইন-ইন) মেথড সাইন-ইন সক্রিয় এবং সংরক্ষণ ক্লিক করুন।

  3. আপনি একটি আরম্ভের করে ইমেইল লিঙ্ক চিহ্ন সক্ষম করতে পারেন FUIEmailAuth সঙ্গে উদাহরণস্বরূপ FIREmailLinkAuthSignInMethod । এছাড়াও আপনি একটি বৈধ প্রদান করতে হবে FIRActionCodeSettings সঙ্গে বস্তুর handleCodeInApp সত্যতে সেট।

সুইফট

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)

উদ্দেশ্য গ

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. উপরন্তু, আপনি যে ইউআরএলটি ইনিটিয়ালাইজারে পাঠান তাকে হোয়াইটলিস্ট করতে হবে। আপনি তা করতে পারেন Firebase কনসোল , প্রমাণীকরণ অধ্যায় খুলুন। পদ্ধতি ট্যাবে সাইন অন, অনুমোদিত ডোমেইনের অধীনে URL টি যোগ করুন।

  2. একবার আপনি ডিপ লিঙ্কটি ধরলে, আপনাকে এটিকে প্রামাণিক UI- এ পাঠাতে হবে যাতে এটি পরিচালনা করা যায়।

সুইফট

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

উদ্দেশ্য গ

[[FUIAuth defaultAuthUI] handleOpenURL:url sourceApplication:sourceApplication];
  1. ইমেইল লিঙ্ক সাইন-ইন FirebaseUI-iOS এ সঙ্গে সামঞ্জস্যপূর্ণ FirebaseUI-অ্যান্ড্রয়েড এবং FirebaseUI ওয়েব যেখানে একজন ব্যবহারকারী FirebaseUI-Android থেকে প্রবাহ শুরু FirebaseUI ওয়েব দিয়ে সাইন ইন-লিঙ্ক এবং সম্পূর্ণ খুলতে পারেন। বিপরীত প্রবাহের ক্ষেত্রেও একই কথা প্রযোজ্য।

আপেল

  1. শুরু করার আগে অনুসরণ করুন এবং মেনে চলতে অ্যাপল দিয়ে Firebase ডেটা প্রয়োজনীয়তা বিভাগে অনামী সাইন অ্যাপল দিয়ে গাইড।

  2. আপনার এনটাইটেলমেন্ট ফাইলে অ্যাপল ক্ষমতা সহ সাইন ইন যুক্ত করুন।

  3. অ্যাপলের সাথে সাইন ইন করার জন্য কনফিগার করা একটি OAuth প্রদানকারীর সূচনা করুন:

    সুইফট

    provider = FUIOAuth.appleAuthProvider()
    

    উদ্দেশ্য গ

    FUIOAuth *provider = [FUIOAuth appleAuthProvider];
    

গুগল

  1. ইন Firebase কনসোল , প্রমাণীকরণ অ w শটি খুলুন এবং Google সাইন-ইন সক্ষম করুন।

  2. আপনার Xcode প্রকল্পে একটি ইউআরএল স্কিম হিসাবে আপনার বিপরীত ক্লায়েন্ট আইডি যোগ করুন। আপনি এই মান জানতে পারেন GoogleService-Info.plist ফাইল।

ফেসবুক

  1. অনুসরণ করে ফেসবুক লগইন SDK এর সেট আপ করুন ফেসবুকের শুরু করা পৃষ্ঠায়

  2. ইন Firebase কনসোল , প্রমাণীকরণ অ w শটি খুলুন এবং ফেসবুক সক্রিয় করুন। ফেসবুক সাইন-ইন সক্ষম করতে, আপনাকে অবশ্যই আপনার ফেসবুক অ্যাপ আইডি এবং অ্যাপ সিক্রেট প্রদান করতে হবে, যা আপনি ফেসবুক ডেভেলপার কনসোলে পেতে পারেন।

  3. প্রকল্প সেটিংস> কেপেবিলিটিস স্ক্রীন থেকে আপনার Xcode প্রকল্পে Keychain ভাগ করা সক্ষম করুন।

  4. যোগ fb FACEBOOK_APP_ID আপনার Xcode প্রকল্পে একটি URL স্কিম হিসাবে।

  5. আপনার Facebook অ্যাপ আইডি ও ডিসপ্লে নাম যোগ করুন Info.plist ফাইল:

    চাবি মান
    FacebookAppID FACEBOOK_APP_ID (উদাহরণস্বরূপ, 1234567890 )
    ফেসবুক ডিসপ্লে নাম আপনার অ্যাপের নাম

টুইটার

  1. ইন Firebase কনসোল , প্রমাণীকরণ অ w শটি খুলুন এবং টুইটার সক্ষম করুন। টুইটার সাইন-ইন সক্ষম করতে, আপনাকে অবশ্যই আপনার টুইটার এপিআই গ্রাহক কী এবং গোপনীয়তা প্রদান করতে হবে, যা আপনি টুইটার অ্যাপ্লিকেশন ম্যানেজমেন্ট কনসোলে পেতে পারেন।

  2. টুইটার লগইন করার জন্য কনফিগার করা একটি OAuth প্রদানকারীর সূচনা করুন:

    সুইফট

    provider = FUIOAuth.twitterAuthProvider()
    

    উদ্দেশ্য গ

    FUIOAuth *provider = [FUIOAuth twitterAuthProvider];
    

ফোন নম্বর

  1. ইন Firebase কনসোল , প্রমাণীকরণ অ w শটি খুলুন এবং ফোন নম্বর সাইন-ইন সক্ষম করুন।

  2. Firebase অবশ্যই যাচাই করতে সক্ষম হবে যে ফোন নম্বর সাইন-ইন অনুরোধ আপনার অ্যাপ থেকে আসছে। এটি সম্পন্ন করার একটি উপায় হল APNs বিজ্ঞপ্তির মাধ্যমে। দেখুন অ্যাপ্লিকেশন যাচাইকরণ সক্ষম করুন বিস্তারিত জানার জন্য।

    ফায়ারবেস প্রমাণীকরণের সাথে ব্যবহারের জন্য APNs বিজ্ঞপ্তি সক্ষম করতে:

    1. Xcode সালে পুশ বিজ্ঞপ্তি সক্ষম আপনার প্রকল্পের জন্য।

    2. আপনার APNs প্রমাণীকরণ কী Firebase এ আপলোড করুন। আপনার কি ইতিমধ্যে একটি APN গুলি প্রমাণীকরণ কী না পারে, তবে একটি তৈরি করতে ভুলবেন না অ্যাপল ডেভেলপার সদস্য সেন্টার

      1. Firebase কনসোলে আপনার প্রকল্পের ভিতরে,, গিয়ার আইকন নির্বাচন প্রকল্প সেটিং নির্বাচন করুন, এবং তারপর ক্লাউড মেসেজিং ট্যাব নির্বাচন করুন।

      2. IOS অ্যাপ্লিকেশন কনফিগারেশন অধীনে APN গুলি প্রমাণীকরণ কী সালে আপলোড বাটন ক্লিক করুন।

      3. যেখানে আপনি আপনার কী সংরক্ষিত ব্রাউজ করুন, এটা নির্বাচন করুন, এবং ওপেন এ ক্লিক করুন। কী (উপলব্ধ জন্য কী আইডি যোগ করুন অ্যাপল ডেভেলপার সদস্য সেন্টার ) এবং আপলোড এ ক্লিক করুন।

      আপনার যদি ইতিমধ্যে একটি APNs সার্টিফিকেট থাকে, আপনি তার পরিবর্তে সার্টিফিকেট আপলোড করতে পারেন।

  3. যখন কোনও ডিভাইসে APN- এর বিজ্ঞপ্তিগুলি পাওয়া যায় না, তখন Firebase অনুরোধগুলি যাচাই করতে reCAPTCHA ব্যবহার করে।

    ReCAPTCHA যাচাইকরণ সক্ষম করতে, যদি আপনি ইতিমধ্যেই আপনার বিপরীত ক্লায়েন্ট আইডি একটি URL স্কিম (উদাহরণস্বরূপ, গুগল সাইন-ইন সক্ষম করতে) যোগ না করেন, তাহলে আপনার Xcode প্রকল্পে এটি করুন। আপনি এই মান জানতে পারেন GoogleService-Info.plist ফাইল।

  4. ঐচ্ছিক: Firebase, স্বয়ংক্রিয়ভাবে প্রাপ্ত আপনার অ্যাপ্লিকেশনের APN গুলি টোকেনটি করার পদ্ধতি swizzling ব্যবহার Firebase আপনার অ্যাপ্লিকেশানে পাঠায় নীরব পুশ বিজ্ঞপ্তি হ্যান্ডেল, এবং স্বয়ংক্রিয়ভাবে যাচাইকরণ চলাকালীন reCAPTCHA নির্ধারণ পাতা থেকে কাস্টম প্রকল্প পুনর্নির্দেশ পথিমধ্যে।

    আপনি ব্যবহার swizzling পছন্দ না করেন, দেখুন swizzling ছাড়াই ফোন সাইন-ইন ব্যবহার হচ্ছে: পরিশিষ্ট Firebase SDK এর প্রমাণীকরণ ডক্সে।

সাইন ইন করুন

FirebaseUI সাইন ইন প্রবাহ বন্ধ করতে, প্রথমে FirebaseUI আরম্ভ করুন:

সুইফট

import FirebaseUI

/* ... */

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

উদ্দেশ্য গ

@import FirebaseUI;

...

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

তারপরে, আপনি যে সাইন-ইন পদ্ধতিগুলি সমর্থন করতে চান তা ব্যবহার করতে FirebaseUI কনফিগার করুন:

সুইফট

import FirebaseUI

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

উদ্দেশ্য গ

@import FirebaseUI;

...

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

আপনি যদি গুগল বা ফেসবুক সাইন-ইন সক্ষম করেন, গুগল এবং ফেসবুক সাইন-আপ প্রবাহের ফলাফলের জন্য একটি হ্যান্ডলার প্রয়োগ করুন:

সুইফট

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
}

উদ্দেশ্য গ

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

অবশেষে, একটি দৃষ্টান্ত পেতে AuthViewController থেকে FUIAuth । আপনি তখন এটিকে আপনার অ্যাপের প্রথম ভিউ কন্ট্রোলার হিসেবে উপস্থাপন করতে পারেন অথবা আপনার অ্যাপের অন্য ভিউ কন্ট্রোলার থেকে উপস্থাপন করতে পারেন।

সুইফট

সাইন-ইন পদ্ধতি নির্বাচক পেতে:

let authViewController = authUI.authViewController()

আপনি যদি শুধুমাত্র ফোন নম্বর সাইন-ইন ব্যবহার করেন, তাহলে আপনি সরাসরি ফোন নম্বর সাইন-ইন ভিউ প্রদর্শন করতে পারেন:

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

উদ্দেশ্য গ

সাইন-ইন পদ্ধতি নির্বাচক পেতে:

UINavigationController *authViewController = [authUI authViewController];

আপনি যদি শুধুমাত্র ফোন নম্বর সাইন-ইন ব্যবহার করেন, তাহলে আপনি সরাসরি ফোন নম্বর সাইন-ইন ভিউ প্রদর্শন করতে পারেন:

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

পরে আপনি প্রমাণীকরণ দেখতে ও ব্যবহারকারী লক্ষণ উপস্থাপন ফলাফলে FirebaseUI প্রমাণীকরণ প্রতিনিধি ফিরিয়ে দেওয়া হয় didSignInWithUser:error: পদ্ধতি:

সুইফট

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

উদ্দেশ্য গ

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

সাইন আউট

ফায়ারবেস ইউআই ফায়ারবেস প্রমাণীকরণের পাশাপাশি সকল সামাজিক পরিচয় প্রদানকারী থেকে সাইন আউট করার সুবিধাজনক পদ্ধতি প্রদান করে:

সুইফট

authUI.signOut()

উদ্দেশ্য গ

[authUI signOut];

কাস্টমাইজেশন

আপনি FirebaseUI দৃষ্টিভঙ্গি কন্ট্রোলার subclassing এবং তাদের নির্দিষ্ট করে সাইন-ইন পর্দা কাস্টমাইজ করতে পারেন FUIAuth এর প্রতিনিধি পদ্ধতি:

সুইফট

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)
}

উদ্দেশ্য গ

- (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];
}

আপনি আপনার অ্যাপের পরিষেবার শর্তাবলীতে ইউআরএল কাস্টমাইজ করতে পারেন, যা অ্যাকাউন্ট তৈরির স্ক্রিনে লিঙ্ক করা আছে:

সুইফট

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

উদ্দেশ্য গ

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

অবশেষে, আপনি একটি কাস্টম বান্ডেল নির্দিষ্ট করে আপনার ব্যবহারকারীদের দেখানো বার্তা এবং প্রম্পট কাস্টমাইজ করতে পারেন:

সুইফট

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

উদ্দেশ্য গ

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

পরবর্তী পদক্ষেপ

  • ব্যবহার করে এবং FirebaseUI কাস্টমাইজ সম্পর্কে আরো তথ্যের জন্য, দেখুন README GitHub থেকে ফাইল।
  • আপনাকে খুঁজে পেতে এবং FirebaseUI বিষয়টি এবং এটি প্রতিবেদন করতে চাই করেন, ব্যবহার GitHub ইস্যু যে ব্যক্তি অনুসরণ করে