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