إضافة 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 أو إصدار أحدث
  • تأكد من أن مشروعك يستهدف إصدارات النظام الأساسي التالية أو الإصدارات الأحدث:

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

  • سجِّل الدخول إلى 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 التي تريد استخدامها في التطبيق.

      تفعيل الإحصاءات

      # 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'

      عدم تفعيل الإحصاءات

      # 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، أضف firebase_auth.framework.

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

  5. إذا أضفت "إحصاءات Google"، يمكنك تشغيل تطبيقك لإرسال إثبات الملكية إلى 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', '10.28.1'
(مطلوب) pod 'FirebaseAnalytics', '10.28.1'
إحصاءات Google (مطلوب) firebase.framework
firebase_analytics.framework

pod 'FirebaseAnalytics', '10.28.1'
فحص التطبيقات (مطلوب) firebase.framework
firebase_app_check.framework

pod 'FirebaseAppCheck', '10.28.1'
المصادقة (مطلوب) firebase.framework
firebase_auth.framework

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

pod 'FirebaseFirestore', '10.28.1'
pod 'FirebaseAuth', '10.28.1'
الوظائف السحابية (مطلوب) firebase.framework
firebase_functions.framework

pod 'FirebaseFunctions', '10.28.1'
المراسلة عبر السحابة الإلكترونية (مطلوب) firebase.framework
firebase_messaging.framework
(موصى بها) firebase_analytics.framework

pod 'FirebaseMessaging', '10.28.1'
(موصى به) pod 'FirebaseAnalytics', '10.28.1'
التخزين في السحابة الإلكترونية (مطلوب) firebase.framework
firebase_storage.framework

pod 'FirebaseStorage', '10.28.1'
الروابط الديناميكية (مطلوب) firebase.framework
firebase_dynamic_links.framework
(موصى بها) firebase_analytics.framework

pod 'FirebaseDynamicLinks', '10.28.1'
(موصى به) pod 'FirebaseAnalytics', '10.28.1'
قاعدة بيانات الوقت الفعلي (مطلوب) firebase.framework
firebase_database.framework

pod 'FirebaseDatabase', '10.28.1'
الإعداد عن بُعد (مطلوب) firebase.framework
firebase_remote_config.framework
(موصى بها) firebase_analytics.framework

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

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

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

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

تحتاج مكتبات "الروابط الديناميكية" و"المراسلة عبر السحابة الإلكترونية" إلى لإرفاق المعالجات بتفويض التطبيق باستخدام تغيير الطريقة في حال حذف إذا كنت تستخدم أيًا من منتجات 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 وقاعدة بيانات Firebase في الوقت الفعلي.

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

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

      # 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++.

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

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

منتج Firebase مراجع المكتبة (باستخدام أداة CMake)
فحص التطبيقات firebase_app_check
(مطلوب) firebase_app
المصادقة firebase_auth
(مطلوب) firebase_app
Cloud Firestore firebase_firestore
firebase_auth
firebase_app
الوظائف السحابية firebase_functions
(مطلوب) firebase_app
التخزين في السحابة الإلكترونية firebase_storage
(مطلوب) firebase_app
قاعدة بيانات الوقت الفعلي firebase_database
(مطلوب) firebase_app
الإعداد عن بُعد firebase_remote_config
(مطلوب) firebase_app

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

قاعدة بيانات الوقت الفعلي لسطح المكتب

تستخدم حزمة SDK لقاعدة البيانات في الوقت الفعلي لسطح المكتب 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
فحص التطبيقات advapi32, ws2_32, crypt32
المصادقة advapi32, ws2_32, crypt32
Cloud Firestore advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32
وظائف السحابة الإلكترونية advapi32, ws2_32, crypt32, rpcrt4, ole32
Cloud Storage advapi32, ws2_32, crypt32
قاعدة بيانات الوقت الفعلي advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv
الإعداد عن بُعد 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.

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