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