ข้อกำหนดเบื้องต้น
- ติดตั้ง
firebase_coreและเพิ่มโค้ดการเริ่มต้น ลงในแอปหากยังไม่ได้ทำ - เพิ่มแอปของคุณลงในโปรเจ็กต์ Firebase ในคอนโซล Firebase
สร้างฐานข้อมูล
ไปที่ส่วนฐานข้อมูลเรียลไทม์ของคอนโซล Firebase ระบบจะแจ้งให้คุณเลือกโปรเจ็กต์ Firebase ที่มีอยู่ ทำตามขั้นตอนการสร้างฐานข้อมูล
เลือกโหมดเริ่มต้นสำหรับกฎความปลอดภัย
โหมดทดสอบ
เหมาะสําหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ แต่จะอนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังจากทดสอบแล้ว อย่าลืมตรวจสอบส่วนทำความเข้าใจกฎของฐานข้อมูลเรียลไทม์ของ Firebase
เลือก testmode เพื่อเริ่มต้นใช้งาน
โหมดล็อกขณะคุมสอบ
ปฏิเสธการอ่านและการเขียนทั้งหมดจากไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ เซิร์ฟเวอร์แอปพลิเคชันที่ได้รับการตรวจสอบสิทธิ์จะยังเข้าถึงฐานข้อมูลได้
เลือกภูมิภาคสำหรับฐานข้อมูล เนมสเปซของฐานข้อมูลจะมีรูปแบบเป็น
<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';
หากต้องการใช้อินสแตนซ์ฐานข้อมูลเริ่มต้น ให้เรียกใช้ instance
getter ใน 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