ข้อกำหนดเบื้องต้น
- ติดตั้ง
firebase_coreและเพิ่มโค้ดการเริ่มต้นลงในแอปหากยังไม่ได้ทำ - เพิ่มแอปของคุณลงในโปรเจ็กต์ Firebase ในคอนโซล Firebase
สร้างฐานข้อมูล
ในคอนโซล Firebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database
คลิกสร้างฐานข้อมูล
เลือกโหมดเริ่มต้นสำหรับ Firebase Security Rules ดังนี้
โหมดทดสอบ
เหมาะสำหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์บนอุปกรณ์เคลื่อนที่และเว็บ แต่จะอนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังจากทดสอบแล้ว โปรดอ่านส่วนทำความเข้าใจกฎฐานข้อมูลเรียลไทม์ของ Firebase
เลือกโหมดทดสอบเพื่อเริ่มต้นใช้งาน
โหมดล็อกขณะคุมสอบ
ปฏิเสธการอ่านและการเขียนทั้งหมดจากไคลเอ็นต์บนอุปกรณ์เคลื่อนที่และเว็บ เซิร์ฟเวอร์แอปพลิเคชันที่ตรวจสอบสิทธิ์แล้วจะยังคงเข้าถึงฐานข้อมูลของคุณได้
เลือกภูมิภาคสำหรับฐานข้อมูล เนมสเปซของฐานข้อมูลจะอยู่ในรูปแบบ
<databaseName>.firebaseio.comหรือ<databaseName>.<region>.firebasedatabase.appทั้งนี้ขึ้นอยู่กับภูมิภาคที่คุณเลือก ดูข้อมูลเพิ่มเติมได้ที่เลือกสถานที่ตั้งสำหรับโปรเจ็กต์คลิกเสร็จสิ้น
เมื่อเปิดใช้ Realtime Database ระบบจะเปิดใช้ API ใน Cloud API Manager ด้วย
เพิ่มฐานข้อมูลเรียลไทม์ของ Firebase ลงในแอป
จากรูทของโปรเจ็กต์ Flutter ให้เรียกใช้คําสั่งต่อไปนี้เพื่อติดตั้งปลั๊กอิน
flutter pub add firebase_databaseเมื่อเสร็จแล้ว ให้สร้างแอปพลิเคชัน Flutter อีกครั้งโดยทำดังนี้
flutter run
กำหนดค่ากฎฐานข้อมูล
Realtime Database มีภาษาของกฎแบบประกาศที่ช่วยให้คุณกำหนดวิธีจัดโครงสร้างข้อมูล วิธีจัดทำดัชนี และเวลาที่สามารถอ่านและเขียนข้อมูลได้
เริ่มต้นแพ็กเกจฐานข้อมูลเรียลไทม์ของ Firebase
หากต้องการเริ่มใช้แพ็กเกจ Realtime Database ภายในโปรเจ็กต์ ให้นําเข้าแพ็กเกจที่ด้านบนของไฟล์โปรเจ็กต์ ดังนี้
import 'package:firebase_database/firebase_database.dart';
หากต้องการใช้อินสแตนซ์ฐานข้อมูลเริ่มต้น ให้เรียกใช้เมธอด Getter instance ใน FirebaseDatabase ดังนี้
FirebaseDatabase database = FirebaseDatabase.instance;
หากต้องการใช้กับแอป Firebase รอง ให้ใช้เมธอด instanceFor แบบคงที่ ดังนี้
FirebaseApp secondaryApp = Firebase.app('SecondaryApp');
FirebaseDatabase database = FirebaseDatabase.instanceFor(app: secondaryApp);
หากต้องการใช้อินสแตนซ์ RTDB อื่นในโปรเจ็กต์เดียวกัน คุณสามารถส่ง databaseUrl โดยใช้เมธอด instanceFor แบบคงที่ได้ ดังนี้
final firebaseApp = Firebase.app();
final rtdb = FirebaseDatabase.instanceFor(app: firebaseApp, databaseURL: 'https://your-realtime-database-url.firebaseio.com/');
ขั้นตอนถัดไป
ดูวิธีจัดโครงสร้างข้อมูลสำหรับ Realtime Database