بازیهای ++C خود را با کیتهای توسعه نرمافزار Firebase در ++C ما که یک میانای ++C در بالای کیتهای توسعه نرمافزار Firebase ارائه میدهند، تقویت کنید.
بهطور کامل از کد C++ خود به Firebase دسترسی داشته باشید، بدون اینکه نیاز به نوشتن هیچ کد بومی پلاتفرم داشته باشید. کیت توسعه نرمافزار Firebase همچنین بسیاری از اصطلاحات خاص زبان را که توسط Firebase استفاده میشود به رابطی ترجمه میکند که برای توسعهدهندگان C++ آشناتر است.
برای کسب اطلاعات بیشتر درباره تقویت بازیهایتان با Firebase، به صفحه بازیهای Firebase ما مراجعه کنید.
قبلاً Firebase را به پروژه C++ خود اضافه کردهاید؟ مطمئن شوید که از جدیدترین نسخه Firebase C++ SDK استفاده میکنید.
پیشنیازها
موارد زیر را نصب کنید:
- Xcode نسخه ۲۶.۲ یا بالاتر
- CocoaPods نسخه ۱.۱۲.۰ یا جدیدتر
مطمئن شوید پروژه شما نسخههای پلاتفرم زیر یا جدیدتر را هدف قرار میدهد:
- 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++ SDK را بارگیری کنید، سپس SDK را در جایی مناسب از حالت فشرده خارج کنید.
کیت توسعه نرمافزار Firebase C++ مختص پلاتفرم نیست، اما حاوی کتابخانههای مختص پلاتفرم است.
پادهای Firebase را از کیت توسعه نرمافزار از حالت فشرده خارجشده اضافه کنید.
اگر 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 را از کیت توسعه نرمافزار از حالت فشرده خارجشده اضافه کنید.
سادهترین راه برای افزودن این چارچوبها معمولاً کشیدن آنها از پنجره
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 در اسناد مرجع و در نسخه کیت توسعه نرمافزار متنباز ما در GitHub بیشتر بدانید.
کتابخانههای دردسترس برای پلاتفرمهای Apple
توجه داشته باشید که کتابخانههای C++ برای Android در نسخه Android این صفحه راهاندازی فهرست شدهاند.
هر محصول Firebase وابستگیهای متفاوتی دارد. حتماً همه وابستگیهای فهرستشده برای محصول Firebase موردنظر را به Podfile و پروژه ++C خود اضافه کنید.
هر محصول Firebase ممکن است فقط از مجموعهای از پلاتفرمهای سیستمعامل Apple (iOS، tvOS، و غیره) پشتیبانی کند. در درباره C++ و Firebase بیشتر بدانید، بررسی کنید کدام پلاتفرمها توسط هر کتابخانه پشتیبانی میشوند.
| محصول Firebase | چارچوبها و Podها |
|---|---|
| Analytics |
(الزامی) firebase.frameworkfirebase_analytics.frameworkpod 'FirebaseAnalytics', '13.0.0'
|
| App Check |
(الزامی) firebase.frameworkfirebase_app_check.frameworkpod 'FirebaseAppCheck', '13.0.0'
|
| Authentication |
(الزامی) firebase.frameworkfirebase_auth.frameworkpod 'FirebaseAuth', '13.0.0'
|
| Cloud Firestore |
(الزامی) firebase.frameworkfirebase_firestore.frameworkfirebase_auth.frameworkpod 'FirebaseFirestore', '13.0.0'pod 'FirebaseAuth', '13.0.0'
|
| Cloud Functions |
(الزامی) firebase.frameworkfirebase_functions.frameworkpod 'FirebaseFunctions', '13.0.0'
|
| Cloud Messaging |
(الزامی) firebase.frameworkfirebase_messaging.framework(توصیهشده) firebase_analytics.frameworkpod 'FirebaseMessaging', '13.0.0'(توصیهشده) pod 'FirebaseAnalytics', '13.0.0'
|
| Cloud Storage |
(الزامی) firebase.frameworkfirebase_storage.frameworkpod 'FirebaseStorage', '13.0.0'
|
| Realtime Database |
(الزامی) firebase.frameworkfirebase_database.frameworkpod 'FirebaseDatabase', '13.0.0'
|
| Remote Config |
(الزامی) firebase.frameworkfirebase_remote_config.framework(توصیهشده) firebase_analytics.frameworkpod 'FirebaseRemoteConfig', '13.0.0'(توصیهشده) pod 'FirebaseAnalytics', '13.0.0'
|
| کتابخانههای منسوخشده یا پشتیبانینشده | |
| Dynamic Links |
(الزامی) firebase.frameworkfirebase_dynamic_links.framework(توصیهشده) firebase_analytics.frameworkpod 'FirebaseDynamicLinks', '13.0.0'(توصیهشده) pod 'FirebaseAnalytics', '13.0.0'
|
اطلاعات تکمیلی برای راهاندازی تلفن همراه
روش تغییر پیادهسازی
در iOS، برخیاز رویدادهای برنامه (مانند باز کردن نشانیهای وب و دریافت
اعلانها) به نماینده برنامه شما نیاز دارند تا روشهای خاصی را
پیادهسازی کند. برای مثال، دریافت اعلان ممکن است به نماینده برنامه شما نیاز داشته باشد تا application:didReceiveRemoteNotification: را پیادهسازی کند. ازآنجاییکه
هر برنامه iOS نماینده برنامه خودش را دارد، Firebase از
روش تغییر پیادهسازی استفاده میکند که امکان جایگزینی یک روش با روش دیگر را فراهم میکند،
تا علاوهبر هر گردانندهای که ممکن است پیادهسازی کرده باشید، گردانندههای خودش را نیز متصل کند.
کتابخانههای Dynamic Links و Cloud Messaging باید
بااستفاده از روش تغییر پیادهسازی، گردانندهها را به نماینده برنامه متصل کنند. اگر
از هرکدام از این محصولات Firebase استفاده میکنید، Firebase در زمان بار کردن،
کلاس AppDelegate شما را شناسایی میکند و روشهای لازم را روی آن swizzle میکند،
و یک فراخوانی برگشتی را به پیادهسازی روش موجود شما زنجیر میکند.
راهاندازی گردش کار رایانه (نسخه بتا)
وقتی بازیای میسازید، اغلب بسیار آسانتر است که ابتدا بازیتان را در پلاتفرمهای رایانه آزمایش کنید، سپس در مراحل بعدی توسعه آن را در دستگاههای همراه مستقر و آزمایش کنید. برای پشتیبانی از این گردش کار، زیرمجموعهای از کیتهای توسعه نرمافزار Firebase C++ را ارائه میدهیم که میتوانند در Windows، macOS، Linux، و از داخل ویرایشگر ++C اجرا شوند.
برای گردش کار رایانه، باید موارد زیر را تکمیل کنید:
- پروژه C++ خود را برای CMake پیکربندی کنید.
- ایجاد پروژه Firebase
- ثبت کردن برنامه (iOS یا Android) در Firebase
- افزودن فایل پیکربندی Firebase پلاتفرم تلفن همراه
نسخه رایانه فایل پیکربندی Firebase را ایجاد کنید:
اگر فایل Android
google-services.jsonرا اضافه کردهاید — وقتی برنامهتان را اجرا میکنید، Firebase این فایل تلفن همراه را پیدا میکند، سپس بهطور خودکار فایل پیکربندی Firebase رایانه (google-services-desktop.json) را تولید میکند.اگر فایل
GoogleService-Info.plistiOS را اضافه کردهاید — قبلاز اجرای برنامهتان، باید این فایل تلفن همراه را به فایل پیکربندی 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++ SDK شامل پشتیبانی از گردش کار رایانه برای زیرمجموعهای از ویژگیها است که امکان استفاده از بخشهای خاصی از 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 SDK زیر را به پروژهتان پیوند دهید. برای اطلاعات بیشتر، به اسناد کامپایلر خود مراجعه کنید.
| کتابخانه 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چارچوب سیستم macOS- چارچوب سیستم macOS
Foundation - چارچوب سیستم macOS
Security - چارچوب سیستم macOS
GSS Kerberosچارچوب سیستم macOS- چارچوب سیستم macOS
SystemConfiguration
برای اطلاعات بیشتر، به مستندات کامپایلر خود مراجعه کنید.
کتابخانههای 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 را مرور کنید.