מסד הנתונים בזמן אמת ב-Firebase מאחסן ומסנכרן נתונים באמצעות מסד נתונים בענן של NoSQL. הנתונים מסונכרנים עם כל הלקוחות בזמן אמת, ונשארים זמינים גם כשהאפליקציה עוברת למצב אופליין.
לפני שתתחיל
לפני שתוכלו להשתמש ב-Firebase Realtime Database, אתם צריכים:
רושמים את פרויקט C++ ומגדירים אותו לשימוש ב-Firebase.
אם פרויקט ה-C++ שלכם כבר משתמש ב-Firebase, הוא כבר רשום ומוגדר ל-Firebase.
מוסיפים את Firebase C++ SDK לפרויקט C++.
שימו לב: כדי להוסיף את Firebase לפרויקט ב-C++, צריך לבצע משימות גם במסוף Firebase וגם בפרויקט הפתוח ב-C++ (לדוגמה, מורידים את קובצי התצורה של Firebase מהמסוף ומעבירים אותם לפרויקט ב-C++).
יצירת מסד נתונים
במסוף Firebase, נכנסים אל Databases & Storage > מסד נתונים בזמן אמת.
לוחצים על Create database.
צריך לבחור מצב התחלה ל-Firebase Security Rules:
- מצב בדיקה
מתאים לתחילת העבודה עם ספריות הלקוח לנייד ולאינטרנט, אבל מאפשר לכל אחד לקרוא את הנתונים שלכם ולשכתב אותם. אחרי הבדיקה, חשוב לעיין בקטע הסבר על כללי מסד הנתונים בזמן אמת ב-Firebase.
כדי להתחיל להשתמש ב-SDK לאינטרנט, ל-Apple או ל-Android, בוחרים באפשרות testmode.
- מצב נעילה
דוחה את כל פעולות הקריאה והכתיבה מלקוחות בנייד ובאינטרנט. שרתי האפליקציות המאומתים עדיין יכולים לגשת למסד הנתונים.
בוחרים מיקום למסד הנתונים.
בהתאם למיקום של מסד הנתונים, כתובת ה-URL של מסד הנתונים החדש תהיה באחת מהצורות הבאות:
(למסדי נתונים ב-DATABASE_NAME.firebaseio.comus-central1) (למסדי נתונים בכל המיקומים האחרים)DATABASE_NAME.REGION.firebasedatabase.app
לוחצים על סיום.
כשמפעילים את Realtime Database, ה-API מופעל גם ב-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, עקבו אחרי לוח הבקרה Usage and billing במסוף Firebase. אפשר גם להיכנס ללוח הבקרה Usage של Realtime Database כדי לקבל נתוני שימוש מפורטים יותר.
- עיינו ברשימת המשימות להשקה של Firebase.
בעיות ידועות
- בפלטפורמות למחשב (Windows, Mac, Linux), ערכת ה-SDK של Firebase C++ משתמשת ב-REST כדי לגשת למסד הנתונים. לכן, אתם צריכים להצהיר על האינדקסים שבהם אתם משתמשים באמצעות Query::OrderByChild() במחשב, אחרת המאזינים ייכשלו.
- גרסת תהליך העבודה למחשב של Realtime Database לא תומכת במצב אופליין או בנתונים מתמידים.