با کیتهای توسعه نرمافزار Firebase C++ ما که یک میانای C++ در بالای کیتهای توسعه نرمافزار Firebase ارائه میدهند، بازیهای C++ خود را تقویت کنید.
بدون نیاز به نوشتن کد بومی پلاتفرم، بهطور کامل از کد C++ خود به Firebase دسترسی پیدا کنید. «کیت توسعه نرمافزار Firebase» همچنین بسیاری از اصطلاحات خاص زبان را که Firebase استفاده میکند به واسطی که برای توسعهدهندگان C++ آشناتر است ترجمه میکند.
در صفحه بازیهای Firebase اطلاعات بیشتری درباره تقویت بازیهایتان با Firebase کسب کنید.
قبلاً Firebase را به پروژه C++ خود اضافه کردهاید؟ مطمئن شوید که از جدیدترین نسخه Firebase C++ کیت توسعه نرمافزار استفاده میکنید.
پیشنیازها
موارد زیر را نصب کنید:
- Xcode نسخه ۲۶.۲ یا بالاتر
- CocoaPods نسخه ۱.۱۲.۰ یا بالاتر
مطمئن شوید که پروژه شما نسخههای پلاتفرم زیر یا جدیدتر را هدف قرار میدهد:
- iOS 15
- tvOS 15
برای اجرای برنامه، دستگاه فیزیکی راهاندازی کنید یا از شبیهساز استفاده کنید.
بااستفاده از «حساب Google» خود به سیستم Firebase وارد شوید.
مرحله ۲: ایجاد پروژه Firebase
قبلاز اینکه بتوانید Firebase را به پروژه C++ خود اضافه کنید، باید یک پروژه Firebase ایجاد کنید تا به پروژه C++ شما متصل شود. برای کسب اطلاعات بیشتر درباره پروژههای Firebase، به درک پروژههای Firebase مراجعه کنید.
مرحله ۳: ثبت برنامه در Firebase
برای استفاده از Firebase در برنامه Apple خود، باید برنامهتان را در پروژه Firebase خود ثبت کنید. ثبت کردن برنامه اغلب «افزودن» برنامه به پروژه نامیده میشود.
به کنسول Firebase بروید.
در مرکز صفحه نمای کلی پروژه، روی نماد iOS+ کلیک کنید تا گردش کار راهاندازی راهاندازی شود.
اگر قبلاً برنامهای را به پروژه Firebase خود اضافه کردهاید، روی افزودن برنامه کلیک کنید تا گزینههای پلاتفرم نمایش داده شود.
شناسه دستهای برنامهتان را در فیلد شناسه دسته وارد کنید.
(اختیاری) اطلاعات دیگر برنامه را وارد کنید: نام مستعار برنامه و شناسه «فروشگاه برنامهها».
روی ثبت برنامه کلیک کنید.
مرحله ۴: افزودن فایل پیکربندی Firebase
برای دریافت فایل پیکربندی پلاتفرمهای Firebase Apple، روی Download GoogleService-Info.plist کلیک کنید.
پروژه C++ خود را در IDE باز کنید، سپس فایل پیکربندی را به ریشه پروژه C++ بکشید.
اگر درخواست شد، انتخاب کنید که فایل پیکربندی به همه هدفها اضافه شود.
تکالیف راهاندازی در کنسول Firebase را انجام دادهاید. در زیر به افزودن کیتهای توسعه نرمافزار Firebase C++ ادامه دهید.
مرحله ۵: افزودن کیتهای توسعه نرمافزار Firebase C++
مراحل این بخش نمونهای از نحوه افزودن محصولات پشتیبانیشده Firebase به پروژه Firebase C++ شما است.
Firebase C++ کیت توسعه نرمافزار را بارگیری کنید، سپس کیت توسعه نرمافزار را در جایی مناسب از حالت فشرده خارج کنید.
کیت توسعه نرمافزار 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 را از SDK اززیپشده اضافه کنید.
معمولاً سادهترین راه برای افزودن این چارچوبها این است که آنها را از
Finderپنجرهای مستقیماً به قاب Project Navigator در Xcode بکشید (قاب سمت چپ، بهطور پیشفرض؛ یا روی نماد فایل در گوشه بالا سمت چپ Xcode کلیک کنید).چارچوب Firebase C++
firebase.frameworkرا اضافه کنید، که برای استفاده از هر محصول Firebase الزامی است.چارچوب را برای هر محصول Firebase که میخواهید استفاده کنید اضافه کنید. برای مثال، برای استفاده از Firebase Authentication،
firebase_auth.frameworkرا اضافه کنید.
در کنسول Firebase، در گردش کار راهاندازی، روی بعدی کلیک کنید.
اگر Analytics را اضافه کردید، برنامهتان را اجرا کنید تا درستیسنجی به Firebase ارسال شود و به 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 | چارچوبها و Pods |
|---|---|
| Analytics |
(الزامی) firebase.frameworkfirebase_analytics.frameworkpod 'FirebaseAnalytics', '12.19.0'
|
| App Check |
(الزامی) firebase.frameworkfirebase_app_check.frameworkpod 'FirebaseAppCheck', '12.19.0'
|
| Authentication |
(الزامی) firebase.frameworkfirebase_auth.frameworkpod 'FirebaseAuth', '12.19.0'
|
| Cloud Firestore |
(الزامی) firebase.frameworkfirebase_firestore.frameworkfirebase_auth.frameworkpod 'FirebaseFirestore', '12.19.0'pod 'FirebaseAuth', '12.19.0'
|
| Cloud Functions |
(الزامی) firebase.frameworkfirebase_functions.frameworkpod 'FirebaseFunctions', '12.19.0'
|
| Cloud Messaging |
(الزامی) firebase.frameworkfirebase_messaging.framework(توصیهشده) firebase_analytics.frameworkpod 'FirebaseMessaging', '12.19.0'(توصیهشده) pod 'FirebaseAnalytics', '12.19.0'
|
| Cloud Storage |
(الزامی) firebase.frameworkfirebase_storage.frameworkpod 'FirebaseStorage', '12.19.0'
|
| Realtime Database |
(الزامی) firebase.frameworkfirebase_database.frameworkpod 'FirebaseDatabase', '12.19.0'
|
| Remote Config |
(الزامی) firebase.frameworkfirebase_remote_config.framework(توصیهشده) firebase_analytics.frameworkpod 'FirebaseRemoteConfig', '12.19.0'(توصیهشده) pod 'FirebaseAnalytics', '12.19.0'
|
| کتابخانههای منسوخ یا پشتیبانینشده | |
| Dynamic Links |
(الزامی) firebase.frameworkfirebase_dynamic_links.framework(توصیهشده) firebase_analytics.frameworkpod 'FirebaseDynamicLinks', '12.19.0'(توصیهشده) pod 'FirebaseAnalytics', '12.19.0'
|
اطلاعات تکمیلی برای راهاندازی تلفن همراه
روش swizzling
در iOS، برخیاز رویدادهای برنامه (مثل باز کردن نشانیهای وب و دریافت اعلانها) نیاز دارند که نماینده برنامه شما روشهای خاصی را پیادهسازی کند. برای مثال، دریافت اعلان ممکن است نیازمند این باشد که نماینده برنامه شما application:didReceiveRemoteNotification: را پیادهسازی کند. ازآنجاییکه
هر برنامه iOS نماینده برنامه خود را دارد، Firebase از
روش جایگزینی متد استفاده میکند که امکان جایگزینی یک متد با متد دیگر را فراهم میکند،
تا کنترلکنندههای خود را علاوهبر کنترلکنندههایی که ممکن است پیادهسازی کرده باشید، پیوست کند.
کتابخانههای Dynamic Links و Cloud Messaging باید
بااستفاده از روش swizzling، مدیریتکنندهها را به نماینده برنامه پیوست کنند. اگر از هریک از این محصولات 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 برای رایانه از REST برای دسترسی به پایگاه داده شما استفاده میکند، بنابراین باید
شاخصهایی را که
با Query::OrderByChild() در رایانه استفاده میکنید اعلام کنید، درغیراینصورت شنوندگان شما با خطا مواجه خواهند شد.
اطلاعات تکمیلی برای راهاندازی رایانه
کتابخانههای Windows
برای Windows، نسخههای کتابخانه براساس موارد زیر ارائه میشود:
- پلاتفرم ساخت: حالت ۳۲ بیتی (x86) دربرابر حالت ۶۴ بیتی (x64)
- محیط زمان اجرای Windows: چندریسمانی / MT دربرابر چندریسمانی DLL /MD
- هدف: نسخه پخش دربرابر اشکالزدایی
توجه داشته باشید که کتابخانههای زیر بااستفاده از 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 26.2 آزمایش شدهاند.
هنگام ساختن برنامههای رایانهای C++ در macOS، موارد زیر را به پروژهتان پیوند دهید:
-
pthreadکتابخانه سیستم - چارچوب سیستم macOS
CoreFoundation - چارچوب سیستم macOS
Foundation - چارچوب سیستم macOS
Security - چارچوب سیستم macOS
GSS - چارچوب سیستم macOS
Kerberos - چارچوب سیستم 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 را مرور کنید.