تخزّن "قاعدة بيانات 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، اختَر 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
هي نقطة الدخول إلى حزمة تطوير البرامج (SDK) الخاصة بـ Firebase Realtime Database بلغة C++.
::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++ واجهة REST للوصول إلى قاعدة البيانات. لهذا السبب، يجب الإفصاح عن الفهارس التي تستخدمها مع Query::OrderByChild() على الكمبيوتر المكتبي وإلا ستتعذّر عمليات الاستماع.
- لا يتوافق إصدار سير العمل على الكمبيوتر المكتبي من Realtime Database مع وضع عدم الاتصال بالإنترنت أو مع ميزة استمرار التشغيل.