بدء استخدام قاعدة بيانات Firebase في الوقت الفعلي لـ C++

تخزّن قاعدة بيانات Firebase في الوقت الفعلي البيانات وتزامنها باستخدام قاعدة بيانات NoSQL في السحابة الإلكترونية. تتم مزامنة البيانات على جميع الأجهزة في الوقت الفعلي، وتظل متاحة عندما يكون تطبيقك غير متصل بالإنترنت.

قبل البدء

قبل أن تتمكّن من استخدام Firebase Realtime Database، عليك تنفيذ ما يلي:

  • سجِّل مشروع C++‎ وأعدَّه لاستخدام Firebase.

    إذا كان مشروعك المكتوب بلغة C++‎ يستخدم Firebase حاليًا، يعني ذلك أنّه سبق تسجيله وإعداده لاستخدام Firebase.

  • أضِف حزمة تطوير البرامج (SDK) لـ Firebase C++ إلى مشروعك بلغة C++‎.

يُرجى العِلم أنّ إضافة Firebase إلى مشروع C++‎ تتضمّن مهامًا في كلّ من وحدة تحكّم Firebase ومشروع C++‎ المفتوح (على سبيل المثال، يمكنك تنزيل ملفات إعداد Firebase من وحدة التحكّم، ثم نقلها إلى مشروع C++‎).

إنشاء قاعدة بيانات

  1. في وحدة تحكّم Firebase، انتقِل إلى قواعد البيانات ومساحة التخزين > قاعدة بيانات الوقت الفعلي.

  2. انقر على إنشاء قاعدة بيانات.

  3. اختَر وضع البدء لجهاز Firebase Security Rules:

    الوضع التجريبي

    هذه القواعد مناسبة لبدء استخدام مكتبات برامج الويب والأجهزة الجوّالة، ولكنّها تسمح لأي مستخدم بقراءة بياناتك واستبدالها. بعد الاختبار، تأكَّد من مراجعة قسم فهم قواعد "قاعدة بيانات Firebase في الوقت الفعلي".

    للبدء باستخدام حزمة تطوير البرامج (SDK) للويب أو Apple أو Android، اختَر وضع الاختبار.

    وضع القفل

    يتم رفض جميع عمليات القراءة والكتابة من برامج الأجهزة الجوّالة والويب. سيظل بإمكان خوادم التطبيقات التي تمت مصادقتها الوصول إلى قاعدة بياناتك.

  4. اختَر موقعًا جغرافيًا لقاعدة البيانات.

    استنادًا إلى موقع قاعدة البيانات الجغرافي، سيكون عنوان URL لقاعدة البيانات الجديدة بأحد الأشكال التالية:

    • DATABASE_NAME.firebaseio.com (لقواعد البيانات في us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app (لقواعد البيانات في جميع المواقع الجغرافية الأخرى)

  5. انقر على تم.

عند تفعيل 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 إلى تطبيقك للتحكّم في الوصول إلى قاعدة البيانات.

الخطوات التالية

المشاكل المعروفة

  • على أجهزة الكمبيوتر المكتبي (Windows وMac وLinux)، تستخدم حزمة تطوير البرامج (SDK) الخاصة بـ Firebase C++ REST للوصول إلى قاعدة بياناتك. لهذا السبب، يجب توضيح الفهارس التي تستخدمها مع Query::OrderByChild()‎ على أجهزة الكمبيوتر المكتبي، وإلا ستتعطّل أدوات الاستماع.
  • لا يتيح إصدار سير العمل على الكمبيوتر المكتبي من "Realtime Database" العمل بلا إنترنت أو الاحتفاظ بالبيانات.