بدء استخدام قاعدة بيانات 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.

إنشاء 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" العمل بلا إنترنت أو الاستمرارية.