إضافة Firebase إلى مشروع C++ الخاص بك

عزِّز قدرات ألعاب C++ الخاصة بنا باستخدام حزم SDK الخاصة بـ Firebase C++ التي توفر لغة C++ بالإضافة إلى حِزم تطوير البرامج (SDK) لمنصّة Firebase

يمكنك الوصول إلى Firebase بالكامل باستخدام رمز C++، بدون الحاجة إلى كتابة التعليمات البرمجية الأصلية للنظام الأساسي. تعمل حزمة تطوير البرامج (SDK) لمنصة Firebase أيضًا على ترجمة العديد من اللغات المصطلحات الاصطلاحية التي يستخدمها Firebase في واجهة أكثر دراية بمطوري C++.

لمزيد من المعلومات عن تحسين أداء ألعابك باستخدام Firebase، انتقِل إلى صفحة ألعاب Firebase:

هل أضفت Firebase بالفعل إلى مشروع C++ الخاص بك؟ تأكد من استخدام أحدث إصدار من حزمة تطوير البرامج (SDK) Firebase C++.


المتطلبات الأساسية

  • ثبِّت ما يلي:

    • Xcode 13.3.1 أو إصدار أحدث
    • الإصدار 1.12.0 من CocoaPods أو إصدار أحدث
  • تأكد من أن مشروعك يستهدف إصدارات النظام الأساسي التالية أو الإصدارات الأحدث:

    • الإصدار 13 من نظام التشغيل iOS
    • نظام التشغيل tvOS 13
  • يمكنك إعداد جهاز فعلي أو استخدام المحاكي لتشغيل تطبيقك.

  • سجِّل الدخول إلى Firebase باستخدام حساب Google الخاص بك.

الخطوة 2: إنشاء مشروع على Firebase

قبل أن تتمكن من إضافة Firebase إلى مشروع C++ ، يجب إنشاء Firebase للاتصال بمشروع C++ الخاص بك. زيارة الموقع يمكنك فهم مشاريع Firebase للحصول على مزيد من المعلومات حول. مشاريع Firebase:

الخطوة 3: تسجيل تطبيقك في Firebase

لاستخدام Firebase في تطبيق Apple، يجب تسجيل تطبيقك في مشروع على Firebase. وعادةً ما يُطلق على تسجيل تطبيقك اسم "الإضافة". تطبيقك إلى مشروعك.

  1. انتقِل إلى وحدة تحكُّم Firebase.

  2. في منتصف صفحة النظرة العامة على المشروع، انقر على رمز +iOS لبدء عملية الإعداد

    إذا سبق لك إضافة تطبيق إلى مشروعك على Firebase، انقر على إضافة تطبيق. لعرض خيارات النظام الأساسي.

  3. أدخِل معرّف حزمة التطبيق في الحقل معرّف الحزمة.

  4. (اختياري) أدخِل معلومات أخرى عن التطبيق: اسم التطبيق ورقم تعريف متجر التطبيقات.

  5. انقر على تسجيل التطبيق.

الخطوة 4: إضافة ملف إعداد Firebase

  1. انقر على تنزيل GoogleService-Info.plist للحصول على جهاز Firebase Apple. ملف تهيئة الأنظمة الأساسية.

  2. افتح مشروع C++ في بيئة IDE، ثم اسحب ملف التكوين إلى الجذر. من مشروع C++ الخاص بك.

  3. اختَر إضافة ملف الإعداد إلى جميع الأهداف، إذا طُلب منك ذلك.

لقد انتهيت من عملية الإعداد في وحدة تحكّم "Firebase". المتابعة إلى يمكنك إضافة حِزم تطوير البرامج (SDK) لـ Firebase C++ أدناه.

الخطوة 5: إضافة حِزم تطوير البرامج (SDK) لمنصة Firebase C++

الخطوات الواردة في هذا القسم هي مثال على كيفية إضافة منتجات Firebase المتوافقة على Firebase مشروع C++.

  1. نزِّل حزمة تطوير البرامج (SDK) Firebase C++، ثم فُكّ ضغط حزمة SDK في مكان مناسب.

    حزمة تطوير البرامج (SDK) Firebase من نوع C++ ليست خاصة بالنظام الأساسي، ولكنّها تحتوي على المكتبات الخاصة بأنظمة أساسية محددة.

  2. أضِف مجموعات Firebase من حزمة تطوير البرامج (SDK) غير المضغوطة.

    1. أنشئ ملف Podfile إذا لم يكن لديك ملف بالفعل:

      cd your-app-directory
      pod init

    2. إلى Podfile، أضِف مجموعات Firebase التي تريد استخدامها في التطبيق.

      تم تفعيل Analytics.

      # Add the Firebase pod for Google Analytics
      pod 'FirebaseAnalytics'
      # Add the pods for any other Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase'

      لم يتم تفعيل Analytics

      # Add the pods for the Firebase products you want to use in your app
      # For example, to use Firebase Authentication and Firebase Realtime Database
      pod 'FirebaseAuth'
      pod 'FirebaseDatabase'
    3. ثبِّت المجموعات، ثم افتح ملف .xcworkspace في Xcode.

      pod install
      open your-app.xcworkspace

  3. إضافة أطر Firebase من الملف المضغوط SDK.

    تتمثل أسهل طريقة لإضافة أطر العمل هذه عادةً في سحبها من نافذة Finder مباشرة في جزء Project Navigator (أداة التنقل) في Xcode ( الجزء الأقصى الأيسر افتراضيًا؛ أو انقر فوق أيقونة الملف في أعلى يسار Xcode).

    1. أضف إطار عمل Firebase C++ firebase.framework، وهو مطلوبة لاستخدام أيّ منتج في Firebase

    2. أضِف إطار العمل لكل منتج تريد استخدامه في Firebase. بالنسبة على سبيل المثال، لاستخدام Firebase Authentication، أضف firebase_auth.framework.

  4. في وحدة تحكُّم Firebase، انقر على التالي في سير عمل الإعداد.

  5. في حال إضافة Analytics، يمكنك تشغيل تطبيقك لإرسال طلب إثبات الملكية إلى Firebase. أنك دمجت Firebase بنجاح. بخلاف ذلك، يمكنك تخطي هذا التحقق من هوية المعلِن.

    ستعرض سجلّات جهازك رسالة التحقّق من Firebase التي أُجريت مكتملة. إذا شغّلت تطبيقك على محاكي لديه إمكانية الوصول إلى الشبكة، تعلِمك وحدة تحكّم Firebase باكتمال ربط تطبيقك.

اكتملت عملية الإعداد تم تسجيل تطبيق C++ وإعداده لاستخدام Firebase المنتجات.

المكتبات المتاحة

يمكنك معرفة المزيد عن مكتبات C++ Firebase من خلال المستندات المرجعية وفي حزمة تطوير البرامج (SDK) المفتوحة المصدر على GitHub.

المكتبات المتاحة لأنظمة Apple الأساسية

لاحظ أن مكتبات C++ لنظام Android مدرجة ضمن إصدار Android من هذا، .

يحتوي كل منتج في Firebase على تبعيات مختلفة. تأكد من إضافة جميع أدرجت التبعيات لمنتج Firebase المطلوب في Podfile مشروع C++.

قد يتوافق كل منتج من منتجات Firebase فقط مع مجموعة مختارة من أنظمة التشغيل Apple OS (iOS، tvOS وما إلى ذلك). الاطّلاع على الأنظمة الأساسية المتوافقة مع كل مكتبة مزيد من المعلومات عن C++ وFirebase

منتج Firebase الإطارات والمجموعات
AdMob (مطلوب) firebase.framework
firebase_admob.framework
(مطلوب) firebase_analytics.framework

pod 'FirebaseAdMob', '11.0.0'
(مطلوب) pod 'FirebaseAnalytics', '11.0.0'
Analytics (مطلوب) firebase.framework
firebase_analytics.framework

pod 'FirebaseAnalytics', '11.0.0'
App Check (مطلوب) firebase.framework
firebase_app_check.framework

pod 'FirebaseAppCheck', '11.0.0'
Authentication (مطلوب) firebase.framework
firebase_auth.framework

pod 'FirebaseAuth', '11.0.0'
Cloud Firestore (مطلوب) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'FirebaseFirestore', '11.0.0'
pod 'FirebaseAuth', '11.0.0'
Cloud Functions (مطلوب) firebase.framework
firebase_functions.framework

pod 'FirebaseFunctions', '11.0.0'
Cloud Messaging (مطلوب) firebase.framework
firebase_messaging.framework
(موصى بها) firebase_analytics.framework

pod 'FirebaseMessaging', '11.0.0'
(موصى به) pod 'FirebaseAnalytics', '11.0.0'
Cloud Storage (مطلوب) firebase.framework
firebase_storage.framework

pod 'FirebaseStorage', '11.0.0'
Dynamic Links (مطلوب) firebase.framework
firebase_dynamic_links.framework
(موصى بها) firebase_analytics.framework

pod 'FirebaseDynamicLinks', '11.0.0'
(موصى به) pod 'FirebaseAnalytics', '11.0.0'
Realtime Database (مطلوب) firebase.framework
firebase_database.framework

pod 'FirebaseDatabase', '11.0.0'
Remote Config (مطلوب) firebase.framework
firebase_remote_config.framework
(موصى بها) firebase_analytics.framework

pod 'FirebaseRemoteConfig', '11.0.0'
(موصى به) pod 'FirebaseAnalytics', '11.0.0'

معلومات إضافية لإعداد الجوال

طريقة التدوير

على نظام التشغيل iOS، قد تتضمن بعض أحداث التطبيقات (مثل فتح عناوين URL وتلقي (الإشعارات) تتطلب من مفوض تطبيقك تنفيذ إجراءات الطرق. على سبيل المثال، قد يتطلّب تلقّي إشعار تقديم طلب الانضمام. تفويض تنفيذ application:didReceiveRemoteNotification:. لأنّ لكل تطبيق iOS تفويض تطبيق خاص به، ويستخدم Firebase تغيير طريقة، التي تتيح استبدال طريقة بأخرى، لإرفاق المعالجات الخاصة بها بالإضافة إلى أي معالجات ربما نفذتها.

تحتاج المكتبات Dynamic Links وCloud Messaging إلى لإرفاق المعالجات بتفويض التطبيق باستخدام تغيير الطريقة في حال حذف إذا كنت تستخدم أيًا من منتجات Firebase هذه، فسيعمل Firebase في وقت التحميل تحديد فئة AppDelegate وتوجيه الطرق المطلوبة إليها، ربط معاودة الاتصال بتنفيذ الطريقة الحالية.

إعداد سير عمل أجهزة كمبيوتر سطح المكتب (إصدار تجريبي)

عند إنشاء لعبة، من الأسهل كثيرًا اختبار لعبتك على أجهزة الكمبيوتر المكتبي. على الأنظمة الأساسية أولاً، ثم النشر واختبارها على الأجهزة الجوّالة في مرحلة لاحقة من عملية التطوير. إلى لسير العمل هذا، نقدم مجموعة فرعية من حِزم تطوير البرامج (SDK) لـ Firebase C++ التي يمكن تشغيلها على على أنظمة التشغيل Windows وmacOS وLinux ومن داخل محرّر C++.

  1. بالنسبة إلى سير عمل سطح المكتب، يجب إكمال ما يلي:

    1. قم بتهيئة مشروع C++ لـ CMake.
    2. إنشاء مشروع على Firebase
    3. تسجيل تطبيقك (iOS أو Android) في Firebase
    4. إضافة ملف إعداد Firebase لمنصة الأجهزة الجوّالة
  2. أنشئ إصدار سطح المكتب من ملف إعداد Firebase:

    • إذا أضفت ملف google-services.json لنظام التشغيل Android: عند تشغيل لتطبيقك، يحدد Firebase موقع ملف الجهاز الجوّال هذا، ثم ينشئ ملف إعداد Firebase على سطح المكتب. (google-services-desktop.json).

    • في حال إضافة الملف GoogleService-Info.plist لنظام التشغيل iOS: قبل التشغيل تطبيقك، يجب تحويل ملف الأجهزة الجوّالة هذا إلى ملف في Firebase على كمبيوتر مكتبي. config. لتحويل الملف، شغّل الأمر التالي من نفس الدليل كملف GoogleService-Info.plist:

      generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist

    يحتوي ملف تهيئة سطح المكتب هذا على رقم تعريف مشروع C++ الذي أدخلته في في ما يلي الخطوات التي يجب اتّباعها لإعداد وحدة تحكّم "Firebase": زيارة الموقع فهم مشاريع Firebase لمعرفة المزيد حول ملفات التهيئة.

  3. أضف حزم تطوير البرامج (SDK) لمنصّة Firebase إلى مشروع C++ الخاص بك.

    الخطوات أدناه هي مثال على كيفية إضافة أي منتج Firebase المتوافق مشروع C++ الخاص بك. في هذا المثال، نستعرض عملية إضافة "Firebase Authentication" وFirebase Realtime Database"

    1. ضبط متغيّر بيئة FIREBASE_CPP_SDK_DIR على موقع حزمة تطوير البرامج (SDK) Firebase C++ غير المضغوطة

    2. إلى ملف CMakeLists.txt الخاص بمشروعك، أضِف المحتوى التالي بما في ذلك مكتبات منتجات Firebase التي تريد استخدامها. على سبيل المثال، لاستخدام Firebase Authentication وFirebase Realtime Database:

      # Add Firebase libraries to the target using the function from the SDK.
      add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL)
      
      # The Firebase C++ library `firebase_app` is required,
      # and it must always be listed last.
      
      # Add the Firebase SDKs for the products you want to use in your app
      # For example, to use Firebase Authentication and Firebase Realtime Database
      set(firebase_libs firebase_auth firebase_database firebase_app)
      target_link_libraries(${target_name} "${firebase_libs}")
      
  4. شغِّل تطبيق C++.

المكتبات المتاحة (أجهزة الكمبيوتر المكتبي)

تتضمّن حزمة تطوير البرامج (SDK) Firebase لبرامج "C++" دعمًا لسير العمل على أجهزة الكمبيوتر المكتبي. لمجموعة فرعية من الميزات، ما يتيح استخدام أجزاء معينة من Firebase في يعتمد إصدار سطح المكتب المستقل على أنظمة التشغيل Windows وmacOS وLinux.

منتج Firebase مراجع المكتبة (باستخدام أداة CMake)
App Check
firebase_app_check (مطلوب) firebase_app
Authentication
firebase_auth (مطلوب) firebase_app
Cloud Firestore firebase_firestore
firebase_auth
firebase_app
Cloud Functions
firebase_functions (مطلوب) firebase_app
Cloud Storage
firebase_storage (مطلوب) firebase_app
Realtime Database
firebase_database (مطلوب) firebase_app
Remote Config
firebase_remote_config (مطلوب) firebase_app

أمّا في Firebase، فيقدّم مكتبات سطح المكتب المتبقية كدليل بديل (غير يعمل). وعمليات التنفيذ للتيسير عند إنشاء أنظمة التشغيل Windows وmacOS وLinux. لذلك، لا تحتاج إلى تجميع الرمز البرمجي بشكل مشروط لاستهداف سطح المكتب.

جهاز كمبيوتر مكتبي واحد (Realtime Database)

تستخدم حزمة تطوير البرامج (SDK) لنظام التشغيل Realtime Database لسطح المكتب REST للوصول إلى قاعدة البيانات، لذا عليك أعلن عن الفهارس التي تستخدمها مع Query::OrderByChild() على الكمبيوتر المكتبي وإلا لن ينجح المستمعون.

معلومات إضافية لإعداد سطح المكتب

مكتبات Windows

بالنسبة إلى نظام التشغيل Windows، يتم توفير إصدارات المكتبة استنادًا إلى ما يلي:

  • نظام التشغيل: وضع 32 بت (x86) مقابل 64 بت (x64)
  • بيئة وقت تشغيل Windows: Multithreaded / MT مقابل Multithreaded DLL /MD
  • الهدف: الإصدار مقابل تصحيح الأخطاء

تجدر الإشارة إلى أنّه تمّ اختبار المكتبات التالية باستخدام Visual Studio 2015 و2017.

عند إنشاء تطبيقات سطح مكتب C++ على Windows، قم بربط حزمة SDK التالية بنظام Windows والمكتبات لمشروعك. راجع وثائق برنامج التجميع للتعرف على المزيد المعلومات.

مكتبة Firebase C++ ملحقات مكتبة SDK لنظام التشغيل Windows
App Check advapi32, ws2_32, crypt32
Authentication advapi32, ws2_32, crypt32
Cloud Firestore advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32
Cloud Functions advapi32, ws2_32, crypt32, rpcrt4, ole32
Cloud Storage advapi32, ws2_32, crypt32
Realtime Database advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv
Remote Config advapi32, ws2_32, crypt32, rpcrt4, ole32

مكتبات macOS

بالنسبة إلى نظام التشغيل macOS (Darwin)، تتوفّر إصدارات المكتبة للإصدار 64 بت (x86_64). بدون خادم. يتم أيضًا توفير أطر العمل لتيسير الأمر عليك.

يُرجى العلم أنّ مكتبات macOS تم اختبارها باستخدام Xcode. 13.3.1.

عند إنشاء تطبيقات سطح مكتب C++ على macOS، قم بربط ما يلي بمشروعك:

  • مكتبة النظام pthread
  • CoreFoundation إطار عمل نظام التشغيل macOS
  • Foundation إطار عمل نظام التشغيل macOS
  • Security إطار عمل نظام التشغيل macOS
  • GSS إطار عمل نظام التشغيل macOS
  • Kerberos إطار عمل نظام التشغيل macOS
  • SystemConfiguration إطار عمل نظام التشغيل macOS

للحصول على مزيد من المعلومات، يمكنك الرجوع إلى وثائق برنامج التجميع.

مكتبات Linux

بالنسبة إلى نظام التشغيل Linux، تتوفّر إصدارات المكتبة لأجهزة 32 بت (i386) و64 بت (x86_64). الأساسية.

تجدر الإشارة إلى أنّه تم اختبار مكتبات Linux باستخدام الإصدارات 4.8.0 من GCC وGCC 7.2.0 و Clang 5.0 على Ubuntu.

عند إنشاء تطبيقات سطح مكتب C++ على Linux، يمكنك ربط مكتبة النظام pthread بـ لمشروعك. للحصول على مزيد من المعلومات، يمكنك الرجوع إلى وثائق برنامج التجميع. في حال حذف التي تقوم بإنشائها باستخدام GCC 5 أو أحدث، فحدّد -D_GLIBCXX_USE_CXX11_ABI=0.

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