FirebaseUI এর মাধ্যমে আপনার iOS অ্যাপে সহজেই সাইন-ইন করুন

FirebaseUI হলো Firebase Authentication SDK-এর উপর ভিত্তি করে নির্মিত একটি লাইব্রেরি, যা আপনার অ্যাপে ব্যবহারের জন্য ড্রপ-ইন UI ফ্লো প্রদান করে। FirebaseUI নিম্নলিখিত সুবিধাগুলো প্রদান করে:

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

শুরু করার আগে

  1. আপনার অ্যাপল প্রজেক্টে ফায়ারবেস যোগ করুন

  2. আপনার Podfile-এ 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 কনসোলে , Authentication সেকশনটি খুলুন এবং ইমেল ও পাসওয়ার্ড অথেন্টিকেশন চালু করুন।

  1. Firebase কনসোলে , Authentication সেকশনটি খুলুন। Sign in method ট্যাবে, Email/Password প্রোভাইডারটি এনাবল করুন। মনে রাখবেন, ইমেল লিঙ্ক সাইন-ইন ব্যবহার করার জন্য ইমেল বা পাসওয়ার্ড সাইন-ইন অবশ্যই এনাবল করা থাকতে হবে।

  2. একই বিভাগে, ইমেল লিঙ্ক (পাসওয়ার্ডবিহীন সাইন-ইন) পদ্ধতিটি সক্রিয় করুন এবং সেভ -এ ক্লিক করুন।

  3. আপনি FIREmailLinkAuthSignInMethod সহ একটি FUIEmailAuth ইনস্ট্যান্স ইনিশিয়ালাইজ করে ইমেল লিঙ্ক সাইন ইন সক্রিয় করতে পারেন। এছাড়াও আপনাকে একটি বৈধ FIRActionCodeSettings অবজেক্ট প্রদান করতে হবে, যেখানে handleCodeInApp মান true সেট করা থাকবে।

    সুইফট

    var actionCodeSettings = ActionCodeSettings()
    actionCodeSettings.url = URL(string: "https://example.firebasestorage.app")
    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.firebasestorage.app"];
    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];
    
  4. এছাড়াও, ইনিশিয়ালাইজারে পাঠানো URL-টিকে আপনাকে হোয়াইটলিস্ট করতে হবে। এটি করার জন্য, আপনি Firebase কনসোলের Authentication সেকশনটি খুলুন। Sign in method ট্যাবের Authorized domains অংশের অধীনে URL-টি যোগ করুন।

  5. একবার ডিপ লিঙ্কটি পেয়ে গেলে, সেটিকে পরিচালনা করার জন্য অথোরাইজেশন UI-তে পাঠাতে হবে।

    সুইফট

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

    উদ্দেশ্য-সি

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

আপেল

  1. Firebase Sign in with Apple গাইডের "Before you begin" এবং "Comply with Apple anonymized data requirements" অংশগুলি অনুসরণ করুন।

  2. আপনার এনটাইটেলমেন্ট ফাইলে ‘সাইন ইন উইথ অ্যাপল’ সুবিধাটি যোগ করুন।

  3. অ্যাপল দিয়ে সাইন ইন করার জন্য কনফিগার করা একটি OAuth প্রোভাইডার ইনস্ট্যান্স চালু করুন:

    সুইফট

    provider = FUIOAuth.appleAuthProvider()

    উদ্দেশ্য-সি

    FUIOAuth *provider = [FUIOAuth appleAuthProvider];

গুগল

  1. এই টিউটোরিয়ালটি ব্যবহার করে গুগল সাইন-ইন সেট আপ করুন।

ফেসবুক

  1. ফেসবুকের গেটিং স্টার্টেড পেজ অনুসরণ করে ফেসবুক লগইন এসডিকে সেট আপ করুন।

  2. Firebase কনসোলে , Authentication সেকশনটি খুলুন এবং Facebook এনাবল করুন। Facebook সাইন-ইন এনাবল করতে, আপনাকে অবশ্যই আপনার Facebook App ID এবং App Secret প্রদান করতে হবে, যা আপনি Facebook Developers কনসোল থেকে পেতে পারেন।

  3. আপনার Xcode প্রোজেক্টে প্রোজেক্ট সেটিংস > ক্যাপাবিলিটিস স্ক্রিন থেকে কীচেইন শেয়ারিং সক্রিয় করুন।

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

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

    চাবি মূল্য
    ফেসবুক অ্যাপ আইডি FACEBOOK_APP_ID (উদাহরণস্বরূপ, 1234567890 )
    ফেসবুক ডিসপ্লে নাম আপনার অ্যাপের নাম
  6. একটি ফেসবুক প্রোভাইডার ইনস্ট্যান্স চালু করুন:

    সুইফট

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

    উদ্দেশ্য-সি

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

  7. আপনি যদি ফেসবুক লিমিটেড লগইন ব্যবহার করতে চান, তাহলে FUIFacebookAuth ইনস্ট্যান্সে useLimitedLogin প্রপার্টিটি সেট করুন।

    সুইফট

    provider.useLimitedLogin = true

    উদ্দেশ্য-সি

    provider.useLimitedLogin = YES;

টুইটার

  1. Firebase কনসোলে , Authentication সেকশনটি খুলুন এবং Twitter এনাবল করুন। Twitter সাইন-ইন এনাবল করতে, আপনাকে আপনার Twitter API কনজিউমার কী এবং সিক্রেট প্রদান করতে হবে, যা আপনি Twitter অ্যাপ্লিকেশন ম্যানেজমেন্ট কনসোল থেকে পেতে পারেন।

  2. টুইটার লগইনের জন্য কনফিগার করা একটি OAuth প্রোভাইডার ইনস্ট্যান্স চালু করুন:

    সুইফট

    provider = FUIOAuth.twitterAuthProvider()

    উদ্দেশ্য-সি

    FUIOAuth *provider = [FUIOAuth twitterAuthProvider];

ফোন নম্বর

  1. Firebase কনসোলে , Authentication সেকশনটি খুলুন এবং ফোন নম্বর দিয়ে সাইন-ইন চালু করুন।

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

    Firebase Authentication সাথে ব্যবহারের জন্য APNs নোটিফিকেশন সক্রিয় করতে:

    1. Xcode-এ আপনার প্রোজেক্টের জন্য পুশ নোটিফিকেশন চালু করুন

    2. আপনার APNs অথেন্টিকেশন কী Firebase-এ আপলোড করুন। যদি আপনার আগে থেকে কোনো APNs অথেন্টিকেশন কী না থাকে, তবে Apple Developer Member Center থেকে একটি তৈরি করে নিন।

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

      2. iOS অ্যাপ কনফিগারেশনের অধীনে APNs অথেন্টিকেশন কী- তে, আপনার ডেভেলপমেন্ট অথেন্টিকেশন কী, অথবা প্রোডাকশন অথেন্টিকেশন কী, অথবা উভয়ই আপলোড করতে আপলোড বোতামে ক্লিক করুন। এর মধ্যে অন্তত একটি থাকা আবশ্যক।

      3. যেখানে আপনি আপনার কী (key) সংরক্ষণ করেছেন সেই অবস্থানে যান, সেটি নির্বাচন করুন এবং 'Open'-এ ক্লিক করুন। কী-টির জন্য কী আইডি (যা Apple Developer Member Center- এ পাওয়া যাবে) যোগ করুন এবং 'Upload'-এ ক্লিক করুন।

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

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

    reCAPTCHA যাচাইকরণ সক্রিয় করতে, Xcode-এ নিম্নলিখিতগুলি করুন:

    1. আপনার প্রোজেক্ট কনফিগারেশন খুলুন: বাম দিকের ট্রি ভিউতে প্রোজেক্টের নামের উপর ডাবল-ক্লিক করুন। TARGETS সেকশন থেকে আপনার অ্যাপটি নির্বাচন করুন, তারপর Info ট্যাবটি নির্বাচন করুন এবং URL Types সেকশনটি এক্সপ্যান্ড করুন।
    2. + বোতামে ক্লিক করুন এবং আপনার এনকোডেড অ্যাপ আইডিটি ইউআরএল স্কিম হিসেবে যোগ করুন। আপনি আপনার এনকোডেড অ্যাপ আইডিটি ফায়ারবেস কনসোলের জেনারেল সেটিংস পৃষ্ঠার আইওএস অ্যাপ বিভাগে খুঁজে পাবেন। অন্যান্য ফিল্ডগুলো খালি রাখুন।

      সম্পূর্ণ হলে, আপনার কনফিগারেশনটি নিচের মতো দেখতে হবে (তবে এতে আপনার অ্যাপ্লিকেশনের জন্য নির্দিষ্ট মানগুলো থাকবে):

      এক্সকোডের কাস্টম ইউআরএল স্কিম সেটআপ ইন্টারফেসের স্ক্রিনশট
  4. Optional : Firebase uses method swizzling to automatically obtain your app's APNs token, to handle the silent push notifications that Firebase sends to your app, and to automatically intercept the custom scheme redirect from the reCAPTCHA verification page during verification.

    আপনি যদি সুইজলিং ব্যবহার করতে না চান, তাহলে Firebase SDK অথেনটিকেশন ডক্স-এর পরিশিষ্ট: "সুইজলিং ছাড়া ফোন সাইন-ইন ব্যবহার" দেখুন।

সাইন ইন করুন

FirebaseUI সাইন ইন প্রক্রিয়াটি শুরু করতে, প্রথমে FirebaseUI ইনিশিয়ালাইজ করুন:

সুইফট

import FirebaseAuthUI

/* ... */

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

উদ্দেশ্য-সি

@import FirebaseAuthUI;

...

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

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

সুইফট

import FirebaseAuthUI
import FirebaseFacebookAuthUI
import FirebaseGoogleAuthUI
import FirebaseOAuthUI
import FirebasePhoneAuthUI

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

উদ্দেশ্য-সি

@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;

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

সুইফট

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

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

সুইফট

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

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 Auth ডেলিগেটের 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.
}

সাইন আউট

FirebaseUI, Firebase Authentication এবং সকল সোশ্যাল আইডেন্টিটি প্রোভাইডার থেকে সাইন আউট করার সুবিধাজনক পদ্ধতি প্রদান করে:

সুইফট

authUI.signOut()

উদ্দেশ্য-সি

[authUI signOut];

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

আপনি FirebaseUI-এর ভিউ কন্ট্রোলারগুলোকে সাবক্লাস করে এবং 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];
}

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

সুইফট

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 ব্যবহার ও কাস্টমাইজ করার বিষয়ে আরও তথ্যের জন্য GitHub-এ থাকা README ফাইলটি দেখুন।
  • আপনি যদি FirebaseUI-তে কোনো সমস্যা খুঁজে পান এবং তা জানাতে চান, তাহলে GitHub ইস্যু ট্র্যাকার ব্যবহার করুন।