Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Firebase را به پروژه ++ C خود اضافه کنید

بازی های C ++ خود را با SDK های Firebase C ++ ما که رابط C ++ را در بالای Firebase برای iOS و Android ارائه می دهند ، تقویت کنید.

بدون نیاز به نوشتن کد بومی پلتفرم ، کاملاً از کد C ++ خود به Firebase دسترسی پیدا کنید. SDK Firebase همچنین بسیاری از اصطلاحات خاص زبان را که توسط Firebase استفاده می شود به رابط کاربری بیشتر برای توسعه دهندگان C ++ ترجمه می کند.

پیدا کردن اطلاعات بیشتر در مورد تأمین انرژی بازی های خود را با Firebase در ما فایربیس صفحه بازی .

قبلاً Firebase را به پروژه ++ C خود اضافه کرده اید؟ اطمینان حاصل کنید که شما با استفاده از آخرین نسخه از فایربیس C ++ SDK .

پیش نیازها

  • موارد زیر را نصب کنید:

    • کد 12 یا بالاتر
    • CocoaPods 1.10.0 یا بالاتر
  • مطمئن شوید که پروژه شما iOS 10 یا بالاتر را هدف قرار می دهد.

  • یک دستگاه iOS فیزیکی تنظیم کنید یا از شبیه ساز iOS برای اجرای برنامه خود استفاده کنید.

  • ورود به فایربیس استفاده از حساب Google خود را.

مرحله 2: ایجاد یک پروژه فایربیس

قبل از اینکه بتوانید Firebase را به پروژه ++ C خود اضافه کنید ، باید یک پروژه Firebase ایجاد کنید تا به پروژه ++ C خود متصل شوید. مشاهده درک پروژه فایربیس برای کسب اطلاعات بیشتر در مورد پروژه های فایربیس.

مرحله 3: ثبت نام برنامه خود را با Firebase

پس از انجام پروژه Firebase ، می توانید برنامه iOS خود را به آن اضافه کنید.

مشاهده درک پروژه فایربیس برای کسب اطلاعات بیشتر در مورد بهترین شیوه و ملاحظات برای اضافه کردن برنامه به یک پروژه فایربیس، از جمله نحوه اداره چندین انواع ساخت.

  1. رفتن به کنسول فایربیس .

  2. در مرکز صفحه مرور کلی پروژه، کلیک بر روی آیکون های iOS ( ) برای راه اندازی گردش کار راه اندازی شده است.

    اگر شما در حال حاضر یک برنامه اضافه به پروژه Firebase خود، کلیک کنید اضافه کردن برنامه برای نمایش گزینه های پلت فرم.

  3. ID بسته نرم افزاری برنامه خود را وارد کنید در iOS بسته نرم افزاری به حوزه ID.

  4. نام مستعار برنامه و فروشگاه App ID: (اختیاری) دیگر اطلاعات برنامه را وارد کنید.

  5. برنامه ثبت نام کلیک کنید.

گام 4: اضافه کردن فایل پیکربندی فایربیس

  1. برای به دست آوردن فایل پیکربندی فایربیس iOS خود را کلیک کنید دانلود GoogleService-Info.plist.

  2. پروژه C ++ خود را در IDE باز کنید ، سپس فایل پیکربندی خود را به ریشه پروژه C ++ خود بکشید.

  3. در صورت درخواست ، انتخاب کنید تا فایل پیکربندی به همه اهداف اضافه شود.

کار تنظیمات در کنسول Firebase به پایان رسیده است. ادامه در اضافه کردن SDK ها فایربیس C ++ است.

مرحله 5: اضافه کردن SDK ها فایربیس C ++

مراحل در این بخش یک مثال از چگونگی اضافه کردن هستند محصولات فایربیس پشتیبانی را به پروژه خود فایربیس C ++.

  1. دانلود فایربیس C ++ SDK ، و سپس از حالت زیپ خارج SDK جایی راحت است.

    SDK Firebase C ++ مختص پلتفرم نیست ، اما دارای کتابخانه های مخصوص پلتفرم است.

  2. اضافه کردن فایربیس غلاف از SDK استخراج.

    1. درست Podfile اگر شما در حال حاضر یکی را داشته باشد:

      cd your-app-directory
      pod init

    2. به Podfile خود ، غلاف های Firebase را که می خواهید در برنامه خود استفاده کنید ، اضافه کنید.

      تجزیه و تحلیل فعال است

      # Add the Firebase pod for Google Analytics
      pod 'Firebase/Analytics'
      # 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 'Firebase/Auth' pod 'Firebase/Database'

      تجزیه و تحلیل فعال نیست

      # 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 'Firebase/Auth'
      pod 'Firebase/Database'
    3. نصب غلاف، سپس باز کردن .xcworkspace فایل در Xcode متعلق به.

      pod install
      open your-app.xcworkspace

  3. اضافه کردن فایربیس چارچوب از SDK استخراج.

    ساده ترین راه برای اضافه کردن این چارچوب است که معمولا آنها را بکشید از یک Finder پنجره به طور مستقیم به سمت پروژه ناوبر Xcode متعلق به (پنجره های چپ، به طور پیش فرض و یا کلیک بر روی آیکون فایل در بالا سمت چپ Xcode متعلق به).

    1. اضافه کردن فایربیس C ++ چارچوب firebase.framework ، که لازم است برای استفاده از هر محصول فایربیس.

    2. چارچوب را برای هر محصول Firebase که می خواهید استفاده کنید اضافه کنید. به عنوان مثال، به استفاده از فایربیس احراز هویت، اضافه کردن firebase_auth.framework .

  4. برگشت در فایربیس کنسول، در گردش کار راه اندازی، روی Next کلیک کنید.

  5. اگر Analytics اضافه کرده اید ، برنامه خود را اجرا کنید تا تأیید صحت Firebase را به Firebase ارسال کنید. در غیر این صورت ، می توانید از این مرحله تأیید عبور کنید.

    گزارشات دستگاه شما تأیید Firebase را نشان می دهد که مقداردهی اولیه کامل شده است. اگر شما برنامه خود را بر روی شبیه ساز است که دسترسی به شبکه را انجام داد، کنسول فایربیس به اطلاع شما که اتصال برنامه خود را کامل است.

همه چیز آماده است! برنامه C ++ شما برای استفاده از محصولات Firebase ثبت شده و پیکربندی شده است.

کتابخانه های موجود

اطلاعات بیشتر در مورد کتابخانه های C ++ فایربیس در یادگیری اسناد مرجع و در منبع باز انتشار SDK ما در گیتهاب .

کتابخانه های موجود برای iOS

توجه داشته باشید که کتابخانه C ++ برای آندروید بر روی ذکر شده نسخه آندروید این صفحه راه اندازی .

هر محصول Firebase وابستگی های متفاوتی دارد. مطمئن شوید همه وابستگی های فهرست شده برای محصول Firebase مورد نظر را به پروژه Podfile و C ++ خود اضافه کنید.

محصول Firebase چارچوب ها و غلاف ها
AdMob (لازم) firebase.framework
firebase_admob.framework
(لازم) firebase_analytics.framework

pod 'Firebase/AdMob', '8.7.0'
(لازم) pod 'Firebase/Analytics', '8.7.0'
تجزیه و تحلیل (لازم) firebase.framework
firebase_analytics.framework

pod 'Firebase/Analytics', '8.7.0'
احراز هویت (لازم) firebase.framework
firebase_auth.framework

pod 'Firebase/Auth', '8.7.0'
ابر Firestore (بتا) (لازم) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'Firebase/Firestore', '8.7.0'
pod 'Firebase/Auth', '8.7.0'
توابع ابر (لازم) firebase.framework
firebase_functions.framework

pod 'Firebase/Functions', '8.7.0'
پیام ابری (لازم) firebase.framework
firebase_messaging.framework
(توصیه می شود) firebase_analytics.framework

pod 'Firebase/Messaging', '8.7.0'
(توصیه می شود) pod 'Firebase/Analytics', '8.7.0'
فضای ذخیره ابری (لازم) firebase.framework
firebase_storage.framework

pod 'Firebase/Storage', '8.7.0'
پیوندهای پویا (لازم) firebase.framework
firebase_dynamic_links.framework
(توصیه می شود) firebase_analytics.framework

pod 'Firebase/DynamicLinks', '8.7.0'
(توصیه می شود) pod 'Firebase/Analytics', '8.7.0'
پایگاه داده بیدرنگ (لازم) firebase.framework
firebase_database.framework

pod 'Firebase/Database', '8.7.0'
پیکربندی از راه دور (لازم) firebase.framework
firebase_remote_config.framework
(توصیه می شود) firebase_analytics.framework

pod 'Firebase/RemoteConfig', '8.7.0'
(توصیه می شود) pod 'Firebase/Analytics', '8.7.0'

اطلاعات اضافی برای راه اندازی تلفن همراه

روش جابجایی

در iOS ، برخی از رویدادهای برنامه (مانند باز کردن آدرس های اینترنتی و دریافت اعلان ها) به نماینده برنامه شما نیاز دارد تا روش های خاصی را پیاده سازی کند. به عنوان مثال، دریافت یک اعلان ممکن است نماینده برنامه شما نیاز به پیاده سازی application:didReceiveRemoteNotification: . از آنجا که هر نرم افزار های iOS است نماینده برنامه خود را، با استفاده از روش فایربیس swizzling، که اجازه می دهد تا جایگزینی یک روش با یکی دیگر، به ضمیمه گرداننده خود را علاوه بر هر گونه که شما ممکن است اجرا شده است.

پیوندهای پویا و کتابخانه های پیام ابری باید با استفاده از روش swizzling ، کنترل کننده ها را به نماینده برنامه پیوست کنند. اگر شما با استفاده از هر یک از این محصولات فایربیس، در زمان بار، فایربیس خواهد خود را شناسایی AppDelegate کلاس و بلعیدن روش مورد نیاز بر روی آن، زنجیری پشت پاسخ به اجرای روش های موجود شما.

تنظیم یک گردش کار دسکتاپ (بتا)

هنگامی که در حال ایجاد یک بازی هستید ، اغلب بسیار ساده است که ابتدا بازی خود را روی سیستم عامل های رومیزی آزمایش کنید ، سپس در مراحل بعدی توسعه ، روی دستگاه های تلفن همراه مستقر و آزمایش کنید. برای حمایت از این گردش کار، ما شما را به زیر مجموعه ای از SDK ها فایربیس C ++ که می تواند بر روی ویندوز، MacOS، لینوکس، و از درون C ++ ویرایشگر اجرا کنید.

  1. برای گردش کارهای رومیزی ، موارد زیر را باید تکمیل کنید:

    1. پروژه C ++ خود را برای CMake پیکربندی کنید.
    2. ایجاد پروژه Firebase
    3. برنامه خود (iOS یا Android) را با Firebase ثبت کنید
    4. یک فایل پیکربندی Firebase با پلت فرم تلفن همراه اضافه کنید
  2. ایجاد یک نسخه دسکتاپ از فایل پیکربندی فایربیس:

    • اگر شما اضافه آندروید google-services.json فایل - هنگامی که شما برنامه خود را اجرا کنید، فایربیس واقع این فایل همراه، پس از آن به صورت خودکار و دسکتاپ فایربیس فایل پیکربندی ( google-services-desktop.json ).

    • اگر شما در iOS اضافه شده GoogleService-Info.plist فایل - قبل از اینکه شما برنامه خود را اجرا کنید، شما نیاز به تبدیل این فایل همراه را به یک دسکتاپ فایربیس فایل پیکربندی است. تبدیل فایل، دستور زیر را اجرا از همان دایرکتوری که خود را GoogleService-Info.plist فایل:

      generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist

    این فایل پیکربندی رومیزی شامل شناسه پروژه C ++ است که در جریان کار تنظیمات کنسول Firebase وارد کرده اید. مشاهده درک پروژه فایربیس برای کسب اطلاعات بیشتر در مورد فایل های پیکربندی.

  3. SDK های Firebase را به پروژه ++ C خود اضافه کنید.

    مراحل زیر را به عنوان یک مثال از نحوه اضافه کردن هر گونه خدمت محصول پشتیبانی فایربیس را به پروژه خود C ++. در این مثال ، ما از طریق افزودن احراز هویت Firebase و پایگاه داده Firebase Realtime استفاده می کنیم.

    1. تنظیم خود را FIREBASE_CPP_SDK_DIR متغیر محیطی به محل استخراج فایربیس C ++ SDK.

    2. برای پروژه خود را CMakeLists.txt فایل، اضافه کردن مطالب زیر، از جمله کتابخانه ها برای محصولات فایربیس که شما می خواهید به استفاده از. به عنوان مثال ، برای استفاده از احراز هویت Firebase و پایگاه داده Firebase Realtime:

      # 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}")
      
  4. برنامه C ++ خود را اجرا کنید.

کتابخانه های موجود (رومیزی)

فایربیس C ++ SDK شامل دسکتاپ پشتیبانی گردش کار برای یک زیر مجموعه از ویژگی های، امکان بخش های خاصی از فایربیس در دسکتاپ مستقل استفاده می شود ایجاد شده بر روی ویندوز، MacOS و لینوکس است.

محصول Firebase منابع کتابخانه (با استفاده از CMake)
احراز هویت firebase_auth
(لازم) firebase_app
ابر Firestore (بتا) firebase_firestore
firebase_auth
firebase_app
توابع ابر firebase_functions
(لازم) firebase_app
فضای ذخیره ابری firebase_storage
(لازم) firebase_app
پایگاه داده بیدرنگ firebase_database
(لازم) firebase_app
پیکربندی از راه دور firebase_remote_config
(لازم) firebase_app

Firebase کتابخانه های دسکتاپ باقی مانده را به عنوان پیاده سازی خرد (غیر کاربردی) برای راحتی هنگام ساخت برای Windows ، macOS و لینوکس ارائه می دهد. بنابراین ، برای هدف قرار دادن دسکتاپ نیازی به تدوین مشروط کد ندارید.

دسکتاپ پایگاه داده در زمان واقعی

بیدرنگ SDK پایگاه برای دسکتاپ با استفاده از REST برای دسترسی به پایگاه داده خود را، بنابراین شما باید شاخص اعلام که شما با استفاده از Query::OrderByChild() بر روی دسکتاپ و یا شنوندگان خود را شکست خواهد خورد.

اطلاعات اضافی برای راه اندازی دسکتاپ

کتابخانه های ویندوز

برای Windows ، نسخه های کتابخانه بر اساس موارد زیر ارائه می شود:

  • ساخت پلت فرم: حالت 32 بیتی (x86) در مقابل 64 بیتی (x64)
  • محیط اجرای ویندوز: Multithreaded / MT vs Multithreaded DLL / MD
  • هدف: انتشار در مقابل اشکال زدایی

توجه داشته باشید که کتابخانه های زیر با استفاده از Visual Studio 2015 و 2017 آزمایش شده اند.

هنگام ساختن برنامه های رومیزی C ++ در Windows ، کتابخانه های Windows SDK زیر را به پروژه خود پیوند دهید. برای اطلاعات بیشتر با مستندات کامپایلر خود مشورت کنید.

کتابخانه Firebase C ++ وابستگی های کتابخانه SDK ویندوز
احراز هویت advapi32, ws2_32, crypt32
Cloud Firestore advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32
توابع ابر advapi32, ws2_32, crypt32, rpcrt4, ole32
فضای ذخیره ابری advapi32, ws2_32, crypt32
پایگاه داده بیدرنگ advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv
پیکربندی از راه دور advapi32, ws2_32, crypt32, rpcrt4, ole32

کتابخانه های macOS

برای macOS (داروین) ، نسخه های کتابخانه برای پلت فرم 64 بیتی (x86_64) ارائه شده است. چارچوب ها نیز برای راحتی شما ارائه شده است.

توجه داشته باشید که کتابخانه های macOS با استفاده از Xcode 12 آزمایش شده اند.

هنگام ساختن برنامه های رومیزی C ++ در macOS ، موارد زیر را به پروژه خود پیوند دهید:

  • pthread کتابخانه سیستمی
  • CoreFoundation چارچوب سیستم از MacOS
  • Foundation چارچوب سیستم از MacOS
  • Security چارچوب سیستم از MacOS
  • GSS چارچوب سیستم از MacOS
  • Kerberos چارچوب سیستم از MacOS
  • SystemConfiguration چارچوب سیستم از MacOS

برای اطلاعات بیشتر با مستندات کامپایلر خود مشورت کنید.

کتابخانه های لینوکس

برای لینوکس ، نسخه های کتابخانه برای سیستم عامل های 32 بیتی (i386) و 64 بیتی (x86_64) ارائه می شود.

توجه داشته باشید که کتابخانه های لینوکس با استفاده از GCC 4.8.0 ، GCC 7.2.0 و Clang 5.0 در اوبونتو آزمایش شده اند.

هنگامی که ساخت C ++ برنامه های دسکتاپ بر روی لینوکس، لینک pthread کتابخانه سیستمی را به پروژه خود. برای اطلاعات بیشتر با مستندات کامپایلر خود مشورت کنید. اگر شما ساختمان هستند با شورای همکاری خلیج فارس 5 یا بالاتر، تعریف -D_GLIBCXX_USE_CXX11_ABI=0 .

مراحل بعدی