بازیهای ++C خود را با کیتهای توسعه نرمافزار Firebase در ++C تقویت کنید که یک میانای ++C روی کیتهای توسعه نرمافزار Firebase ارائه میدهند.
بهطور کامل از کد C++ خود به Firebase دسترسی داشته باشید، بدون اینکه نیاز به نوشتن هیچ کد بومی پلاتفرم داشته باشید. کیت توسعه نرمافزار Firebase همچنین بسیاری از اصطلاحات خاص زبان را که توسط Firebase استفاده میشود به رابطی ترجمه میکند که برای توسعهدهندگان ++C آشناتر است.
برای کسب اطلاعات بیشتر درباره تقویت بازیهایتان با Firebase، به صفحه بازیهای Firebase ما مراجعه کنید.
قبلاً Firebase را به پروژه C++ خود اضافه کردهاید؟ مطمئن شوید که از جدیدترین نسخه Firebase C++ SDK استفاده میکنید.
پیشنیازها
موارد زیر را نصب کنید:
- Xcode نسخه ۲۶.۲ یا بالاتر
مطمئن شوید پروژه شما نسخههای پلاتفرم زیر یا جدیدتر را هدف قرار میدهد:
- iOS 15
- tvOS 15
دستگاه فیزیکی راهاندازی کنید یا از شبیهساز برای اجرای برنامهتان استفاده کنید.
بااستفاده از حساب Google خود، به سیستم Firebase وارد شوید.
مرحله ۲: ایجاد پروژه Firebase
قبلاز اینکه بتوانید Firebase را به پروژه C++ خود اضافه کنید، باید یک پروژه Firebase ایجاد کنید تا به پروژه C++ خود متصل شوید. برای کسب اطلاعات بیشتر درباره پروژههای Firebase، به آشنایی با پروژههای Firebase مراجعه کنید.
مرحله ۳: ثبت برنامه در Firebase
برای استفاده از Firebase در برنامه Apple، باید برنامهتان را در پروژه Firebase خود ثبت کنید. ثبت کردن برنامه اغلب «افزودن» برنامه به پروژه نامیده میشود.
به کنسول Firebase بروید.
در مرکز صفحه نمای کلی پروژه، روی نماد iOS+ کلیک کنید تا گردش کار راهاندازی راهاندازی شود.
اگر قبلاً برنامهای به پروژه Firebase خود اضافه کردهاید، روی افزودن برنامه کلیک کنید تا گزینههای پلاتفرم نمایش داده شود.
شناسه بسته ترکیبی برنامهتان را در فیلد شناسه بسته ترکیبی وارد کنید.
(اختیاری) سایر اطلاعات برنامه را وارد کنید: نام مستعار برنامه و شناسه App Store.
روی ثبت برنامه کلیک کنید.
مرحله ۴: افزودن فایل پیکربندی Firebase
روی بارگیری GoogleService-Info.plist کلیک کنید تا فایل پیکربندی پلاتفرمهای Firebase Apple را دریافت کنید.
پروژه C++ خود را در یک IDE باز کنید، سپس فایل پیکربندی خود را به ریشه پروژه C++ خود بکشید.
درصورت درخواست، انتخاب کنید که فایل پیکربندی به همه هدفها اضافه شود.
تکالیف راهاندازی را در کنسول Firebase انجام دادهاید. به افزودن کیتهای توسعه نرمافزار Firebase در ++C در زیر ادامه دهید.
مرحله ۵: افزودن کیتهای توسعه نرمافزار Firebase در ++C
مراحل این بخش نمونهای از نحوه افزودن محصولات Firebase پشتیبانیشده به پروژه Firebase C++ شما است.
کیت توسعه نرمافزار Firebase C++ را بارگیری کنید، سپس کیت توسعه نرمافزار را در جایی مناسب از حالت فشرده خارج کنید.
کیت توسعه نرمافزار Firebase C++ مختص پلاتفرم نیست، اما حاوی کتابخانههای مختص پلاتفرم است.
از Swift Package Manager برای نصب و مدیریت وابستگیهای کیت توسعه نرمافزار پلاتفرمهای Firebase Apple استفاده کنید.
در Xcode، درحالیکه پروژه برنامهتان باز است، به File > Add Package Dependencies (فایل > افزودن وابستگیهای بسته) بروید.
وقتی خواسته شد، مخزن کیت توسعه نرمافزار Firebase برای پلاتفرمهای Apple را اضافه کنید:
https://github.com/firebase/firebase-ios-sdk.git
برای قانون وابستگی، نسخه دقیق را انتخاب کنید و
13.1.1را وارد کنید.کتابخانههای Firebase را که میخواهید در برنامهتان استفاده کنید (برای مثال،
FirebaseAuthوFirebaseDatabase) انتخاب کنید. اگر Google Analytics در پروژه Firebase شما فعال است، حتماًFirebaseAnalyticsرا اضافه کنید.
وقتی تمام شد، Xcode بهطور خودکار شروع به حل و بارگیری وابستگیهای شما در پسزمینه میکند.
Firebase XCFrameworks را از دایرکتوری
xcframeworksکیت توسعه نرمافزار از حالت فشرده خارجشده اضافه کنید.سادهترین راه برای افزودن این XCFrameworks معمولاً کشیدن آنها از پنجره
Finderمستقیماً به صفحه Project Navigator Xcode (صفحه سمت چپ، بهطور پیشفرض؛ یا کلیک کردن روی نماد فایل در بالا سمت چپ Xcode) و افزودن آنها به هدف ساخت برنامه شما است.Firebase C++ XCFramework
firebase.xcframeworkرا اضافه کنید که برای استفاده از هر محصول Firebase الزامی است.XCFramework را برای هر محصول Firebase که میخواهید استفاده کنید اضافه کنید. برای مثال، برای استفاده از Firebase Authentication،
firebase_auth.xcframeworkرا اضافه کنید.
در کنسول Firebase، در گردش کار راهاندازی، روی بعدی کلیک کنید.
اگر Analytics را اضافه کردهاید، برنامهتان را اجرا کنید تا درستیسنجی را به Firebase ارسال کنید که Firebase را باموفقیت ادغام کردهاید. درغیراینصورت، میتوانید از این مرحله درستیسنجی رد شوید.
گزارشهای دستگاهتان درستیسنجی Firebase را نشان میدهد که مقداردهی اولیه تکمیل شده است. اگر برنامهتان را در شبیهسازی اجرا کردهاید که دسترسی به شبکه دارد، کنسول Firebase به شما اطلاع میدهد که اتصال برنامهتان کامل شده است.
همه چیز آماده است! برنامه C++ شما ثبت شده و برای استفاده از محصولات Firebase پیکربندی شده است.
کتابخانههای دردسترس
درباره کتابخانههای Firebase ++C در اسناد مرجع و در نسخه کیت توسعه نرمافزار متنباز ما در GitHub بیشتر بدانید.
کتابخانههای دردسترس برای پلاتفرمهای Apple
توجه داشته باشید که کتابخانههای C++ برای Android در نسخه Android این صفحه راهاندازی فهرست شدهاند.
هر محصول Firebase وابستگیهای متفاوتی دارد. حتماً همه وابستگیهای فهرستشده برای محصول Firebase انتخابشده را بااستفاده از Swift Package Manager و در پروژه C++ خود اضافه کنید.
هر محصول Firebase ممکن است فقط از مجموعهای از پلاتفرمهای سیستمعامل Apple (iOS، tvOS، و غیره) پشتیبانی کند. در درباره C++ و Firebase بیشتر بدانید، بررسی کنید کدام پلاتفرمها توسط هر کتابخانه پشتیبانی میشوند.
| محصول Firebase | کتابخانههای XCFrameworks و Swift Package Manager |
|---|---|
| Analytics |
(الزامی) firebase.xcframeworkfirebase_analytics.xcframeworkFirebaseAnalytics (13.1.1)
|
| App Check |
(الزامی) firebase.xcframeworkfirebase_app_check.xcframeworkFirebaseAppCheck (13.1.1)
|
| Authentication |
(الزامی) firebase.xcframeworkfirebase_auth.xcframeworkFirebaseAuth (13.1.1)
|
| Cloud Firestore |
(الزامی) firebase.xcframeworkfirebase_firestore.xcframeworkfirebase_auth.xcframeworkFirebaseFirestore (13.1.1)FirebaseAuth (13.1.1)
|
| Cloud Functions |
(الزامی) firebase.xcframeworkfirebase_functions.xcframeworkFirebaseFunctions (13.1.1)
|
| Cloud Messaging |
(الزامی) firebase.xcframeworkfirebase_messaging.xcframework(توصیهشده) firebase_analytics.xcframeworkFirebaseMessaging (13.1.1)(توصیهشده) FirebaseAnalytics (13.1.1)
|
| Cloud Storage |
(الزامی) firebase.xcframeworkfirebase_storage.xcframeworkFirebaseStorage (13.1.1)
|
| Realtime Database |
(الزامی) firebase.xcframeworkfirebase_database.xcframeworkFirebaseDatabase (13.1.1)
|
| Remote Config |
(الزامی) firebase.xcframeworkfirebase_remote_config.xcframework(توصیهشده) firebase_analytics.xcframeworkFirebaseRemoteConfig (13.1.1)(توصیهشده) FirebaseAnalytics (13.1.1)
|
| کتابخانههای منسوخشده یا پشتیبانینشده | |
| Dynamic Links |
(الزامی) firebase.xcframeworkfirebase_dynamic_links.xcframework(توصیهشده) firebase_analytics.xcframeworkFirebaseDynamicLinks (13.1.1)(توصیهشده) FirebaseAnalytics (13.1.1)
|
اطلاعات تکمیلی برای راهاندازی تلفن همراه
ادغام بدون استفاده از Swift Package Manager
اگر نمیخواهید از Swift Package Manager برای مدیریت وابستگیهای کیت توسعه نرمافزار پلاتفرمهای Apple در Firebase استفاده کنید، برای گزینههای ادغام جایگزین، به ادغام بدون استفاده از Swift Package Manager در راهنمای راهاندازی پلاتفرمهای Apple مراجعه کنید.
روش تغییر پیادهسازی
در iOS، برخیاز رویدادهای برنامه (مانند باز کردن نشانیهای وب و دریافت
اعلانها) به نماینده برنامه شما نیاز دارند تا روشهای خاصی را
پیادهسازی کند. برای مثال، دریافت اعلان ممکن است به نماینده برنامه شما نیاز داشته باشد تا application:didReceiveRemoteNotification: را پیادهسازی کند. ازآنجاییکه
هر برنامه iOS نماینده برنامه خودش را دارد، Firebase از
روش تغییر پیادهسازی استفاده میکند که امکان جایگزینی یک روش با روش دیگر را فراهم میکند،
تا علاوهبر هر روشی که ممکن است پیادهسازی کرده باشید، گردانندههای خودش را نیز متصل کند.
کتابخانههای Dynamic Links و Cloud Messaging باید
بااستفاده از روش تغییر پیادهسازی، گردانندهها را به نماینده برنامه متصل کنند. اگر
از هریک از این محصولات Firebase استفاده میکنید، Firebase در زمان بار کردن،
کلاس AppDelegate شما را شناسایی میکند و روشهای لازم را روی آن سوئیزل میکند،
و یک فراخوانی برگشتی را به پیادهسازی روش موجود شما زنجیر میکند.
راهاندازی گردش کار رایانه (نسخه بتا)
وقتی درحال ساختن بازی هستید، اغلب بسیار آسانتر است که ابتدا بازیتان را در پلاتفرمهای رایانه آزمایش کنید، سپس در مراحل بعدی توسعه، آن را در دستگاههای همراه مستقر و آزمایش کنید. برای پشتیبانی از این گردش کار، زیرمجموعهای از کیتهای توسعه نرمافزار Firebase C++ را ارائه میدهیم که میتوانند در 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 را به پروژه C++ خود اضافه کنید.
مراحل زیر بهعنوان نمونهای از نحوه افزودن هر محصول Firebase پشتیبانیشده به پروژه C++ شما ارائه شده است. در این مثال، مراحل افزودن Firebase Authentication و Firebase Realtime Database را توضیح میدهیم.
متغیر محیطی
FIREBASE_CPP_SDK_DIRرا روی مکان کیت توسعه نرمافزار 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++ خود را اجرا کنید.
کتابخانههای دردسترس (رایانه)
کیت توسعه نرمافزار Firebase C++ شامل پشتیبانی از گردش کار رایانه برای زیرمجموعهای از ویژگیها است که امکان استفاده از بخشهای خاصی از Firebase را در ساختهای مستقل رایانه در Windows، macOS، و Linux فراهم میکند.
| محصول Firebase | مرجعهای کتابخانه (بااستفاده از CMake) |
|---|---|
| App Check |
firebase_app_check(الزامی) firebase_app
|
| Authentication |
firebase_auth(الزامی) firebase_app
|
| Cloud Firestore |
firebase_firestorefirebase_authfirebase_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
Realtime Database SDK برای رایانه از REST برای دسترسی به پایگاه داده شما استفاده میکند، بنابراین باید
نمایههایی را که
با Query::OrderByChild() در رایانه استفاده میکنید اعلام کنید، درغیراینصورت شنوندگان شما با شکست مواجه خواهند شد.
اطلاعات بیشتر برای راهاندازی رایانه
کتابخانههای Windows
برای Windows، نسخههای کتابخانه براساس موارد زیر ارائه میشود:
- پلاتفرم ساخت: حالت ۳۲ بیتی (x86) درمقابل ۶۴ بیتی (x64)
- محیط زمان اجرای Windows: چندرشتهای / MT درمقابل DLL چندرشتهای / MD
- هدف: Release دربرابر Debug
توجه داشته باشید که کتابخانههای زیر بااستفاده از Visual Studio 2015 و 2017 آزمایش شدهاند.
هنگام ساختن برنامههای رایانهای C++ در Windows، کتابخانههای کیت توسعه نرمافزار Windows زیر را به پروژهتان پیوند دهید. برای اطلاعات بیشتر، به اسناد کامپایلر خود مراجعه کنید.
| کتابخانه Firebase C++ | وابستگیهای کتابخانه کیت توسعه نرمافزار 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)، نسخههای کتابخانه برای پلاتفرم ۶۴ بیتی (x86_64) ارائه میشود. چارچوبهایی نیز برای راحتی شما ارائه شده است.
توجه داشته باشید که کتابخانههای macOS بااستفاده از Xcode نسخه ۲۶.۲ آزمایش شدهاند.
هنگام ساختن برنامههای رایانهای C++ در macOS، موارد زیر را به پروژهتان پیوند دهید:
-
pthreadکتابخانه سیستم CoreFoundationچارچوب سیستم macOSFoundationچارچوب سیستم macOSSecurityچارچوب سیستم macOSGSSچارچوب سیستم macOSKerberosچارچوب سیستم macOSSystemConfigurationچارچوب سیستم macOS
برای اطلاعات بیشتر، به مستندات کامپایلر خود مراجعه کنید.
کتابخانههای Linux
برای Linux، نسخههای کتابخانه برای پلاتفرمهای ۳۲ بیتی (i386) و ۶۴ بیتی (x86_64) ارائه میشود.
توجه داشته باشید که کتابخانههای Linux بااستفاده از GCC 4.8.0، GCC 7.2.0، و Clang 5.0 در Ubuntu آزمایش شدهاند.
هنگام ساختن برنامههای رایانهای C++ در Linux، کتابخانه سیستم pthread را به
پروژهتان پیوند دهید. برای اطلاعات بیشتر، به مستندات کامپایلر خود مراجعه کنید. اگر
با GCC 5 یا جدیدتر میسازید، -D_GLIBCXX_USE_CXX11_ABI=0 را تعریف کنید.
مراحل بعدی
برنامههای نمونه Firebase را کاوش کنید.
کیت توسعه نرمافزار متنباز را در GitHub کاوش کنید.
آماده شدن برای راهاندازی برنامه:
- هشدارهای بودجه را برای پروژهتان در کنسول Google Cloud راهاندازی کنید.
- داشبورد استفاده و صورتحساب را در کنسول Firebase پایش کنید تا تصویری کلی از استفاده پروژهتان در چندین سرویس Firebase بهدست آورید.
- بازبینه راهاندازی Firebase را مرور کنید.