Firebase Realtime Database เป็นฐานข้อมูลที่โฮสต์บนระบบคลาวด์ ระบบจะจัดเก็บข้อมูลเป็น JSON และซิงค์ข้อมูลแบบเรียลไทม์กับไคลเอ็นต์ที่เชื่อมต่อทุกราย เมื่อคุณสร้างแอปข้ามแพลตฟอร์มด้วย Android, iOS และ JavaScript SDK ไคลเอ็นต์ทั้งหมดจะแชร์อินสแตนซ์ Realtime Database เดียวกันและรับการอัปเดตด้วยข้อมูลใหม่ล่าสุดโดยอัตโนมัติ
Firebase Realtime Database พร้อมใช้งานในแพลตฟอร์ม Apple ทั้งหมด ซึ่งรวมถึง iOS, macOS, macOS Catalyst, tvOS และ watchOS และใช้ไม่ได้กับ App Clip วิธีการตั้งค่าในหน้านี้อ้างอิง iOS ในตัวอย่างที่เฉพาะเจาะจง แต่เป็นวิธีการทั่วไปและใช้ได้กับเป้าหมายแพลตฟอร์ม Apple ทุกแพลตฟอร์ม
ข้อกำหนดเบื้องต้น
- ติดตั้ง Firebase SDK
- เพิ่มแอปลงในโปรเจ็กต์ Firebase ในคอนโซล Firebase
สร้างฐานข้อมูล
ในคอนโซล Firebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database
คลิกสร้างฐานข้อมูล
เลือกโหมดเริ่มต้นสำหรับ Firebase Security Rules ดังนี้
- โหมดทดสอบ
เหมาะสำหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์บนอุปกรณ์เคลื่อนที่และเว็บ แต่จะอนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังจากทดสอบแล้ว โปรดอ่านส่วนทำความเข้าใจกฎฐานข้อมูลเรียลไทม์ของ Firebase
หากต้องการเริ่มต้นใช้งาน SDK สำหรับเว็บ, Apple หรือ Android ให้เลือก testmode
- โหมดล็อกขณะคุมสอบ
ปฏิเสธการอ่านและเขียนทั้งหมดจากไคลเอ็นต์บนอุปกรณ์เคลื่อนที่และเว็บ เซิร์ฟเวอร์แอปพลิเคชันที่ตรวจสอบสิทธิ์แล้วจะยังคงเข้าถึงฐานข้อมูลของคุณได้
เลือกตำแหน่งสำหรับฐานข้อมูล
URL ของฐานข้อมูลใหม่จะอยู่ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับตำแหน่งของฐานข้อมูล
(สำหรับฐานข้อมูลในDATABASE_NAME.firebaseio.comus-central1) (สำหรับฐานข้อมูลในตำแหน่งอื่นๆ ทั้งหมด)DATABASE_NAME.REGION.firebasedatabase.app
คลิกเสร็จสิ้น
เมื่อเปิดใช้ Realtime Database ระบบจะเปิดใช้ API ใน Cloud API Manager ด้วย
เพิ่ม Firebase Realtime Database ลงในแอป
ใช้ Swift Package Manager เพื่อติดตั้งและจัดการทรัพยากร Dependency ของ Firebase
- ใน Xcode ขณะที่โปรเจ็กต์แอปเปิดอยู่ ให้ไปที่ไฟล์ > เพิ่มแพ็กเกจ
- เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ SDK ของ Firebase สำหรับแพลตฟอร์ม Apple ดังนี้
- เลือกคลัง Realtime Database
- เพิ่มแฟล็ก
-ObjCลงในส่วน Other Linker Flags ของการตั้งค่าบิลด์ของเป้าหมาย - เมื่อเสร็จแล้ว Xcode จะเริ่มแก้ไขและดาวน์โหลดทรัพยากร Dependency ในเบื้องหลังโดยอัตโนมัติ
https://github.com/firebase/firebase-ios-sdk.git
กำหนดค่า Realtime Database Security Rules
Realtime Database มีภาษาของกฎแบบประกาศที่ช่วยให้คุณกำหนดวิธีจัดโครงสร้างข้อมูล วิธีจัดทำดัชนีข้อมูล และเวลาที่สามารถอ่านและเขียนข้อมูลได้
ตั้งค่า Firebase Realtime Database
คุณต้องเริ่มต้น Firebase ก่อนที่จะสร้างหรือใช้การอ้างอิงแอป Firebase หากคุณเคยทำขั้นตอนนี้แล้วสำหรับฟีเจอร์ Firebase อื่น ก็ข้ามขั้นตอนนี้ได้
- นำเข้าโมดูล
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; // ...
- กำหนดค่าอินสแตนซ์ที่ใช้ร่วมกันของ
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];
- หากใช้ SwiftUI คุณต้องสร้างผู้รับมอบสิทธิ์แอปพลิเคชันและแนบกับโครงสร้าง
Appผ่านUIApplicationDelegateAdaptorหรือNSApplicationDelegateAdaptorนอกจากนี้ คุณต้องปิดใช้การสลับผู้รับมอบสิทธิ์ของแอปด้วย ดูข้อมูลเพิ่มเติมได้ในวิธีการสำหรับ SwiftUISwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- สร้างการอ้างอิงไปยังฐานข้อมูลและระบุตำแหน่งที่ต้องการเขียน
Swift
หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ใช้ไม่ได้กับเป้าหมาย App Clipvar ref: DatabaseReference! ref = Database.database().reference()
Objective-C
หมายเหตุ: ผลิตภัณฑ์ Firebase นี้ใช้ไม่ได้กับเป้าหมาย App Clip@property (strong, nonatomic) FIRDatabaseReference *ref; self.ref = [[FIRDatabase database] reference];
ขั้นตอนถัดไป
ดูวิธีจัดโครงสร้างข้อมูลสำหรับ Realtime Database
เตรียมพร้อมเปิดตัวแอปโดยทำดังนี้
เปิดใช้ App Check เพื่อช่วยให้มั่นใจว่ามีเพียงแอปของคุณเท่านั้นที่เข้าถึงฐานข้อมูลได้
ตั้งค่าการแจ้งเตือนงบประมาณสำหรับโปรเจ็กต์ในคอนโซล Google Cloud
ตรวจสอบแดชบอร์ดการใช้งานและการเรียกเก็บเงินในคอนโซล Firebase เพื่อดูภาพรวมการใช้งานโปรเจ็กต์ในบริการต่างๆ ของ Firebase นอกจากนี้ คุณยังไปที่แดชบอร์ดRealtime Databaseการใช้งานเพื่อดูข้อมูลการใช้งานโดยละเอียดได้ด้วย