Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

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

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

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

پیش نیازها

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

    • Xcode 12 یا بالاتر
    • CocoaPods 1.10.0 یا بالاتر
  • مطمئن شوید که پروژه شما نسخه های پلتفرم زیر یا نسخه های جدیدتر را هدف قرار می دهد:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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.9.1'
(لازم) pod 'Firebase/Analytics', '8.9.1'
تجزیه و تحلیل (لازم) firebase.framework
firebase_analytics.framework

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

pod 'Firebase/Auth', '8.9.1'
Cloud Firestore (لازم) firebase.framework
firebase_firestore.framework
firebase_auth.framework

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

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

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

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

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

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

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

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

روش swizzling

در iOS، برخی رویدادهای برنامه (مانند باز کردن URL ها و دریافت اعلان ها) به نماینده برنامه شما نیاز دارند تا روش های خاصی را پیاده سازی کنند. به عنوان مثال، دریافت یک اعلان ممکن است نماینده برنامه شما نیاز به پیاده سازی 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 Authentication و Firebase Realtime Database را طی می کنیم.

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

    2. برای پروژه خود را CMakeLists.txt فایل، اضافه کردن مطالب زیر، از جمله کتابخانه ها برای محصولات فایربیس که شما می خواهید به استفاده از. به عنوان مثال، برای استفاده از 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}")
      
  4. برنامه ++C خود را اجرا کنید.

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

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

محصول Firebase منابع کتابخانه (با استفاده از CMake)
احراز هویت firebase_auth
(لازم) firebase_app
Cloud 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 و Linux فراهم می‌کند. بنابراین، برای هدف قرار دادن دسکتاپ نیازی به کامپایل کد مشروط ندارید.

دسکتاپ پایگاه داده بیدرنگ

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

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

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

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

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

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

هنگام ساخت برنامه های دسکتاپ C++ در ویندوز، کتابخانه های 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 .

مراحل بعدی