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

Firebase Realtime Database คือฐานข้อมูลที่โฮสต์บนระบบคลาวด์ โดยจะจัดเก็บข้อมูลเป็น JSON และซิงค์แบบเรียลไทม์กับไคลเอ็นต์ที่เชื่อมต่อทั้งหมด เมื่อสร้างแอปข้ามแพลตฟอร์มด้วย SDK ของ Android, iOS และ JavaScript ไคลเอ็นต์ทั้งหมดจะแชร์อินสแตนซ์ 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 แล้วไปที่ File > Add Packages
  2. เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ Firebase Apple Platforms SDK ดังนี้
  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 อื่นๆ ที่ผู้รับมอบสิทธิ์ของแอปใช้ ตัวอย่างเช่น หากต้องการใช้ 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. กำหนดค่าอินสแตนซ์ที่แชร์ในเมธอดของผู้รับมอบสิทธิ์ของแอป:FirebaseAppapplication(_:didFinishLaunchingWithOptions:)

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

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