بازیهای C++ خود را با کیتهای توسعه نرمافزار Firebase C++ ما که یک رابط C++ را بر روی کیتهای توسعه نرمافزار Firebase ارائه میدهند، قدرتمندتر کنید.
بدون نیاز به نوشتن هیچ کد بومی پلتفرم، کاملاً از طریق کد C++ خود به Firebase دسترسی داشته باشید. کیت توسعه نرمافزار Firebase همچنین بسیاری از اصطلاحات خاص زبان مورد استفاده توسط Firebase را به رابطی آشناتر برای توسعهدهندگان C++ ترجمه میکند.
برای اطلاعات بیشتر در مورد تقویت بازیهایتان با Firebase، به صفحه بازیهای Firebase ما مراجعه کنید.
آیا قبلاً Firebase را به پروژه C++ خود اضافه کردهاید؟ مطمئن شوید که از آخرین نسخه Firebase C++ SDK استفاده میکنید.
پیشنیازها
موارد زیر را نصب کنید:
- ایکسکد ۱۶.۲ یا بالاتر
- کوکو پادز ۱.۱۲.۰ یا بالاتر
مطمئن شوید که پروژه شما نسخههای پلتفرم زیر یا بالاتر را هدف قرار میدهد:
- آیاواس ۱۳
- تیویاواس ۱۳
یک دستگاه فیزیکی راهاندازی کنید یا از شبیهساز برای اجرای برنامه خود استفاده کنید.
برای استفاده Cloud Messaging در پلتفرمهای اپل، پیشنیازها به شرح زیر است:
- یک دستگاه فیزیکی اپل راهاندازی کنید.
- یک کلید احراز هویت اعلانهای فوری اپل برای حساب توسعهدهنده اپل خود دریافت کنید.
- اعلانهای فوری را در Xcode از طریق مسیر App > Capabilities فعال کنید.
با استفاده از حساب گوگل خود وارد فایربیس شوید .
مرحله 2 : ایجاد یک پروژه Firebase
قبل از اینکه بتوانید Firebase را به پروژه C++ خود اضافه کنید، باید یک پروژه Firebase ایجاد کنید تا به پروژه C++ شما متصل شود. برای کسب اطلاعات بیشتر در مورد پروژههای Firebase، به بخش «درک پروژههای Firebase» مراجعه کنید.
مرحله ۳ : برنامه خود را در Firebase ثبت کنید
برای استفاده از فایربیس در برنامه اپل خود، باید برنامه خود را در پروژه فایربیس خود ثبت کنید. ثبت برنامه شما اغلب "افزودن" برنامه شما به پروژه شما نامیده میشود.
به کنسول Firebase بروید.
در مرکز صفحه نمای کلی پروژه، روی آیکون iOS+ کلیک کنید تا گردش کار راهاندازی شود.
اگر قبلاً برنامهای به پروژه Firebase خود اضافه کردهاید، برای نمایش گزینههای پلتفرم، روی «افزودن برنامه» کلیک کنید.
شناسه بسته برنامه خود را در فیلد شناسه بسته وارد کنید.
شناسه بسته نرمافزاری (bundle ID) به طور منحصر به فرد یک برنامه را در اکوسیستم اپل مشخص میکند.
شناسه بسته خود را پیدا کنید: پروژه خود را در Xcode باز کنید، برنامه سطح بالا را در ناویگاتور پروژه انتخاب کنید، سپس برگه عمومی را انتخاب کنید.
مقدار فیلد شناسه بسته (Bundle Identifier) ، شناسه بسته (bundle ID) است (برای مثال،
com.yourcompany.yourproject
).توجه داشته باشید که مقدار شناسه بسته به حروف بزرگ و کوچک حساس است و پس از ثبت برنامه در پروژه Firebase شما، نمیتوان آن را برای این برنامه Firebase تغییر داد.
(اختیاری) سایر اطلاعات برنامه را وارد کنید: نام مستعار برنامه و شناسه فروشگاه برنامه .
نام مستعار برنامه : یک شناسه داخلی و راحت که فقط در کنسول Firebase برای شما قابل مشاهده است
شناسه فروشگاه برنامه : توسط Firebase Dynamic Links برای هدایت کاربران به صفحه فروشگاه برنامه شما و توسط Google Analytics برای وارد کردن رویدادهای تبدیل به Google Ads استفاده میشود. اگر برنامه شما هنوز شناسه فروشگاه برنامه ندارد، میتوانید بعداً در تنظیمات پروژه خود، شناسه را اضافه کنید.
روی ثبت برنامه کلیک کنید.
مرحله ۴ : فایل پیکربندی Firebase را اضافه کنید
برای دریافت فایل پیکربندی پلتفرمهای اپل فایربیس خود، روی «دانلود GoogleService-Info.plist» کلیک کنید.
فایل پیکربندی Firebase حاوی شناسههای منحصر به فرد اما غیر محرمانه برای پروژه و برنامه شما است. برای کسب اطلاعات بیشتر در مورد این فایل پیکربندی، به بخش «درک پروژههای Firebase» مراجعه کنید.
شما میتوانید فایل پیکربندی Firebase خود را در هر زمانی دوباره دانلود کنید.
مطمئن شوید که نام فایل پیکربندی با کاراکترهای اضافی مانند
(2)
ضمیمه نشده باشد.
پروژه ++C خود را در یک IDE باز کنید، سپس فایل پیکربندی خود را به ریشه پروژه ++C خود بکشید (drag) کنید.
در صورت درخواست، گزینه افزودن فایل پیکربندی به همه اهداف را انتخاب کنید.
کار شما با تنظیم وظایف در کنسول Firebase تمام شد. در ادامه به افزودن SDK های Firebase C++ ادامه دهید.
مرحله 5 : اضافه کردن SDK های Firebase C++
مراحل این بخش نمونهای از نحوه اضافه کردن محصولات پشتیبانیشدهی فایربیس به پروژهی ++C فایربیس شما است.
کیت توسعه نرمافزاری Firebase C++ را دانلود کنید، سپس 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
فریمورکهای فایربیس را از SDK استخراجشده اضافه کنید.
سادهترین راه برای اضافه کردن این فریمورکها معمولاً کشیدن آنها از پنجرهی
Finder
مستقیماً به پنل Project Navigator در Xcode (بهطور پیشفرض پنل سمت چپ؛ یا کلیک روی آیکون فایل در بالا سمت چپ Xcode) است.فریمورک Firebase C++
firebase.framework
را اضافه کنید، که برای استفاده از هر محصول Firebase مورد نیاز است.چارچوب مربوط به هر محصول Firebase که میخواهید استفاده کنید را اضافه کنید. برای مثال، برای استفاده از Firebase Authentication ،
firebase_auth.framework
را اضافه کنید.
به کنسول Firebase برگردید، در گردش کار تنظیمات، روی Next کلیک کنید.
اگر Analytics را اضافه کردهاید، برنامه خود را اجرا کنید تا تأییدیهای مبنی بر ادغام موفقیتآمیز Firebase به Firebase ارسال شود. در غیر این صورت، میتوانید از این مرحله تأیید صرف نظر کنید.
گزارشهای دستگاه شما، تأیید Firebase مبنی بر تکمیل مقداردهی اولیه را نمایش میدهند. اگر برنامه خود را روی یک شبیهساز که به شبکه دسترسی دارد اجرا کرده باشید، کنسول Firebase به شما اطلاع میدهد که اتصال برنامه شما تکمیل شده است.
همه چیز آماده است! برنامه C++ شما برای استفاده از محصولات Firebase ثبت و پیکربندی شده است.
کتابخانههای موجود
برای کسب اطلاعات بیشتر در مورد کتابخانههای C++ Firebase به مستندات مرجع و نسخه متنباز SDK ما در GitHub مراجعه کنید.
کتابخانههای موجود برای پلتفرمهای اپل
توجه داشته باشید که کتابخانههای ++C برای اندروید در نسخه اندروید این صفحه تنظیمات فهرست شدهاند.
هر محصول Firebase وابستگیهای متفاوتی دارد. حتماً تمام وابستگیهای ذکر شده برای محصول Firebase مورد نظر را به Podfile و پروژه C++ خود اضافه کنید.
هر محصول Firebase ممکن است فقط از تعدادی از پلتفرمهای سیستم عامل اپل (iOS، tvOS و غیره) پشتیبانی کند. برای بررسی اینکه هر کتابخانه از کدام پلتفرمها پشتیبانی میکند، به بخش «درباره C++ و Firebase بیشتر بدانید» مراجعه کنید.
محصول فایربیس | چارچوبها و پادها |
---|---|
AdMob | (الزامی) firebase.framework firebase_admob.framework (الزامی) firebase_analytics.framework pod 'FirebaseAdMob', '12.4.0' (الزامی) pod 'FirebaseAnalytics', '12.4.0' |
Analytics | (الزامی) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '12.4.0' |
App Check | (الزامی) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '12.4.0' |
Authentication | (الزامی) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '12.4.0' |
Cloud Firestore | (الزامی) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '12.4.0' pod 'FirebaseAuth', '12.4.0' |
Cloud Functions | (الزامی) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '12.4.0' |
Cloud Messaging | (الزامی) firebase.framework firebase_messaging.framework (توصیه میشود) firebase_analytics.framework pod 'FirebaseMessaging', '12.4.0' (توصیه شده) pod 'FirebaseAnalytics', '12.4.0' |
Cloud Storage | (الزامی) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '12.4.0' |
Dynamic Links | (الزامی) firebase.framework firebase_dynamic_links.framework (توصیه میشود) firebase_analytics.framework pod 'FirebaseDynamicLinks', '12.4.0' (توصیه شده) pod 'FirebaseAnalytics', '12.4.0' |
Realtime Database | (الزامی) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '12.4.0' |
Remote Config | (الزامی) firebase.framework firebase_remote_config.framework (توصیه میشود) firebase_analytics.framework pod 'FirebaseRemoteConfig', '12.4.0' (توصیه شده) pod 'FirebaseAnalytics', '12.4.0' |
اطلاعات تکمیلی برای تنظیمات موبایل
روش سوویزلینگ
در iOS، برخی از رویدادهای برنامه (مانند باز کردن URLها و دریافت اعلانها) نیاز دارند که نماینده برنامه شما متدهای خاصی را پیادهسازی کند. برای مثال، دریافت یک اعلان ممکن است نیاز داشته باشد که نماینده برنامه شما application:didReceiveRemoteNotification:
پیادهسازی کند. از آنجا که هر برنامه iOS نماینده برنامه مخصوص به خود را دارد، Firebase از متد swizzling استفاده میکند که امکان جایگزینی یک متد با متد دیگر را فراهم میکند تا علاوه بر هر متدی که ممکن است پیادهسازی کرده باشید، هندلرهای خود را نیز به آن اضافه کند.
کتابخانههای Dynamic Links و Cloud Messaging باید با استفاده از method swizzling، هندلرها را به نماینده برنامه (application delegate) متصل کنند. اگر از هر یک از این محصولات Firebase استفاده میکنید، در زمان بارگذاری، Firebase کلاس AppDelegate
شما را شناسایی کرده و متدهای مورد نیاز را به آن swizzling اضافه میکند و یک فراخوانی مجدد به پیادهسازی متد موجود شما انجام میدهد.
راهاندازی گردش کار دسکتاپ ( بتا )
وقتی در حال ساخت یک بازی هستید، اغلب خیلی راحتتر است که ابتدا بازی خود را روی پلتفرمهای دسکتاپ آزمایش کنید، سپس بعداً در مراحل توسعه، آن را روی دستگاههای تلفن همراه مستقر و آزمایش کنید. برای پشتیبانی از این گردش کار، ما زیرمجموعهای از SDK های Firebase C++ را ارائه میدهیم که میتوانند روی ویندوز، macOS، لینوکس و از درون ویرایشگر C++ اجرا شوند.
برای گردش کار دسکتاپ، باید موارد زیر را تکمیل کنید:
- پروژه C++ خود را برای CMake پیکربندی کنید.
- ایجاد یک پروژه فایربیس
- برنامه خود (iOS یا Android) را با Firebase ثبت کنید
- یک فایل پیکربندی Firebase برای پلتفرم موبایل اضافه کنید
یک نسخه دسکتاپ از فایل پیکربندی Firebase ایجاد کنید:
اگر فایل
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 را به پروژه C++ خود اضافه کنید.
مراحل زیر به عنوان مثالی از نحوه اضافه کردن هر محصول پشتیبانی شده Firebase به پروژه C++ شما ارائه میشود. در این مثال، ما مراحل اضافه کردن Firebase Authentication و Firebase Realtime Database بررسی میکنیم.
متغیر محیطی
FIREBASE_CPP_SDK_DIR
خود را روی محل SDK C++ Firebase از حالت فشرده خارج شده تنظیم کنید.به فایل
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 خود را اجرا کنید.
کتابخانههای موجود (دسکتاپ)
کیت توسعه نرمافزاری C++ 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 |
فایربیس کتابخانههای دسکتاپ باقیمانده را به عنوان پیادهسازیهای stub (غیرعملیاتی) برای راحتی هنگام ساخت برای ویندوز، macOS و لینوکس ارائه میدهد. بنابراین، نیازی به کامپایل مشروط کد برای هدف قرار دادن دسکتاپ ندارید.
دسکتاپ Realtime Database
کیت توسعه نرمافزار (SDK) Realtime Database برای دسکتاپ از REST برای دسترسی به پایگاه داده شما استفاده میکند، بنابراین باید ایندکسهایی را که با Query::OrderByChild()
در دسکتاپ استفاده میکنید، تعریف کنید، در غیر این صورت شنوندههای شما با شکست مواجه خواهند شد.
اطلاعات تکمیلی برای تنظیمات دسکتاپ
کتابخانههای ویندوز
برای ویندوز، نسخههای کتابخانه بر اساس موارد زیر ارائه میشوند:
- پلتفرم ساخت: حالت ۳۲ بیتی (x86) در مقابل ۶۴ بیتی (x64)
- محیط زمان اجرای ویندوز: چندرشتهای / MT در مقابل چندرشتهای DLL /MD
- هدف: انتشار در مقابل اشکالزدایی
توجه داشته باشید که کتابخانههای زیر با استفاده از ویژوال استودیو ۲۰۱۵ و ۲۰۱۷ آزمایش شدهاند.
هنگام ساخت برنامههای دسکتاپ ++C در ویندوز، کتابخانههای Windows SDK زیر را به پروژه خود پیوند دهید. برای اطلاعات بیشتر به مستندات کامپایلر خود مراجعه کنید.
کتابخانه فایربیس سی پلاس پلاس | وابستگیهای کتابخانه 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 (داروین)، نسخههای کتابخانه برای پلتفرم ۶۴ بیتی (x86_64) ارائه شده است. چارچوبهایی نیز برای راحتی شما ارائه شده است.
توجه داشته باشید که کتابخانههای macOS با استفاده از Xcode 16.2 آزمایش شدهاند.
هنگام ساخت برنامههای دسکتاپ ++C در macOS، موارد زیر را به پروژه خود پیوند دهید:
- کتابخانه سیستم
pthread
- چارچوب سیستم macOS
CoreFoundation
- چارچوب سیستم عامل macOS
Foundation
- چارچوب سیستم macOS
Security
- چارچوب سیستم macOS
GSS
- چارچوب سیستم عامل macOS
Kerberos
- چارچوب سیستم macOS
SystemConfiguration
برای اطلاعات بیشتر به مستندات کامپایلر خود مراجعه کنید.
کتابخانههای لینوکس
برای لینوکس، نسخههای کتابخانه برای پلتفرمهای ۳۲ بیتی (i386) و ۶۴ بیتی (x86_64) ارائه شدهاند.
توجه داشته باشید که کتابخانههای لینوکس با استفاده از GCC 4.8.0، GCC 7.2.0 و Clang 5.0 روی اوبونتو آزمایش شدهاند.
هنگام ساخت برنامههای دسکتاپ ++C در لینوکس، کتابخانه سیستم pthread
را به پروژه خود پیوند دهید. برای اطلاعات بیشتر به مستندات کامپایلر خود مراجعه کنید. اگر با GCC 5 یا بالاتر برنامه میسازید، -D_GLIBCXX_USE_CXX11_ABI=0
را تعریف کنید.
مراحل بعدی
نمونههایی از برنامههای Firebase را بررسی کنید.
SDK متنباز را در گیتهاب بررسی کنید.
برای راهاندازی برنامه خود آماده شوید:
- هشدارهای بودجه را برای پروژه خود در کنسول Google Cloud تنظیم کنید.
- داشبورد «مصرف و پرداخت» را در کنسول Firebase رصد کنید تا تصویری کلی از میزان مصرف پروژه خود در چندین سرویس فایربیس داشته باشید.
- چک لیست راه اندازی Firebase را مرور کنید.