สิ่งที่ต้องดำเนินการก่อน
- ติดตั้ง
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
กำหนดค่ากฎฐานข้อมูล
ฐานข้อมูลเรียลไทม์มีภาษาของกฎเชิงประกาศที่ช่วยให้คุณกำหนดโครงสร้างข้อมูล วิธีที่ควรจัดทำดัชนี และเวลาที่สามารถอ่านและเขียนข้อมูลได้
เริ่มต้นแพ็กเกจฐานข้อมูลเรียลไทม์ของ Firebase
หากต้องการเริ่มใช้แพ็กเกจ Realtime Database ภายในโปรเจ็กต์ ให้นำเข้าแพ็กเกจไว้ที่ด้านบนของไฟล์โปรเจ็กต์ ดังนี้
import 'package:firebase_database/firebase_database.dart';
หากต้องการใช้อินสแตนซ์ฐานข้อมูลเริ่มต้น ให้เรียกโปรแกรม 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