عزِّز قدرات ألعاب 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. وعادةً ما يُطلق على تسجيل تطبيقك اسم "الإضافة". تطبيقك إلى مشروعك.
انتقِل إلى وحدة تحكُّم Firebase.
في منتصف صفحة النظرة العامة على المشروع، انقر على رمز +iOS لبدء عملية الإعداد
إذا سبق لك إضافة تطبيق إلى مشروعك على Firebase، انقر على إضافة تطبيق. لعرض خيارات النظام الأساسي.
أدخِل معرّف حزمة التطبيق في الحقل معرّف الحزمة.
(اختياري) أدخِل معلومات أخرى عن التطبيق: اسم التطبيق ورقم تعريف متجر التطبيقات.
انقر على تسجيل التطبيق.
الخطوة 4: إضافة ملف إعداد Firebase
انقر على تنزيل 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 التي تريد استخدامها في التطبيق.
تم تفعيل 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'
ثبِّت المجموعات، ثم افتح ملف
.xcworkspace
في Xcode.pod install
open your-app.xcworkspace
إضافة أطر Firebase من الملف المضغوط SDK.
تتمثل أسهل طريقة لإضافة أطر العمل هذه عادةً في سحبها من نافذة
Finder
مباشرة في جزء Project Navigator (أداة التنقل) في Xcode ( الجزء الأقصى الأيسر افتراضيًا؛ أو انقر فوق أيقونة الملف في أعلى يسار Xcode).أضف إطار عمل Firebase C++
firebase.framework
، وهو مطلوبة لاستخدام أيّ منتج في Firebaseأضِف إطار العمل لكل منتج تريد استخدامه في Firebase. بالنسبة على سبيل المثال، لاستخدام Firebase Authentication، أضف
firebase_auth.framework
.
في وحدة تحكُّم Firebase، انقر على التالي في سير عمل الإعداد.
في حال إضافة 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++.
بالنسبة إلى سير عمل سطح المكتب، يجب إكمال ما يلي:
- قم بتهيئة مشروع C++ لـ CMake.
- إنشاء مشروع على Firebase
- تسجيل تطبيقك (iOS أو Android) في Firebase
- إضافة ملف إعداد Firebase لمنصة الأجهزة الجوّالة
أنشئ إصدار سطح المكتب من ملف إعداد 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 لمعرفة المزيد حول ملفات التهيئة.
أضف حزم تطوير البرامج (SDK) لمنصّة Firebase إلى مشروع C++ الخاص بك.
الخطوات أدناه هي مثال على كيفية إضافة أي منتج Firebase المتوافق مشروع C++ الخاص بك. في هذا المثال، نستعرض عملية إضافة "Firebase Authentication" وFirebase Realtime Database"
ضبط متغيّر بيئة
FIREBASE_CPP_SDK_DIR
على موقع حزمة تطوير البرامج (SDK) Firebase C++ غير المضغوطةإلى ملف
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}")
شغِّل تطبيق 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
إطار عمل نظام التشغيل 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.
- يمكنك مراقبة الاستخدام والفوترة لوحة البيانات في وحدة تحكم Firebase للحصول على صورة شاملة عبر خدمات Firebase المتعددة.
- راجِع قائمة التحقّق الخاصة بإطلاق Firebase.