การติดตั้ง & ตั้งค่าในแพลตฟอร์ม Apple

Firebase Realtime Database เป็นฐานข้อมูลที่โฮสต์บนระบบคลาวด์ ระบบจะจัดเก็บข้อมูลเป็น JSON และซิงค์ข้อมูลแบบเรียลไทม์กับไคลเอ็นต์ที่เชื่อมต่อทุกราย เมื่อคุณสร้างแอปข้ามแพลตฟอร์มด้วย Android, iOS และ JavaScript SDK ไคลเอ็นต์ทั้งหมดจะแชร์อินสแตนซ์ Realtime Database เดียวกันและรับการอัปเดตด้วยข้อมูลใหม่ล่าสุดโดยอัตโนมัติ

Firebase Realtime Database พร้อมใช้งานในแพลตฟอร์ม Apple ทั้งหมด ซึ่งรวมถึง iOS, macOS, macOS Catalyst, tvOS และ watchOS และใช้ไม่ได้กับ App Clip วิธีการตั้งค่าในหน้านี้อ้างอิง iOS ในตัวอย่างที่เฉพาะเจาะจง แต่เป็นวิธีการทั่วไปและใช้ได้กับเป้าหมายแพลตฟอร์ม Apple ทุกแพลตฟอร์ม

ข้อกำหนดเบื้องต้น

  1. ติดตั้ง Firebase SDK
  2. เพิ่มแอปลงในโปรเจ็กต์ Firebase ในคอนโซล Firebase

สร้างฐานข้อมูล

  1. ในคอนโซล Firebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database

  2. คลิกสร้างฐานข้อมูล

  3. เลือกโหมดเริ่มต้นสำหรับ Firebase Security Rules ดังนี้

    โหมดทดสอบ

    เหมาะสำหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์บนอุปกรณ์เคลื่อนที่และเว็บ แต่จะอนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังจากทดสอบแล้ว โปรดอ่านส่วนทำความเข้าใจกฎฐานข้อมูลเรียลไทม์ของ Firebase

    หากต้องการเริ่มต้นใช้งาน SDK สำหรับเว็บ, Apple หรือ Android ให้เลือก testmode

    โหมดล็อกขณะคุมสอบ

    ปฏิเสธการอ่านและเขียนทั้งหมดจากไคลเอ็นต์บนอุปกรณ์เคลื่อนที่และเว็บ เซิร์ฟเวอร์แอปพลิเคชันที่ตรวจสอบสิทธิ์แล้วจะยังคงเข้าถึงฐานข้อมูลของคุณได้

  4. เลือกตำแหน่งสำหรับฐานข้อมูล

    URL ของฐานข้อมูลใหม่จะอยู่ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับตำแหน่งของฐานข้อมูล

    • DATABASE_NAME.firebaseio.com (สำหรับฐานข้อมูลใน us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app (สำหรับฐานข้อมูลในตำแหน่งอื่นๆ ทั้งหมด)

  5. คลิกเสร็จสิ้น

เมื่อเปิดใช้ Realtime Database ระบบจะเปิดใช้ API ใน Cloud API Manager ด้วย

เพิ่ม Firebase Realtime Database ลงในแอป

ใช้ Swift Package Manager เพื่อติดตั้งและจัดการทรัพยากร Dependency ของ Firebase

  1. ใน Xcode ขณะที่โปรเจ็กต์แอปเปิดอยู่ ให้ไปที่ไฟล์ > เพิ่มแพ็กเกจ
  2. เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ SDK ของ Firebase สำหรับแพลตฟอร์ม Apple ดังนี้
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. เลือกคลัง Realtime Database
  5. เพิ่มแฟล็ก -ObjC ลงในส่วน Other Linker Flags ของการตั้งค่าบิลด์ของเป้าหมาย
  6. เมื่อเสร็จแล้ว Xcode จะเริ่มแก้ไขและดาวน์โหลดทรัพยากร Dependency ในเบื้องหลังโดยอัตโนมัติ

กำหนดค่า Realtime Database Security Rules

Realtime Database มีภาษาของกฎแบบประกาศที่ช่วยให้คุณกำหนดวิธีจัดโครงสร้างข้อมูล วิธีจัดทำดัชนีข้อมูล และเวลาที่สามารถอ่านและเขียนข้อมูลได้

ตั้งค่า Firebase Realtime Database

คุณต้องเริ่มต้น Firebase ก่อนที่จะสร้างหรือใช้การอ้างอิงแอป Firebase หากคุณเคยทำขั้นตอนนี้แล้วสำหรับฟีเจอร์ Firebase อื่น ก็ข้ามขั้นตอนนี้ได้

  1. นำเข้าโมดูล FirebaseCore ใน UIApplicationDelegate รวมถึงโมดูล Firebase อื่นๆ ที่ App Delegate ของคุณใช้ ตัวอย่างเช่น หากต้องการใช้ Cloud Firestore และ Authentication ให้ทำดังนี้

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. กำหนดค่าอินสแตนซ์ที่ใช้ร่วมกันของ FirebaseApp ในเมธอด application(_:didFinishLaunchingWithOptions:) ของ App Delegate ดังนี้

    SwiftUI

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. หากใช้ SwiftUI คุณต้องสร้างผู้รับมอบสิทธิ์แอปพลิเคชันและแนบกับโครงสร้าง App ผ่าน UIApplicationDelegateAdaptor หรือ NSApplicationDelegateAdaptor นอกจากนี้ คุณต้องปิดใช้การสลับผู้รับมอบสิทธิ์ของแอปด้วย ดูข้อมูลเพิ่มเติมได้ในวิธีการสำหรับ SwiftUI

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. สร้างการอ้างอิงไปยังฐานข้อมูลและระบุตำแหน่งที่ต้องการเขียน

    Swift

    หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ใช้ไม่ได้กับเป้าหมาย App Clip
    var ref: DatabaseReference!
    
    ref = Database.database().reference()

    Objective-C

    หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ใช้ไม่ได้กับเป้าหมาย App Clip
    @property (strong, nonatomic) FIRDatabaseReference *ref;
    
    self.ref = [[FIRDatabase database] reference];

ขั้นตอนถัดไป