تخزّن قاعدة بيانات 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 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) بلغة 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" العمل بلا إنترنت أو الاحتفاظ بالبيانات.