تخزّن قاعدة بيانات Firebase في الوقت الفعلي البيانات وتزامنها باستخدام قاعدة بيانات NoSQL في السحابة الإلكترونية. تتم مزامنة البيانات على جميع الأجهزة في الوقت الفعلي، وتظل متاحة عندما يكون تطبيقك غير متصل بالإنترنت.
قبل البدء
قبل أن تتمكّن من استخدام Firebase Realtime Database، عليك تنفيذ ما يلي:
سجِّل مشروع C++ وأعدَّه لاستخدام Firebase.
إذا كان مشروعك المكتوب بلغة C++ يستخدم Firebase حاليًا، يعني ذلك أنّه مسجَّل ومُعدّ مسبقًا لاستخدام Firebase.
أضِف حزمة تطوير البرامج (SDK) لـ Firebase C++ إلى مشروعك بلغة C++.
يُرجى العِلم أنّ إضافة Firebase إلى مشروع C++ تتضمّن مهامًا في كلّ من وحدة تحكّم Firebase ومشروع C++ المفتوح (على سبيل المثال، يمكنك تنزيل ملفات إعدادات Firebase من وحدة التحكّم، ثم نقلها إلى مشروع C++).
إنشاء قاعدة بيانات
في وحدة تحكّم Firebase، انتقِل إلى قواعد البيانات ومساحة التخزين > قاعدة بيانات الوقت الفعلي.
انقر على إنشاء قاعدة بيانات.
اختَر وضع بدء لجهاز Firebase Security Rules:
- الوضع التجريبي
هذه القواعد مناسبة للبدء في استخدام مكتبات برامج الأجهزة الجوّالة والويب، ولكنّها تسمح لأي شخص بقراءة بياناتك والكتابة فوقها. بعد الاختبار، احرص على مراجعة قسم فهم قواعد "قاعدة بيانات Firebase في الوقت الفعلي".
لبدء استخدام حزمة تطوير البرامج (SDK) للويب أو Apple أو Android، اختَر وضع الاختبار.
- وضع القفل
يتم رفض جميع عمليات القراءة والكتابة من عملاء الأجهزة الجوّالة والويب. سيظل بإمكان خوادم التطبيقات التي تمت مصادقتها الوصول إلى قاعدة بياناتك.
اختَر موقعًا جغرافيًا لقاعدة البيانات.
استنادًا إلى موقع قاعدة البيانات، سيكون عنوان URL لقاعدة البيانات الجديدة بأحد الأشكال التالية:
(لقواعد البيانات فيDATABASE_NAME.firebaseio.comus-central1) (لقواعد البيانات في جميع المواقع الجغرافية الأخرى)DATABASE_NAME.REGION.firebasedatabase.app
انقر على تم.
عند تفعيل Realtime Database، يتم أيضًا تفعيل واجهة برمجة التطبيقات في مدير Cloud API.
إنشاء 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) بلغة C++ في Firebase Realtime Database.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
إذا اخترت استخدام الوصول العام لقواعدك، يمكنك المتابعة إلى الأقسام المتعلقة بحفظ البيانات واستردادها.
إعداد ميزة "الوصول المحدود"
إذا كنت لا تريد استخدام الوصول العام، يمكنك إضافة Firebase Authentication إلى تطبيقك للتحكّم في الوصول إلى قاعدة البيانات.
الخطوات التالية
كيفية تنظيم البيانات لـ "Realtime Database"
يمكنك توسيع نطاق بياناتك على مستوى نُسخ متعددة من قواعد البيانات.
استعِدّ لإطلاق تطبيقك:
- يمكنك إعداد تنبيهات بشأن الميزانية لمشروعك في وحدة تحكّم Google Cloud.
- يمكنك مراقبة لوحة بيانات الاستخدام والفوترة في وحدة تحكّم Firebase للحصول على نظرة عامة على استخدام مشروعك في خدمات Firebase المتعدّدة. يمكنك أيضًا الانتقال إلى لوحة بيانات Realtime Database الاستخدام للحصول على معلومات أكثر تفصيلاً عن الاستخدام.
- راجِع قائمة التحقّق من إطلاق Firebase.
المشاكل المعروفة
- على أجهزة الكمبيوتر المكتبي (Windows وMac وLinux)، تستخدم حزمة تطوير البرامج (SDK) الخاصة بـ Firebase C++ REST للوصول إلى قاعدة بياناتك. لهذا السبب، عليك تعريف الفهارس التي تستخدمها باستخدام Query::OrderByChild() على أجهزة الكمبيوتر المكتبي، وإلا ستتعطّل أدوات معالجة الأحداث.
- لا يتيح إصدار سير العمل على الكمبيوتر المكتبي من "Realtime Database" العمل بلا إنترنت أو الاستمرارية.