تخزِّن قاعدة بيانات 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"
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++ SDK لتطبيق Firebase Realtime Database.
::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 إمكانية الوصول إلى البيانات بلا إنترنت أو الاحتفاظ بها.