เพิ่มการลงชื่อเข้าใช้แอป iOS ได้ง่ายๆ ด้วย Firebase UI

FirebaseUI เป็นไลบรารีที่สร้างขึ้น บน Firebase Authentication SDK ซึ่งมีโฟลว์ UI แบบดรอปอินสำหรับใช้ ในแอป โดย FirebaseUI มีประโยชน์ดังนี้

  • ผู้ให้บริการหลายราย: โฟลว์การลงชื่อเข้าใช้สำหรับอีเมล/รหัสผ่าน, ลิงก์อีเมล, การตรวจสอบสิทธิ์ทางโทรศัพท์, Google Sign-In, การเข้าสู่ระบบ Facebook และการเข้าสู่ระบบ Twitter
  • การจัดการบัญชี: โฟลว์สำหรับจัดการงานการจัดการบัญชี เช่น การสร้างบัญชีและการรีเซ็ตรหัสผ่าน
  • การลิงก์บัญชีที่ไม่ระบุตัวตน: โฟลว์สำหรับลิงก์บัญชีที่ไม่ระบุตัวตน กับผู้ให้บริการข้อมูลประจำตัวโดยอัตโนมัติ
  • ปรับแต่งได้: ปรับแต่งลักษณะของ FirebaseUI ให้เข้ากับแอปของคุณ นอกจากนี้ เนื่องจาก FirebaseUI เป็นโอเพนซอร์ส คุณจึงสามารถ Fork โปรเจ็กต์และปรับแต่งให้ตรงกับความต้องการของคุณได้

ก่อนเริ่มต้น

  1. เพิ่ม Firebase ในโปรเจ็กต์ Apple

  2. เพิ่ม FirebaseUI ลงใน Podfile โดยทำดังนี้

    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 เพื่อให้ผู้ใช้ลงชื่อเข้าใช้ได้ คุณต้องเปิดใช้และกำหนดค่าวิธีการลงชื่อเข้าใช้ที่ต้องการรองรับ

อีเมลและรหัสผ่าน

  1. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > การตรวจสอบสิทธิ์

  2. ในแท็บวิธีการลงชื่อเข้าใช้ ให้เปิดใช้ผู้ให้บริการการลงชื่อเข้าใช้อีเมล/รหัสผ่าน

  1. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > การตรวจสอบสิทธิ์

  2. ในแท็บวิธีการลงชื่อเข้าใช้ ให้เปิดใช้ผู้ให้บริการการลงชื่อเข้าใช้อีเมล/รหัสผ่าน โปรดทราบว่าต้องเปิดใช้การลงชื่อเข้าใช้อีเมลหรือรหัสผ่านก่อนจึงจะใช้การลงชื่อเข้าใช้ด้วยลิงก์อีเมลได้

  3. ในส่วนเดียวกัน ให้เปิดใช้ผู้ให้บริการการลงชื่อเข้าใช้ลิงก์อีเมล (การลงชื่อเข้าใช้แบบไม่ต้องใช้รหัสผ่าน) แล้วคลิกบันทึก

  4. คุณเปิดใช้การลงชื่อเข้าใช้ด้วยลิงก์อีเมลได้โดยการเริ่มต้นอินสแตนซ์ FUIEmailAuth ด้วย FIREmailLinkAuthSignInMethod นอกจากนี้ คุณจะต้องระบุออบเจ็กต์ FIRActionCodeSettings ที่ถูกต้องโดยตั้งค่า handleCodeInApp เป็น "จริง"

    Swift

    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)
    

    Objective-C

    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];
    
  5. นอกจากนี้ คุณต้องเพิ่ม URL ที่ส่งไปยังตัวเริ่มต้นลงในรายการที่อนุญาตพิเศษ

    1. ในคอนโซลFirebase ให้ไปที่แท็บ ความปลอดภัย > การตรวจสอบสิทธิ์ > การตั้งค่า

    2. ในส่วนโดเมนที่ได้รับอนุญาต ให้คลิกเพิ่มโดเมน แล้วเพิ่ม URL

  6. เมื่อจับ Deep Link ได้แล้ว คุณจะต้องส่ง Deep Link ไปยัง UI การตรวจสอบสิทธิ์เพื่อให้ระบบจัดการได้

    Swift

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

    Objective-C

    [[FUIAuth defaultAuthUI] handleOpenURL:url sourceApplication:sourceApplication];
    
  7. การลงชื่อเข้าใช้ด้วยลิงก์อีเมลใน FirebaseUI-iOS เข้ากันได้กับ FirebaseUI-Android และ FirebaseUI-web โดยผู้ใช้ที่เริ่มโฟลว์จาก FirebaseUI-Android จะเปิดลิงก์ และลงชื่อเข้าใช้ด้วย FirebaseUI-web ได้ และในทางกลับกันก็เช่นกัน

Apple

  1. ทำตามส่วนก่อนเริ่มต้น และปฏิบัติตามข้อกำหนดด้านข้อมูลที่ไม่ระบุตัวตนของ Apple ในคู่มือ การลงชื่อเข้าใช้ด้วย Apple ของ Firebase

  2. เพิ่มความสามารถในการลงชื่อเข้าใช้ด้วย Apple ลงในไฟล์สิทธิ์ของคุณ

  3. เริ่มต้นอินสแตนซ์ผู้ให้บริการ OAuth ที่กำหนดค่าสำหรับการลงชื่อเข้าใช้ด้วย Apple

    Swift

    provider = FUIOAuth.appleAuthProvider()

    Objective-C

    FUIOAuth *provider = [FUIOAuth appleAuthProvider];

Google

  1. ตั้งค่าการลงชื่อเข้าใช้ด้วย Google โดยใช้บทแนะนำนี้

Facebook

  1. ตั้งค่า Facebook Login SDK โดยทำตาม หน้าเริ่มต้นใช้งานของ Facebook

  2. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > การตรวจสอบสิทธิ์

  3. ในแท็บวิธีการลงชื่อเข้าใช้ ให้เปิดใช้ผู้ให้บริการFacebook หากต้องการเปิดใช้การลงชื่อเข้าใช้ Facebook คุณต้องระบุรหัสแอป Facebook และรหัสลับของแอป ซึ่งดูได้ในคอนโซลนักพัฒนา Facebook

  4. เปิดใช้การแชร์พวงกุญแจในโปรเจ็กต์ Xcode จากหน้าจอการตั้งค่าโปรเจ็กต์ > ความสามารถ

  5. เพิ่ม fbFACEBOOK_APP_ID เป็น URL Scheme ในโปรเจ็กต์ Xcode ของคุณ

  6. เพิ่มรหัสแอป Facebook และชื่อที่แสดงลงในไฟล์ Info.plist โดยทำดังนี้

    คีย์ ค่า
    FacebookAppID FACEBOOK_APP_ID (เช่น 1234567890)
    FacebookDisplayName ชื่อแอป
  7. เริ่มต้นอินสแตนซ์ผู้ให้บริการ Facebook โดยทำดังนี้

    Swift

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

    Objective-C

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

  8. หากต้องการใช้ การเข้าสู่ระบบแบบจำกัดของ Facebook, ให้ตั้งค่าพร็อพเพอร์ตี้ useLimitedLogin ในอินสแตนซ์ FUIFacebookAuth

    Swift

    provider.useLimitedLogin = true

    Objective-C

    provider.useLimitedLogin = YES;

Twitter

  1. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > การตรวจสอบสิทธิ์

  2. ในแท็บวิธีการลงชื่อเข้าใช้ ให้เปิดใช้ผู้ให้บริการTwitter หากต้องการเปิดใช้การลงชื่อเข้าใช้ Twitter คุณต้องระบุคีย์ผู้ใช้ API และรหัสลับของ Twitter ซึ่งดูได้ในคอนโซลการจัดการแอปพลิเคชัน Twitter

  3. เริ่มต้นอินสแตนซ์ผู้ให้บริการ OAuth ที่กำหนดค่าสำหรับการเข้าสู่ระบบ Twitter โดยทำดังนี้

    Swift

    provider = FUIOAuth.twitterAuthProvider()

    Objective-C

    FUIOAuth *provider = [FUIOAuth twitterAuthProvider];

หมายเลขโทรศัพท์

  1. ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > การตรวจสอบสิทธิ์

  2. ในแท็บวิธีการลงชื่อเข้าใช้ ให้เปิดใช้ผู้ให้บริการการลงชื่อเข้าใช้โทรศัพท์

  3. Firebase ต้องตรวจสอบได้ว่าคำขอลงชื่อเข้าใช้ด้วยหมายเลขโทรศัพท์มาจากแอปของคุณ วิธีหนึ่งที่ใช้คือผ่านการแจ้งเตือน APNs ดูรายละเอียดได้ที่หัวข้อ เปิดใช้การตรวจสอบแอป

    วิธีเปิดใช้การแจ้งเตือน APNs เพื่อใช้กับ Firebase Authentication

    1. ใน Xcode, ให้เปิดใช้การแจ้งเตือนแบบพุช สำหรับโปรเจ็กต์

    2. อัปโหลดคีย์การตรวจสอบสิทธิ์ APNs ไปยัง Firebase หากยังไม่มีคีย์การตรวจสอบสิทธิ์ APNs โปรดสร้างคีย์ใน Apple Developer Member Center

      1. ในคอนโซล Firebase ให้ไปที่ การตั้งค่า > ทั่วไป จากนั้นคลิกแท็บ Cloud Messaging
      2. ในคีย์การตรวจสอบสิทธิ์ APNs ในส่วนการกำหนดค่าแอป iOS, คลิกอัปโหลด เพื่ออัปโหลดคีย์การตรวจสอบสิทธิ์สำหรับการพัฒนา หรือ คีย์การตรวจสอบสิทธิ์เวอร์ชันที่ใช้งานจริง หรือทั้ง 2 อย่าง คุณต้องอัปโหลดอย่างน้อย 1 คีย์
      3. เรียกดูตำแหน่งที่คุณบันทึกคีย์ เลือกคีย์ แล้วคลิก เปิด เพิ่มรหัสคีย์สำหรับคีย์ (ดูได้ใน Apple Developer Member Center) แล้วคลิก อัปโหลด

      หากมีใบรับรอง APNs อยู่แล้ว คุณสามารถอัปโหลดใบรับรองแทนได้

  4. เมื่ออุปกรณ์รับการแจ้งเตือน APNs ไม่ได้ Firebase จะใช้ reCAPTCHA เพื่อยืนยันคำขอ

    หากต้องการเปิดใช้การยืนยัน reCAPTCHA ให้ทำดังนี้ใน Xcode

    1. เปิดการกำหนดค่าโปรเจ็กต์โดยดับเบิลคลิกชื่อโปรเจ็กต์ใน มุมมองแบบต้นไม้ทางด้านซ้าย เลือกแอปจากส่วนเป้าหมาย แล้ว เลือกแท็บข้อมูล และขยายส่วนประเภท URL
    2. คลิกปุ่ม + แล้วเพิ่มรหัสแอปที่เข้ารหัสเป็น URL Scheme ปล่อยให้ช่องอื่นๆ ว่างไว้

      คุณดูรหัสแอปที่เข้ารหัสได้ในคอนโซลFirebase โดยไปที่ การตั้งค่า > แท็บทั่วไป แล้วเลื่อนลงไปที่ส่วน แอปของคุณ เพื่อดูรายละเอียดเกี่ยวกับ แอป iOS

      เมื่อเสร็จแล้ว การกำหนดค่าควรมีลักษณะคล้ายกับตัวอย่างต่อไปนี้ (แต่มีค่าเฉพาะของแอปพลิเคชัน)

      ภาพหน้าจอของอินเทอร์เฟซการตั้งค่า URL Scheme ที่กำหนดเองของ Xcode
  5. ไม่บังคับ: Firebase ใช้การแลกเปลี่ยนเมธอดเพื่อรับโทเค็น APNs ของแอปโดยอัตโนมัติ เพื่อจัดการข้อความ Push แบบเงียบที่ Firebase ส่งไปยังแอป และเพื่อสกัดกั้นการเปลี่ยนเส้นทางตาม Scheme ที่กำหนดเองจากหน้าการยืนยัน reCAPTCHA ระหว่างการยืนยันโดยอัตโนมัติ

    หากไม่ต้องการใช้การสลับ โปรดดู ภาคผนวก: การใช้การลงชื่อเข้าใช้ด้วยโทรศัพท์โดยไม่ใช้การสลับ ในเอกสารการตรวจสอบสิทธิ์ Firebase SDK

ลงชื่อเข้าใช้

หากต้องการเริ่มโฟลว์การลงชื่อเข้าใช้ 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];
}

สุดท้าย ให้รับอินสแตนซ์ AuthViewController จาก FUIAuth จากนั้นคุณจะแสดงเป็น View Controller แรกของแอปหรือแสดงจาก View Controller อื่นในแอปก็ได้

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

หลังจากที่คุณแสดงมุมมองการตรวจสอบสิทธิ์และผู้ใช้ลงชื่อเข้าใช้แล้ว ระบบจะส่งคืนผลลัพธ์ไปยังผู้รับมอบสิทธิ์การตรวจสอบสิทธิ์ FirebaseUI ในเมธอด didSignInWithUser:error: โดยทำดังนี้

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

การปรับแต่ง

คุณสามารถปรับแต่งหน้าจอลงชื่อเข้าใช้ได้โดยการสร้างคลาสย่อยของ View Controller ของ FirebaseUI และระบุ View Controller เหล่านั้นในเมธอดผู้รับมอบสิทธิ์ของ 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 ได้ใน ไฟล์ README บน GitHub
  • หากพบปัญหาใน FirebaseUI และต้องการรายงาน โปรดใช้เครื่องมือติดตามปัญหาบน GitHub