מסד הנתונים בזמן אמת ב-Firebase מאחסן ומסנכרן נתונים באמצעות מסד נתונים בענן של NoSQL. הנתונים מסונכרנים עם כל הלקוחות בזמן אמת, ונשארים זמינים גם כשהאפליקציה עוברת למצב אופליין.
לפני שתתחיל
לפני שתוכלו להשתמש ב-Firebase Realtime Database, אתם צריכים:
רושמים את פרויקט C++ ומגדירים אותו לשימוש ב-Firebase.
אם פרויקט C++ שלכם כבר משתמש ב-Firebase, הוא כבר רשום ומותאם ל-Firebase.
מוסיפים את Firebase C++ SDK לפרויקט C++.
שימו לב שהוספת Firebase לפרויקט C++ כוללת משימות גם במסוף Firebase וגם בפרויקט C++ הפתוח (לדוגמה, אתם מורידים קובצי תצורה של Firebase מהמסוף ואז מעבירים אותם לפרויקט C++).
יצירת מסד נתונים
במסוף Firebase, עוברים אל Databases & Storage (מסדי נתונים ואחסון) > Realtime Database (מסד נתונים בזמן אמת).
לוחצים על יצירת מסד נתונים.
בוחרים מצב התחלתי ל-Firebase Security Rules:
- מצב בדיקה
מתאים להתחלת העבודה עם ספריות לקוח לאינטרנט ולנייד, אבל מאפשר לכל אחד לקרוא ולשכתב את הנתונים. אחרי הבדיקה, חשוב לעיין בקטע הסבר על כללים במסד נתונים בזמן אמת ב-Firebase.
כדי להתחיל להשתמש ב-SDK לאתרים, ל-Apple או ל-Android, בוחרים באפשרות testmode.
- מצב נעילה
דוחה את כל פעולות הקריאה והכתיבה מלקוחות ניידים ומלקוחות אינטרנט. שרתי האפליקציות המאומתים שלכם עדיין יכולים לגשת למסד הנתונים.
בוחרים מיקום למסד הנתונים.
בהתאם למיקום של מסד הנתונים, כתובת ה-URL של מסד הנתונים החדש תהיה באחד מהפורמטים הבאים:
(למסדי נתונים ב-DATABASE_NAME.firebaseio.comus-central1) (למסדי נתונים בכל המיקומים האחרים)DATABASE_NAME.REGION.firebasedatabase.app
לוחצים על סיום.
כשמפעילים את Realtime Database, הוא מופעל גם בCloud API Manager.
יצירה והפעלה של firebase::App
כדי לגשת אל Realtime Database, צריך ליצור את firebase::App ולאתחל אותו.
כוללים את קובץ הכותרת של firebase::App:
#include "firebase/app.h"
Android
יוצרים את firebase::App, ומעבירים את סביבת ה-JNI ואת jobject
ההפניה לפעילות Java כארגומנטים:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS+
יצירת firebase::App:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
גישה למחלקה firebase::database::Database
firebase::database::Database הוא נקודת הכניסה ל-SDK של Firebase Realtime Database C++.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
אם בחרתם להשתמש בגישה ציבורית לכללים, אתם יכולים להמשיך לקטעים בנושא שמירה ואחזור של נתונים.
הגדרת גישה מוגבלת
אם אתם לא רוצים להשתמש בגישה ציבורית, אתם יכולים להוסיף Firebase Authentication לאפליקציה כדי לשלוט בגישה למסד הנתונים.
השלבים הבאים
כך מעצבים נתונים בשביל Realtime Database.
הכנות להשקת האפליקציה:
- מגדירים התראות לגבי תקציב לפרויקט במסוף Google Cloud.
- כדי לקבל תמונה כוללת של השימוש בפרויקט בכמה שירותי Firebase, אפשר לעקוב אחרי לוח הבקרה 'שימוש וחיוב' במסוף Firebase. מידע מפורט יותר על השימוש זמין גם בRealtime Database מרכז הבקרה Usage.
- עיון ברשימת המשימות להשקה של Firebase.
בעיות ידועות
- בפלטפורמות למחשבים (Windows, Mac, Linux), Firebase C++ SDK משתמש ב-REST כדי לגשת למסד הנתונים שלכם. לכן, אתם צריכים להצהיר על האינדקסים שבהם אתם משתמשים באמצעות Query::OrderByChild() במחשב, אחרת המאזינים שלכם ייכשלו.
- גרסת Realtime Database למחשב לא תומכת בשימוש אופליין או בשימור נתונים.