عزِّز قدرات ألعاب C++ الخاصة بك باستخدام حزم SDK لـ Firebase C++ التي توفر واجهة C++ فوق حزم Firebase SDK.
يمكنك الوصول إلى Firebase بالكامل من خلال رمز C++ ، بدون الحاجة إلى كتابة أي رمز برمجي أصلي من النظام الأساسي. كما تعمل حزمة Firebase SDK على ترجمة العديد من المصطلحات الخاصة باللغة التي يستخدمها 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. غالبًا ما يطلق على تسجيل تطبيقك "إضافة" التطبيق إلى مشروعك.
انتقِل إلى وحدة تحكُّم Firebase.
في منتصف صفحة "نظرة عامة على المشروع"، انقر على الرمز +iOS لبدء عملية الإعداد.
إذا سبق وأضفت تطبيقًا إلى مشروع Firebase، انقر على إضافة تطبيق لعرض خيارات النظام الأساسي.
أدخِل معرّف حزمة التطبيق في الحقل معرّف الحزمة.
(اختياري) أدخِل معلومات التطبيق الأخرى: اسم التطبيق ورقم تعريف متجر التطبيقات.
انقر على تسجيل التطبيق.
الخطوة 4: إضافة ملف إعداد Firebase
انقر على Download GoogleService-Info.plist (تنزيل GoogleService-Info.plist) للحصول على ملف إعداد Firebase Apple .
افتح مشروع C++ في بيئة IDE، ثم اسحب ملف التكوين إلى جذر مشروع C++.
اختَر إضافة ملف الإعداد إلى جميع الأهداف، إذا طُلب منك ذلك.
لقد انتهيت من عملية الإعداد في "وحدة تحكُّم Firebase". يمكنك المتابعة إلى إضافة حِزم تطوير البرامج (SDK) لمنصّة Firebase C++ أدناه.
الخطوة 5: إضافة حِزم تطوير البرامج (SDK) لمنصة Firebase C++
الخطوات الواردة في هذا القسم هي مثال على كيفية إضافة منتجات Firebase المتوافقة إلى مشروع Firebase C++.
يمكنك تنزيل حزمة تطوير البرامج (SDK) لـ Firebase C++، ثم فك ضغط حزمة SDK في مكان مناسب.
ولا ترتبط حزمة تطوير البرامج (SDK) لمنصة Firebase C++ بالنظام الأساسي، ولكنها تحتوي على مكتبات خاصة بالنظام الأساسي.
أضِف مجموعات Firebase من حزمة تطوير البرامج (SDK) غير المضغوطة.
يمكنك إنشاء ملف Podfile إذا لم يكن لديك ملف شخصي حاليًا:
cd your-app-directory
pod init
إلى 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'
ثبِّت المجموعات، ثم افتح ملف
.xcworkspace
في Xcode.pod install
open your-app.xcworkspace
أضف أطر Firebase من حزمة SDK غير المضغوطة.
إنّ أسهل طريقة لإضافة أطر العمل هذه هي عادةً سحبها من
Finder
نافذة مباشرةً إلى جزء Project Navigator (أداة التنقّل في المشروع) في "Xcode" تلقائيًا (أو النقر على رمز الملف في أعلى يمين Xcode).أضِف إطار عمل Firebase C++
firebase.framework
، وهو مطلوب لاستخدام أي منتج من منتجات Firebase.أضِف إطار العمل لكل منتج تريد استخدامه في Firebase. على سبيل المثال، لاستخدام مصادقة Firebase، أضف
firebase_auth.framework
.
في "وحدة تحكُّم Firebase"، انقر على التالي في سير عمل الإعداد.
إذا أضفت "إحصاءات 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++.
بالنسبة إلى سير عمل سطح المكتب، يجب إكمال ما يلي:
- قم بتهيئة مشروع C++ لـ CMake.
- إنشاء مشروع على Firebase
- تسجيل تطبيقك (iOS أو Android) في Firebase
- إضافة ملف إعداد Firebase لمنصة الأجهزة الجوّالة
أنشئ إصدار سطح المكتب من ملف إعداد Firebase:
في حال إضافة ملف
google-services.json
لنظام التشغيل Android: عند تشغيل تطبيقك، يحدد Firebase موقع ملف الأجهزة الجوّالة هذا، ثم ينشئ تلقائيًا ملف إعداد Firebase على سطح المكتب (google-services-desktop.json
).في حال إضافة ملف
GoogleService-Info.plist
لنظام التشغيل iOS: قبل تشغيل تطبيقك، يجب تحويل ملف الأجهزة الجوّالة هذا إلى ملف إعداد Firebase للكمبيوتر المكتبي. لتحويل الملف، شغِّل الأمر التالي من الدليل نفسه الذي يتضمّن ملفGoogleService-Info.plist
:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
يحتوي ملف إعداد سطح المكتب هذا على رقم تعريف مشروع C++ الذي أدخلته في سير عمل إعداد وحدة تحكُّم Firebase. انتقِل إلى فهم مشاريع Firebase للمزيد من المعلومات حول ملفات الإعداد.
أضف حزم تطوير البرامج (SDK) لمنصّة Firebase إلى مشروع C++ الخاص بك.
تشكّل الخطوات أدناه مثالاً على كيفية إضافة أي منتج متوافق في Firebase إلى مشروع C++ الخاص بك. في هذا المثال، نستعرض عملية إضافة مصادقة Firebase وقاعدة بيانات Firebase في الوقت الفعلي.
اضبط متغيّر بيئة
FIREBASE_CPP_SDK_DIR
على موقع حزمة تطوير البرامج (SDK) غير المضغوطة من Firebase C++إلى ملف
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}")
شغِّل تطبيق 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) لقاعدة البيانات في الوقت الفعلي (Realtime Database) للكمبيوتر المكتبي REST للوصول إلى قاعدة البيانات الخاصة بك، لذلك عليك
الإفصاح عن الفهارس التي تستخدمها مع Query::OrderByChild()
على الكمبيوتر المكتبي، وإلا سيتعذّر تشغيل المستمعين.
معلومات إضافية لإعداد سطح المكتب
مكتبات Windows
بالنسبة إلى نظام التشغيل Windows، يتم توفير إصدارات المكتبة استنادًا إلى ما يلي:
- نظام التشغيل: وضع 32 بت (x86) مقابل 64 بت (x64)
- بيئة وقت تشغيل Windows: Multithreaded / MT مقابل Multithreaded DLL /MD
- الهدف: الإصدار مقابل تصحيح الأخطاء
تجدر الإشارة إلى أنّه تمّ اختبار المكتبات التالية باستخدام Visual Studio 2015 و2017.
عند إنشاء تطبيقات سطح مكتب C++ على Windows، قم بربط مكتبات Windows SDK التالية بمشروعك. راجع وثائق برنامج التجميع لمزيد من المعلومات.
مكتبة 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
إطار عمل نظام التشغيل macOSFoundation
إطار عمل نظام التشغيل macOSSecurity
إطار عمل نظام التشغيل macOSGSS
إطار عمل نظام التشغيل macOSKerberos
إطار عمل نظام التشغيل macOSSystemConfiguration
إطار عمل نظام التشغيل 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
.
الخطوات اللاحقة
استكشِف نماذج تطبيقات Firebase.
استكشف حزمة SDK مفتوحة المصدر في GitHub.
الاستعداد لإطلاق تطبيقك:
- إعداد تنبيهات الميزانية لمشروعك في Google Cloud Console
- راقِب لوحة بيانات الاستخدام والفوترة في وحدة تحكُّم Firebase للحصول على صورة عامة عن استخدام مشروعك على عدّة خدمات في Firebase.
- راجِع قائمة التحقّق الخاصة بإطلاق Firebase.