תחילת העבודה עם מסד נתונים בזמן אמת ב-Firebase עבור C++

ב-Firebase Realtime Database, הנתונים מאוחסנים ומסונכרנים באמצעות מסד נתונים בענן מסוג NoSQL. הנתונים מסונכרנים עם כל הלקוחות בזמן אמת, ונשארים זמינים גם כשהאפליקציה עוברת למצב אופליין.

לפני שתתחיל

כדי להשתמש ב-Firebase Realtime Database, צריך:

  • רושמים את פרויקט C++‎ ומגדירים אותו לשימוש ב-Firebase.

    אם פרויקט C++ שלכם כבר משתמש ב-Firebase, הוא כבר רשום ומוגדר ל-Firebase.

  • מוסיפים את Firebase C++ SDK לפרויקט C++‎.

שימו לב שהוספת Firebase לפרויקט C++‎ כוללת משימות גם במסוף Firebase וגם בפרויקט C++‎ הפתוח (לדוגמה, מורידים קובצי תצורה של Firebase מהמסוף ואז מעבירים אותם לפרויקט C++‎).

יצירת מסד נתונים

  1. במסוף Firebase, עוברים אל Databases & Storage (מסדי נתונים ואחסון) >‏ Realtime Database (מסד נתונים בזמן אמת).

  2. לוחצים על יצירת מסד נתונים.

  3. בוחרים מצב התחלה ל-Firebase Security Rules:

    מצב בדיקה

    מתאים להתחלת העבודה עם ספריות לקוח לנייד ולאינטרנט, אבל מאפשר לכל אחד לקרוא ולשכתב את הנתונים. אחרי הבדיקה, חשוב לעיין בקטע הסבר על כללים במסד נתונים בזמן אמת ב-Firebase.

    כדי להתחיל להשתמש ב-SDK לאתרים, ל-Apple או ל-Android, בוחרים באפשרות testmode.

    מצב נעילה

    הגישה לכל פעולות הקריאה והכתיבה מלקוחות ניידים ומלקוחות אינטרנט נחסמת. שרתי האפליקציות המאומתים עדיין יכולים לגשת למסד הנתונים.

  4. בוחרים מיקום למסד הנתונים.

    בהתאם למיקום של מסד הנתונים, כתובת ה-URL של מסד הנתונים החדש תהיה באחד מהפורמטים הבאים:

    • DATABASE_NAME.firebaseio.com (למסדי נתונים ב-us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app (למסדי נתונים בכל המיקומים האחרים)

  5. לוחצים על סיום.

כשמפעילים את 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 לאפליקציה כדי לשלוט בגישה למסד הנתונים.

השלבים הבאים

בעיות ידועות

  • בפלטפורמות למחשבים (Windows,‏ Mac,‏ Linux),‏ SDK‏ Firebase C++ משתמש ב-REST כדי לגשת למסד הנתונים. לכן, צריך להצהיר על האינדקסים שבהם משתמשים באמצעות Query::OrderByChild()‎ במחשב, אחרת המאזינים ייכשלו.
  • גרסת Realtime Database למחשב לא תומכת בשימוש אופליין או בשימור נתונים.