דרישות מוקדמות
- מתקינים את
firebase_coreומוסיפים את קוד ההפעלה לאפליקציה, אם עוד לא עשיתם זאת. - מוסיפים את האפליקציה לפרויקט Firebase במסוף Firebase.
יצירת מסד נתונים
עוברים לקטע מסד נתונים בזמן אמת במסוף Firebase. תתבקשו לבחור פרויקט קיים ב-Firebase. פועלים לפי תהליך העבודה ליצירת מסד נתונים.
בוחרים מצב התחלתי לכללי האבטחה:
מצב בדיקה
החשבון הזה מתאים להתחלת העבודה עם ספריות לקוח לנייד ולאינטרנט, אבל כל אחד יכול לקרוא ולשכתב את הנתונים שלכם. אחרי הבדיקה, חשוב לעיין בקטע הסבר על כללי מסד נתונים בזמן אמת ב-Firebase.
כדי להתחיל, בוחרים באפשרות testmode.
מצב נעילה
דחיית כל הקריאות והכתיבות מלקוחות ניידים ואינטרנט. שרתי האפליקציות המאומתים שלכם עדיין יכולים לגשת למסד הנתונים.
בוחרים אזור למסד הנתונים. בהתאם לאזור שתבחרו, מרחב השמות של מסד הנתונים יהיה מהצורה
<databaseName>.firebaseio.comאו<databaseName>.<region>.firebasedatabase.app. מידע נוסף זמין במאמר בנושא בחירת מיקומים לפרויקט.לוחצים על סיום.
כשמפעילים את מסד נתונים בזמן אמת, ה-API מופעל גם בCloud API Manager.
הוספת מסד נתונים בזמן אמת ב-Firebase לאפליקציה
מריצים את הפקודה הבאה כדי להתקין את הפלאגין מהרמה הבסיסית (root) של פרויקט Flutter:
flutter pub add firebase_databaseבסיום התהליך, צריך לבנות מחדש את אפליקציית Flutter:
flutter run
הגדרת כללים למסד הנתונים
ב-מסד נתונים בזמן אמת יש שפת כללים הצהרתית שמאפשרת לכם להגדיר איך הנתונים צריכים להיות מובְנים, איך הם צריכים להיות מאונדקסים ומתי אפשר לקרוא את הנתונים ולכתוב אותם.
הפעלת חבילת מסד נתונים בזמן אמת ב-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/');