تخزِّن قاعدة بيانات Firebase الآنية الاستجابة البيانات وتزامنها باستخدام قاعدة بيانات NoSQL في السحابة الإلكترونية. تتم مزامنة البيانات على جميع البرامج في الوقت الفعلي، وتظل متاحة عندما يصبح تطبيقك غير متصل بالإنترنت.
قبل البدء
قبل أن تتمكّن من استخدام Firebase Realtime Database، عليك تنفيذ ما يلي:
سجِّل مشروع C++ الخاص بك وأعدَّه لاستخدام Firebase.
إذا كان مشروع C++ يستخدم Firebase من قبل، يكون قد تم تسجيله وإعداده لاستخدام Firebase.
أضِف Firebase C++ SDK إلى مشروع C++.
يُرجى العِلم أنّ إضافة Firebase إلى مشروع C++ يتضمّن مهامًا في كل من وحدة تحكّم Firebase ومشروع C++ المفتوح (على سبيل المثال، يمكنك تنزيل ملفات إعداد Firebase من وحدة التحكّم، ثم نقلها إلى مشروع C++).
إنشاء قاعدة بيانات
انتقِل إلى القسم Realtime Database في Firebase وحدة التحكّم. سيُطلب منك اختيار مشروع حالي على Firebase. اتّبِع سير عمل إنشاء قاعدة البيانات.
اختَر وضعًا لبدء Firebase Security Rules:
- وضع الاختبار
هذه الطريقة مناسبة للبدء باستخدام مكتبات برامج الأجهزة الجوّالة والويب، ولكنّها تتيح لأي شخص قراءة بياناتك واستبدالها. بعد الاختبار، احرص على مراجعة قسم فهم قواعد "قاعدة البيانات الآنية الاستجابة" من Firebase.
لبدء استخدام حزمة تطوير البرامج (SDK) على الويب أو Apple أو Android، اختَر testmode.
- وضع القفل
يتم رفض جميع عمليات القراءة والكتابة من تطبيقات الأجهزة الجوّالة وعملاء الويب. سيظل بإمكان خوادم التطبيقات التي تمّت المصادقة عليها الوصول إلى قاعدة البيانات.
اختَر موقعًا جغرافيًا لقاعدة البيانات.
استنادًا إلى موقع قاعدة البيانات، سيكون عنوان URL لقاعدة البيانات الجديدة بأحد الأشكال التالية:
(لقواعد البيانات فيDATABASE_NAME.firebaseio.com
us-central1
) (لقواعد البيانات في جميع المواقع الجغرافية الأخرى)DATABASE_NAME.REGION.firebasedatabase.app
انقر على تم.
عند تفعيل Realtime Database، يتم أيضًا تفعيل واجهة برمجة التطبيقات في Cloud API Manager.
إنشاء firebase::App وإعداده
قبل أن تتمكّن من الوصول إلى Realtime Database، عليك إنشاء firebase::App
وتهيئته.
ضمِّن ملف العناوين الخاص بـ firebase::App
:
#include "firebase/app.h"
أنشئ firebase::App
، مع تمرير بيئة JNI ومرجع jobject
إلى نشاط Java كمعلَمات:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
أنشئ firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
الوصول إلى فئة firebase::database::Database
firebase::database::Database
هي نقطة الدخول إلى حزمة تطوير البرامج 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 مع ميزة التشغيل بلا إنترنت أو ميزة استمرار التشغيل.