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

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

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

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

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

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

  1. ไปที่ส่วน Realtime Database ของคอนโซลFirebase ระบบจะแจ้งให้คุณเลือกโปรเจ็กต์ Firebase ที่มีอยู่ ทําตามเวิร์กโฟลว์การสร้างฐานข้อมูล

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

    โหมดทดสอบ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตั้งค่า Firebase Realtime Database

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

  1. นําเข้าโมดูล FirebaseCore ใน UIApplicationDelegate รวมถึงโมดูล Firebase อื่นๆ ที่ผู้รับมอบสิทธิ์ของแอปใช้ ตัวอย่างเช่น หากต้องการใช้ 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. กำหนดค่าอินสแตนซ์ที่แชร์ในเมธอด application(_:didFinishLaunchingWithOptions:) ของตัวแทนแอป ดังนี้ FirebaseApp

    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 struct ผ่าน 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];

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