يمكنك تعزيز أداء ألعاب C++ باستخدام حِزم تطوير البرامج (SDK) الخاصة بلغة C++ من Firebase، والتي توفّر واجهة C++ بالإضافة إلى حِزم تطوير البرامج (SDK) من Firebase.
يمكنك الوصول إلى Firebase بالكامل من رمز C++ بدون الحاجة إلى كتابة أي رمز برمجي أصلي خاص بالمنصة. تترجم حزمة تطوير البرامج (SDK) من Firebase أيضًا العديد من العبارات الخاصة باللغة التي تستخدمها Firebase إلى واجهة أكثر ألفةً لمطوّري C++.
يمكنك الاطّلاع على مزيد من المعلومات حول تعزيز أداء ألعابك باستخدام Firebase على صفحة ألعاب Firebase.
هل سبق لك إضافة Firebase إلى مشروع C++؟ تأكَّد من استخدام أحدث إصدار من Firebase C++ SDK.
المتطلبات الأساسية
ثبِّت ما يلي:
- Xcode 16.2 أو إصدار أحدث
- الإصدار 1.12.0 من CocoaPods أو إصدار أحدث
تأكَّد من أنّ مشروعك يستهدف إصدارات الأنظمة الأساسية التالية أو إصدارات أحدث:
- iOS 13
- tvOS 13
أكمِل إعداد جهاز فعلي أو استخدِم المحاكي لتشغيل تطبيقك.
هل تريد استخدام Cloud Messaging؟
في ما يلي المتطلبات الأساسية لاستخدام Cloud Messaging على منصات Apple:
- إعداد جهاز Apple
- احصل على مفتاح مصادقة لخدمة الإشعارات الفورية من Apple لحسابك على Apple Developer.
- فعِّل الإشعارات الفورية في Xcode ضمن التطبيق > الإمكانات.
سجِّل الدخول إلى Firebase باستخدام حسابك على Google.
الخطوة 2: إنشاء مشروع Firebase
قبل أن تتمكّن من إضافة Firebase إلى مشروع C++، عليك إنشاء مشروع Firebase للربط بمشروع C++. يمكنك الانتقال إلى مقالة التعرّف على مشاريع Firebase لمعرفة المزيد عن مشاريع Firebase.
إنشاء مشروع على Firebase
-
في Firebase وحدة التحكّم، انقر على إضافة مشروع.
-
لإضافة موارد Firebase إلى مشروع حالي، أدخِل اسم المشروع أو اختَره من القائمة المنسدلة.Google Cloud
-
لإنشاء مشروع جديد، أدخِل اسم مشروع. يمكنك أيضًا تعديل رقم تعريف المشروع المعروض أسفل اسم المشروع.
-
-
راجِع بنود Firebase واقبلها إذا طُلب منك ذلك.
-
انقر على متابعة.
-
(اختياري) يمكنك إعداد Google Analytics لمشروعك، ما يتيح تجربة مثالية باستخدام منتجات Firebase التالية: Firebase A/B Testing وCloud Messaging وCrashlytics وIn-App Messaging وRemote Config (بما في ذلك التخصيص).
اختَر حسابًا حاليًا Google Analytics أو أنشِئ حسابًا جديدًا. في حال إنشاء حساب جديد، اختَر Analytics الموقع الجغرافي لإعداد التقارير، ثم اقبل إعدادات مشاركة البيانات وبنود Google Analytics مشروعك.
-
انقر على إنشاء مشروع (أو إضافة Firebase، إذا كنت تضيف Firebase إلى مشروع Google Cloud حالي).
توفّر Firebase تلقائيًا موارد لمشروعك على Firebase. عند اكتمال العملية، سيتم نقلك إلى صفحة النظرة العامة لمشروعك على Firebase في وحدة تحكّم Firebase.
الخطوة 3: تسجيل تطبيقك في Firebase
لاستخدام Firebase في تطبيق Apple، عليك تسجيل تطبيقك في مشروعك على Firebase. يُطلق على تسجيل تطبيقك غالبًا اسم "إضافة" تطبيقك إلى مشروعك.
انتقِل إلى Firebase وحدة التحكّم.
في وسط صفحة نظرة عامة على المشروع، انقر على رمز iOS+ لبدء سير عمل الإعداد.
إذا سبق لك إضافة تطبيق إلى مشروعك على Firebase، انقر على إضافة تطبيق لعرض خيارات المنصّة.
أدخِل معرّف حزمة تطبيقك في حقل معرّف الحزمة.
ما هو معرّف الحزمة وأين يمكن العثور عليه؟
معرّف الحزمة هو معرّف فريد لتطبيق في نظام Apple المتكامل.
ابحث عن معرّف الحزمة: افتح مشروعك في Xcode، واختَر التطبيق ذو المستوى الأعلى في "متصفّح المشروع"، ثم انقر على علامة التبويب عام.
قيمة حقل معرّف الحزمة هي معرّف الحزمة (على سبيل المثال،
com.yourcompany.yourproject
).يُرجى العِلم أنّ قيمة معرّف الحزمة حسّاسة لحالة الأحرف، ولا يمكن تغييرها لتطبيق Firebase هذا بعد تسجيله في مشروع Firebase.
(اختياري) أدخِل معلومات التطبيق الأخرى: الاسم المختصر للتطبيق والمعرّف في App Store.
كيف يتم استخدام اسم التطبيق ومعرّف App Store في Firebase؟
الاسم المختصر للتطبيق: هو معرّف داخلي مناسب لا يظهر إلا لك في وحدة تحكّم Firebase
رقم تعريف App Store: تستخدمه Firebase Dynamic Links من أجل إعادة توجيه المستخدمين إلى صفحتك على App Store، وتستخدمه Google Analytics من أجل استيراد أحداث الإحالات الناجحة إلى Google Ads. إذا لم يكن لتطبيقك رقم تعريف App Store، يمكنك إضافة رقم التعريف لاحقًا في إعدادات المشروع.
انقر على تسجيل التطبيق.
الخطوة 4: إضافة ملف إعداد Firebase
انقر على تنزيل ملف GoogleService-Info.plist للحصول على ملف إعداد منصات Apple على Firebase.
ما هي المعلومات التي يجب معرفتها عن ملف الإعداد هذا؟
يحتوي ملف إعداد Firebase على معرّفات فريدة ولكنها غير سرية لمشروعك وتطبيقك. ولمزيد من المعلومات حول ملف الإعداد هذا، يُرجى الانتقال إلى التعرّف على مشاريع Firebase.
يمكنك تنزيل ملف إعدادات Firebase مرة أخرى في أي وقت.
تأكَّد من عدم إضافة أحرف إضافية إلى اسم ملف الإعداد، مثل
(2)
.
افتح مشروع C++ في بيئة تطوير متكاملة (IDE)، ثم اسحب ملف الإعداد إلى جذر مشروع C++.
إذا طُلب منك ذلك، اختَر إضافة ملف الإعداد إلى جميع الأهداف.
لقد انتهيت من مهام الإعداد في وحدة تحكّم Firebase. يمكنك الانتقال إلى إضافة حِزم تطوير البرامج (SDK) للغة C++ في Firebase أدناه.
الخطوة 5: إضافة حِزم تطوير البرامج (SDK) للغة C++ في Firebase
الخطوات الواردة في هذا القسم هي مثال على كيفية إضافة منتجات Firebase المتوافقة إلى مشروع Firebase C++.
نزِّل حزمة تطوير البرامج (SDK) Firebase C++، ثم فكّ ضغطها في مكان مناسب.
حزمة تطوير البرامج (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'
ثبِّت حِزم pods، ثم افتح الملف
.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 (مثل iOS وtvOS وما إلى ذلك). يمكنك الاطّلاع على المنصات المتوافقة مع كل مكتبة في مزيد من المعلومات حول C++ وFirebase.
منتج Firebase | الأُطر والوحدات |
---|---|
AdMob |
(مطلوب) firebase.framework firebase_admob.framework (مطلوب) firebase_analytics.framework pod 'FirebaseAdMob', '12.0.0' (مطلوب) pod 'FirebaseAnalytics', '12.0.0'
|
Analytics |
(مطلوب) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '12.0.0'
|
App Check |
(مطلوب) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '12.0.0'
|
Authentication |
(مطلوب) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '12.0.0'
|
Cloud Firestore |
(مطلوب) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '12.0.0' pod 'FirebaseAuth', '12.0.0'
|
Cloud Functions |
(مطلوب) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '12.0.0'
|
Cloud Messaging |
(مطلوب) firebase.framework firebase_messaging.framework (يُنصح به) firebase_analytics.framework pod 'FirebaseMessaging', '12.0.0' (يُنصح به) pod 'FirebaseAnalytics', '12.0.0'
|
Cloud Storage |
(مطلوب) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '12.0.0'
|
Dynamic Links |
(مطلوب) firebase.framework firebase_dynamic_links.framework (يُنصح به) firebase_analytics.framework pod 'FirebaseDynamicLinks', '12.0.0' (يُنصح به) pod 'FirebaseAnalytics', '12.0.0'
|
Realtime Database |
(مطلوب) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '12.0.0'
|
Remote Config |
(مطلوب) firebase.framework firebase_remote_config.framework (يُنصح به) firebase_analytics.framework pod 'FirebaseRemoteConfig', '12.0.0' (يُنصح به) pod 'FirebaseAnalytics', '12.0.0'
|
معلومات إضافية حول عملية الإعداد على الأجهزة الجوّالة
تغيير وظيفة الإجراء
في نظام التشغيل iOS، تتطلّب بعض أحداث التطبيق (مثل فتح عناوين URL وتلقّي الإشعارات) أن ينفّذ مفوّض التطبيق طرقًا معيّنة. على سبيل المثال، قد يتطلّب تلقّي إشعار أن ينفّذ مفوّض تطبيقك application:didReceiveRemoteNotification:
. بما أنّ كل تطبيق iOS يتضمّن مفوّض تطبيق خاصًا به، تستخدم Firebase استبدال الدوال البرمجية، ما يتيح استبدال دالة برمجية بأخرى، وذلك لإرفاق معالجاتها الخاصة بالإضافة إلى أي معالجات ربما تكون قد نفّذتها.
يجب أن تربط المكتبتان Dynamic Links وCloud Messaging معالجات بمفوّض التطبيق باستخدام طريقة swizzling. إذا كنت تستخدم أيًا من منتجات 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 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 vs Multithreaded DLL /MD
- الهدف: الإصدار مقابل تصحيح الأخطاء
يُرجى العِلم أنّه تم اختبار المكتبات التالية باستخدام Visual Studio 2015 و2017.
عند إنشاء تطبيقات C++ لسطح المكتب على Windows، اربط مكتبات Windows SDK التالية بمشروعك. للحصول على مزيد من المعلومات، يمكنك الرجوع إلى مستندات برنامج الترجمة.
مكتبة Firebase C++ | العناصر التابعة لمكتبة Windows SDK |
---|---|
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 16.2.
عند إنشاء تطبيقات C++ على أجهزة macOS، اربط ما يلي بمشروعك:
- مكتبة نظام
pthread
CoreFoundation
إطار عمل نظام التشغيل macOSFoundation
إطار عمل نظام التشغيل macOSSecurity
إطار عمل نظام التشغيل macOSGSS
إطار عمل نظام التشغيل macOSKerberos
إطار عمل نظام التشغيل macOSSystemConfiguration
إطار عمل نظام التشغيل macOS
للحصول على مزيد من المعلومات، يمكنك الرجوع إلى مستندات برنامج التجميع.
مكتبات Linux
بالنسبة إلى نظام التشغيل Linux، يتم توفير إصدارات المكتبة لمنصات 32 بت (i386) و64 بت (x86_64).
يُرجى العِلم أنّه تم اختبار مكتبات Linux باستخدام GCC 4.8.0 وGCC 7.2.0 وClang 5.0 على Ubuntu.
عند إنشاء تطبيقات C++ لسطح المكتب على نظام التشغيل Linux، اربط مكتبة نظام pthread
بمشروعك. للحصول على مزيد من المعلومات، يمكنك الرجوع إلى مستندات برنامج التجميع. إذا كنت تستخدم الإصدار 5 من GCC أو إصدارًا أحدث، حدِّد -D_GLIBCXX_USE_CXX11_ABI=0
.
الخطوات التالية
استكشاف تطبيقات Firebase النموذجية
استعِدّ لإطلاق تطبيقك باتّباع الخطوات التالية:
- إعداد تنبيهات الميزانية لمشروعك في وحدة تحكّم Google Cloud
- يمكنك الاطّلاع على لوحة بيانات الاستخدام والفوترة في وحدة تحكّم Firebase للحصول على صورة شاملة عن استخدام مشروعك لعدة خدمات من Firebase.
- راجِع قائمة التحقّق من إطلاق Firebase.