قم بتعزيز ألعاب C++ الخاصة بك باستخدام حزم Firebase C++ SDK الخاصة بنا والتي توفر واجهة C++ أعلى حزم Firebase SDK.
قم بالوصول إلى Firebase بالكامل من كود C++ الخاص بك، دون الحاجة إلى كتابة أي كود أصلي للنظام الأساسي. يقوم Firebase SDK أيضًا بترجمة العديد من التعابير الخاصة باللغة التي يستخدمها Firebase إلى واجهة مألوفة أكثر لمطوري C++.
اكتشف المزيد من المعلومات حول تشغيل ألعابك باستخدام Firebase على صفحة ألعاب Firebase الخاصة بنا.
هل قمت بالفعل بإضافة Firebase إلى مشروع C++ الخاص بك؟ تأكد من أنك تستخدم أحدث إصدار من Firebase C++ SDK .
المتطلبات الأساسية
قم بتثبيت ما يلي:
- Xcode 13.3.1 أو الأحدث
- CocoaPods 1.10.0 أو الأحدث
تأكد من أن مشروعك يستهدف إصدارات النظام الأساسي التالية أو الأحدث:
- دائرة الرقابة الداخلية 11
- تي في او اس 12
قم بإعداد جهاز فعلي أو استخدم جهاز المحاكاة لتشغيل تطبيقك.
بالنسبة للمراسلة السحابية على أنظمة Apple الأساسية، إليك المتطلبات الأساسية:
- قم بإعداد جهاز Apple فعلي .
- احصل على مفتاح مصادقة إشعارات Apple Push لحساب Apple Developer الخاص بك.
- قم بتمكين الإشعارات الفورية في Xcode ضمن التطبيق > القدرات .
قم بتسجيل الدخول إلى Firebase باستخدام حساب Google الخاص بك.
الخطوة 2 : إنشاء مشروع Firebase
قبل أن تتمكن من إضافة Firebase إلى مشروع C++ الخاص بك، تحتاج إلى إنشاء مشروع Firebase للاتصال بمشروع C++ الخاص بك. قم بزيارة فهم مشاريع Firebase لمعرفة المزيد حول مشاريع Firebase.
الخطوة 3 : قم بتسجيل تطبيقك في Firebase
لاستخدام Firebase في تطبيق Apple الخاص بك، يتعين عليك تسجيل تطبيقك في مشروع Firebase الخاص بك. غالبًا ما يُطلق على تسجيل تطبيقك اسم "إضافة" تطبيقك إلى مشروعك.
انتقل إلى وحدة تحكم Firebase .
في وسط صفحة النظرة العامة على المشروع، انقر فوق أيقونة iOS+ لبدء سير عمل الإعداد.
إذا قمت بالفعل بإضافة تطبيق إلى مشروع Firebase الخاص بك، فانقر على إضافة تطبيق لعرض خيارات النظام الأساسي.
أدخل معرف حزمة التطبيق الخاص بك في حقل معرف الحزمة .
يحدد معرف الحزمة بشكل فريد التطبيق في نظام Apple البيئي.
ابحث عن معرف الحزمة الخاصة بك: افتح مشروعك في Xcode، وحدد تطبيق المستوى الأعلى في متصفح المشروع، ثم حدد علامة التبويب عام .
قيمة حقل معرف الحزمة هي معرف الحزمة (على سبيل المثال،
com.yourcompany.yourproject
).انتبه إلى أن قيمة معرف الحزمة حساسة لحالة الأحرف، ولا يمكن تغييرها لتطبيق Firebase هذا بعد تسجيله في مشروع Firebase الخاص بك.
(اختياري) أدخل معلومات التطبيق الأخرى: لقب التطبيق ومعرف متجر التطبيقات .
لقب التطبيق : معرف داخلي ملائم لا يظهر إلا لك في وحدة تحكم Firebase
معرف متجر التطبيقات : يستخدمه Firebase Dynamic Links لإعادة توجيه المستخدمين إلى صفحة متجر التطبيقات لديك ويستخدمه Google Analytics لاستيراد أحداث التحويل إلى إعلانات Google . إذا لم يكن لتطبيقك معرف App Store حتى الآن، فيمكنك إضافة المعرف لاحقًا في إعدادات المشروع .
انقر فوق تسجيل التطبيق .
الخطوة 4 : أضف ملف تكوين Firebase
انقر فوق Download GoogleService-Info.plist للحصول على ملف تكوين منصات Firebase Apple.
يحتوي ملف تكوين Firebase على معرفات فريدة ولكنها غير سرية لمشروعك. لمعرفة المزيد حول ملف التكوين هذا، قم بزيارة فهم مشاريع Firebase .
يمكنك تنزيل ملف تهيئة Firebase مرة أخرى في أي وقت.
تأكد من عدم إلحاق اسم ملف التكوين بأحرف إضافية، مثل
(2)
.
افتح مشروع C++ الخاص بك في IDE، ثم اسحب ملف التكوين الخاص بك إلى جذر مشروع C++ الخاص بك.
إذا طُلب منك ذلك، حدد إضافة ملف التكوين إلى جميع الأهداف.
لقد انتهيت من إعداد المهام في وحدة تحكم Firebase. تابع إضافة حزم Firebase C++ SDK أدناه.
الخطوة 5 : إضافة حزم Firebase C++ SDK
الخطوات الواردة في هذا القسم هي مثال لكيفية إضافة منتجات Firebase المدعومة إلى مشروع Firebase C++ الخاص بك.
قم بتنزيل Firebase C++ SDK ، ثم قم بفك ضغط SDK في مكان مناسب.
إن Firebase C++ SDK ليس خاصًا بالنظام الأساسي، ولكنه يحتوي على مكتبات خاصة بالنظام الأساسي.
أضف كبسولات 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، في سير عمل الإعداد، انقر فوق التالي .
إذا أضفت Analytics، فقم بتشغيل تطبيقك لإرسال التحقق إلى Firebase بأنك قمت بدمج Firebase بنجاح. بخلاف ذلك، يمكنك تخطي خطوة التحقق هذه.
ستعرض سجلات جهازك التحقق من Firebase بأن التهيئة قد اكتملت. إذا قمت بتشغيل تطبيقك على محاكي لديه إمكانية الوصول إلى الشبكة، فستعلمك وحدة تحكم Firebase بأن اتصال تطبيقك قد اكتمل.
أنت جاهز تمامًا! تم تسجيل تطبيق C++ الخاص بك وتكوينه لاستخدام منتجات Firebase.
المكتبات المتوفرة
تعرف على المزيد حول مكتبات C++ Firebase في الوثائق المرجعية وفي إصدار SDK مفتوح المصدر الخاص بنا على GitHub .
المكتبات المتوفرة لمنصات أبل
لاحظ أن مكتبات C++ لنظام Android مدرجة في إصدار Android من صفحة الإعداد هذه .
كل منتج من منتجات Firebase له تبعيات مختلفة. تأكد من إضافة جميع التبعيات المدرجة لمنتج Firebase المطلوب إلى مشروع Podfile وC++.
قد يدعم كل منتج من منتجات Firebase فقط مجموعة مختارة من أنظمة تشغيل Apple OS (iOS، وtvOS، وما إلى ذلك). تحقق من الأنظمة الأساسية التي تدعمها كل مكتبة في معرفة المزيد حول C++ وFirebase .
منتج فايربيس | الأطر والقرون |
---|---|
ادموب | (مطلوب) firebase.framework firebase_admob.framework (مطلوب) firebase_analytics.framework pod 'FirebaseAdMob', '10.15.0' (مطلوب) pod 'FirebaseAnalytics', '10.15.0' |
التحليلات | (مطلوب) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '10.15.0' |
فحص التطبيق | (مطلوب) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '10.15.0' |
المصادقة | (مطلوب) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '10.15.0' |
سحابة فايرستور | (مطلوب) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '10.15.0' pod 'FirebaseAuth', '10.15.0' |
وظائف السحابة | (مطلوب) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '10.15.0' |
المراسلة السحابية | (مطلوب) firebase.framework firebase_messaging.framework (مستحسن) firebase_analytics.framework pod 'FirebaseMessaging', '10.15.0' (مستحسن) pod 'FirebaseAnalytics', '10.15.0' |
سحابة التخزين | (مطلوب) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '10.15.0' |
الروابط الديناميكية | (مطلوب) firebase.framework firebase_dynamic_links.framework (مستحسن) firebase_analytics.framework pod 'FirebaseDynamicLinks', '10.15.0' (مستحسن) pod 'FirebaseAnalytics', '10.15.0' |
قاعدة بيانات الوقت الحقيقي | (مطلوب) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '10.15.0' |
التكوين عن بعد | (مطلوب) firebase.framework firebase_remote_config.framework (مستحسن) firebase_analytics.framework pod 'FirebaseRemoteConfig', '10.15.0' (مستحسن) pod 'FirebaseAnalytics', '10.15.0' |
معلومات إضافية لإعداد المحمول
الطريقة دوارة
على نظام التشغيل iOS، تتطلب بعض أحداث التطبيق (مثل فتح عناوين URL وتلقي الإشعارات) من مفوض التطبيق الخاص بك تنفيذ طرق محددة. على سبيل المثال، قد يتطلب تلقي إشعار من مفوض التطبيق الخاص بك تنفيذ application:didReceiveRemoteNotification:
. نظرًا لأن كل تطبيق iOS لديه مندوب تطبيق خاص به، يستخدم Firebase طريقة swizzling ، والتي تسمح باستبدال طريقة بأخرى، لإرفاق معالجاتها الخاصة بالإضافة إلى أي معالجات ربما تكون قد نفذتها.
تحتاج مكتبات الارتباطات الديناميكية والمراسلة السحابية إلى إرفاق معالجات بمفوض التطبيق باستخدام الأسلوب swizzling. إذا كنت تستخدم أيًا من منتجات Firebase هذه، ففي وقت التحميل، سيحدد Firebase فئة AppDelegate
الخاصة بك ويدمج الأساليب المطلوبة فيها، مما يؤدي إلى إعادة الاتصال بتنفيذ الطريقة الحالية لديك.
إعداد سير عمل سطح المكتب ( إصدار تجريبي )
عندما تقوم بإنشاء لعبة، غالبًا ما يكون من الأسهل اختبار لعبتك على منصات سطح المكتب أولاً، ثم نشرها واختبارها على الأجهزة المحمولة لاحقًا أثناء التطوير. لدعم سير العمل هذا، نقدم مجموعة فرعية من حزم Firebase C++ SDK التي يمكن تشغيلها على أنظمة التشغيل Windows وmacOS وLinux ومن داخل محرر C++.
بالنسبة لسير عمل سطح المكتب، يتعين عليك إكمال ما يلي:
- قم بتكوين مشروع C++ الخاص بك لـ CMake.
- إنشاء مشروع Firebase
- قم بتسجيل تطبيقك (iOS أو Android) باستخدام Firebase
- أضف ملف تكوين Firebase للنظام الأساسي للجوال
قم بإنشاء إصدار سطح المكتب من ملف تكوين Firebase:
إذا أضفت ملف Android
google-services.json
- عند تشغيل تطبيقك، يحدد Firebase موقع ملف الهاتف المحمول هذا، ثم يقوم تلقائيًا بإنشاء ملف تكوين Firebase لسطح المكتب (google-services-desktop.json
).إذا أضفت ملف iOS
GoogleService-Info.plist
— قبل تشغيل تطبيقك، يتعين عليك تحويل ملف الهاتف المحمول هذا إلى ملف تكوين Firebase لسطح المكتب . لتحويل الملف، قم بتشغيل الأمر التالي من نفس الدليل مثل ملفGoogleService-Info.plist
الخاص بك:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
يحتوي ملف تكوين سطح المكتب هذا على معرف مشروع C++ الذي أدخلته في سير عمل إعداد وحدة تحكم Firebase. قم بزيارة فهم مشاريع Firebase لمعرفة المزيد حول ملفات التكوين.
أضف حزم Firebase SDK إلى مشروع C++ الخاص بك.
تعد الخطوات أدناه بمثابة مثال لكيفية إضافة أي منتج Firebase مدعوم إلى مشروع C++ الخاص بك. في هذا المثال، سنتعرف على إضافة مصادقة Firebase وقاعدة بيانات Firebase Realtime.
قم بتعيين متغير البيئة
FIREBASE_CPP_SDK_DIR
إلى موقع Firebase C++ SDK الذي تم فك ضغطه.إلى ملف
CMakeLists.txt
الخاص بمشروعك، أضف المحتوى التالي، بما في ذلك مكتبات منتجات Firebase التي تريد استخدامها. على سبيل المثال، لاستخدام مصادقة Firebase وقاعدة بيانات Firebase Realtime:# 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++ SDK دعمًا لسير عمل سطح المكتب لمجموعة فرعية من الميزات، مما يتيح استخدام أجزاء معينة من Firebase في إصدارات سطح المكتب المستقلة على أنظمة التشغيل Windows وmacOS وLinux.
منتج فايربيس | مراجع المكتبة (باستخدام CMake) |
---|---|
فحص التطبيق | firebase_app_check (مطلوب) firebase_app |
المصادقة | firebase_auth (مطلوب) firebase_app |
سحابة فايرستور | 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. لذلك، لا تحتاج إلى ترجمة التعليمات البرمجية بشكل مشروط لاستهداف سطح المكتب.
سطح المكتب لقاعدة البيانات في الوقت الحقيقي
يستخدم Realtime Database SDK لسطح المكتب REST للوصول إلى قاعدة البيانات الخاصة بك، لذا يجب عليك الإعلان عن الفهارس التي تستخدمها مع Query::OrderByChild()
على سطح المكتب وإلا سيفشل المستمعون.
معلومات إضافية لإعداد سطح المكتب
مكتبات ويندوز
بالنسبة لنظام التشغيل Windows، يتم توفير إصدارات المكتبة بناءً على ما يلي:
- منصة البناء: وضع 32 بت (x86) مقابل وضع 64 بت (x64).
- بيئة تشغيل Windows: Multithreaded / MT vs Multithreaded DLL /MD
- الهدف: الإصدار مقابل التصحيح
لاحظ أنه تم اختبار المكتبات التالية باستخدام Visual Studio 2015 و2017.
عند إنشاء تطبيقات سطح المكتب C++ على نظام التشغيل Windows، قم بربط مكتبات Windows SDK التالية بمشروعك. راجع وثائق المترجم الخاص بك لمزيد من المعلومات.
مكتبة Firebase C++ | تبعيات مكتبة Windows SDK |
---|---|
فحص التطبيق | advapi32, ws2_32, crypt32 |
المصادقة | advapi32, ws2_32, crypt32 |
سحابة فايرستور | advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32 |
وظائف السحابة | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
سحابة التخزين | advapi32, ws2_32, crypt32 |
قاعدة بيانات الوقت الحقيقي | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv |
التكوين عن بعد | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
مكتبات ماك
بالنسبة لنظام التشغيل macOS (Darwin)، يتم توفير إصدارات المكتبة للنظام الأساسي 64 بت (x86_64). يتم توفير الأطر أيضا لراحتك.
لاحظ أنه تم اختبار مكتبات macOS باستخدام Xcode 13.3.1.
عند إنشاء تطبيقات سطح المكتب C++ على نظام التشغيل macOS، قم بربط ما يلي بمشروعك:
- مكتبة نظام
pthread
- إطار عمل نظام
CoreFoundation
macOS - إطار عمل نظام macOS
Foundation
- إطار عمل نظام macOS
Security
- إطار عمل نظام
GSS
macOS - إطار عمل نظام
Kerberos
macOS - إطار عمل نظام macOS
SystemConfiguration
راجع وثائق المترجم الخاص بك لمزيد من المعلومات.
مكتبات لينكس
بالنسبة لنظام التشغيل Linux، يتم توفير إصدارات المكتبة لمنصات 32 بت (i386) و64 بت (x86_64).
لاحظ أنه تم اختبار مكتبات Linux باستخدام الإصدار 4.8.0 من مجلس التعاون الخليجي، أو الإصدار 7.2.0 من مجلس التعاون الخليجي، أو الإصدار 5.0 من كلانج على نظام أوبونتو.
عند إنشاء تطبيقات سطح المكتب C++ على Linux، قم بربط مكتبة نظام pthread
بمشروعك. راجع وثائق المترجم الخاص بك لمزيد من المعلومات. إذا كنت تقوم بالإنشاء باستخدام الإصدار 5 من إصدار مجلس التعاون الخليجي أو إصدار أحدث، فحدد -D_GLIBCXX_USE_CXX11_ABI=0
.
الخطوات التالية
استكشف نماذج من تطبيقات Firebase .
استكشف SDK مفتوح المصدر في GitHub .
الاستعداد لإطلاق تطبيقك:
- قم بإعداد تنبيهات الميزانية لمشروعك في Google Cloud Console.
- راقب لوحة تحكم الاستخدام والفوترة في وحدة تحكم Firebase للحصول على صورة شاملة لاستخدام مشروعك عبر خدمات Firebase المتعددة.
- قم بمراجعة القائمة المرجعية لإطلاق Firebase .