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

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

قبل البدء

قبل أن تتمكّن من استخدام Firebase Realtime Database، عليك إجراء ما يلي:

  • تسجيل مشروع C++ وإعداده لاستخدام Firebase

    إذا كان مشروع C++ يستخدم Firebase، يكون مسجّلاً ومعدًّا لاستخدام Firebase.

  • إضافة حزمة Firebase C++ SDK إلى مشروع C++

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

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

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

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

  3. اختَر وضعًا لبدء استخدام Firebase Security Rules

    وضع الاختبار

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

    .

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

    وضع القفل

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

  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 هي نقطة الدخول إلى حزمة Firebase Realtime Database C++ SDK.

::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);

إذا اخترت استخدام الوصول العام لقواعدك، يمكنك الانتقال إلى الأقسام المتعلقة بحفظ البيانات واستردادها.

إعداد الوصول المحدود

إذا كنت لا تريد استخدام الوصول العام، يمكنك إضافة Firebase Authentication إلى تطبيقك للتحكّم في الوصول إلى قاعدة البيانات.

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

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

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