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 ++ שלך באמצעות Firebase C ++ SDK שלנו המספקים ממשק C ++ על גבי Firebase עבור iOS ו- Android.

גש ל- Firebase לחלוטין מקוד C ++ שלך, מבלי שתצטרך לכתוב קוד יליד פלטפורמה. ה- Firebase SDK מתרגם גם ניבים ספציפיים לשפה שבהם משתמש Firebase לממשק המוכר יותר למפתחי C ++.

גלה פרטים נוספים על היכולות עד המשחקים שלך עם Firebase בבית שלנו דף משחקים Firebase .

כבר הוספת את Firebase לפרויקט C ++ שלך? ודא שאתה משתמש בגרסה האחרונה של ה- SDK Firebase C ++ .

תנאים מוקדמים

  • התקן את הדברים הבאים:

    • Xcode 12 ואילך
    • CocoaPods 1.10.0 ואילך
  • ודא שהפרויקט שלך מכוון ל- iOS 10 ואילך.

  • הגדר מכשיר iOS פיזי או השתמש בסימולטור iOS להפעלת האפליקציה שלך.

  • היכנס Firebase באמצעות חשבון Google שלך.

שלב 2: יצירת פרויקט Firebase

לפני שתוכל להוסיף Firebase לפרויקט C ++ שלך, עליך ליצור פרויקט Firebase כדי להתחבר לפרויקט C ++ שלך. בקר להבין Firebase פרוייקטים כדי ללמוד עוד על פרויקטים Firebase.

שלב 3: רשמו את האפליקציה שלכם עם Firebase

לאחר שיש לך פרויקט Firebase, תוכל להוסיף אליו את אפליקציית iOS שלך.

בקר להבין פרוייקטים Firebase כדי ללמוד עוד על שיטות עבודה מומלצות שיקולים להוספת יישומים פרויקט Firebase, כולל איך להתמודד עם גרסאות לבנות מרובות.

  1. עבור אל קונסולת Firebase .

  2. במרכז דף סקירת הפרויקט, לחץ על סמל ה- iOS ( ) כדי להפעיל את זרימת עבודת ההתקנה.

    אם כבר הוסיף יישום לפרויקט Firebase שלך, לחץ על הוסף אפליקציה להצגת אפשרויות הפלטפורמה.

  3. זן זיהוי החבילה של האפליקציה שלך בחנות iOS צרור שדה מזהה.

  4. (אופציונאלי) זן פרטי אפליקציה אחרים: כינוי App ו- App Store ID.

  5. לחץ אפליקצית רישום.

שלב 4: הוספת קובץ התצורה Firebase

  1. לחץ להורדה GoogleService-info.plist להשיג קובץ config Firebase iOS שלך.

  2. פתח את פרויקט C ++ שלך ב- IDE, ולאחר מכן גרור את קובץ התצורה שלך לשורש פרוייקט C ++.

  3. אם תתבקש, בחר להוסיף את קובץ התצורה לכל היעדים.

סיימת עם הגדרת משימות במסוף Firebase. המשך להוסיף ערכות SDK ++ C Firebase להלן.

שלב 5: הוספת ערכות SDK ++ C Firebase

השלבים בסעיף זה הם דוגמא כיצד להוסיף מוצרי Firebase נתמכים על פרויקט ++ C Firebase שלך.

  1. הורד את ה- SDK Firebase C ++ , אז לפתוח את SDK איפשהו נוח.

    Firebase C ++ SDK אינו ספציפי לפלטפורמה, אך הוא מכיל ספריות ספציפיות לפלטפורמה.

  2. להוסיף Firebase תרמילים מן SDK הרוכסן.

    1. צור Podfile אם אין לך כבר אחד:

      cd your-app-directory
      pod init

    2. ל- Podfile שלך, הוסף את תרמילי Firebase שבהם ברצונך להשתמש באפליקציה שלך.

      Analytics מופעל

      # 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'

      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 'Firebase/Auth'
      pod 'Firebase/Database'
    3. התקן את התרמילים, ולאחר מכן פתח את .xcworkspace קובץ Xcode.

      pod install
      open your-app.xcworkspace

  3. להוסיף Firebase מסגרות מן SDK רוכסן.

    הדרך הקלה ביותר להוסיף מסגרות אלה היא בדרך כלל לגרור אותם מתוך Finder חלון ישירות לתוך חלונית ניווט פרויקט של Xcode (בחלונית מרחיק השמאל, כברירת מחדל, או לחץ על סמל קובץ השמאלי העליון של Xcode).

    1. מוסיפים את המסגרת ++ C Firebase firebase.framework , אשר נדרש כדי להשתמש בכל מוצר Firebase.

    2. הוסף את המסגרת של כל מוצר Firebase שבו ברצונך להשתמש. לדוגמה, שימוש באימות Firebase, להוסיף firebase_auth.framework .

  4. חזרה במסוף Firebase, בזרימת העבודה ההתקנה, לחץ על הבא.

  5. אם הוספת את Analytics, הפעל את האפליקציה שלך לשלוח אימות ל- Firebase ששילבת בהצלחה את Firebase. אחרת, תוכל לדלג על שלב אימות זה.

    יומני המכשיר שלך יציגו את אימות Firebase כי האתחול הושלם. אם אתה רץ היישום שלך על אמולטור שיש לו גישה לרשת, קונסולת Firebase מודיע לך כי חיבור האפליקציה שלך יושלם.

אתה מוכן! אפליקציית C ++ שלך רשומה ומוגדרת לשימוש במוצרי Firebase.

ספריות זמינות

למידע נוסף על ספריות C ++ Firebase ב תיעוד הפניה ו במהדורה SDK קוד פתוח שלנו על GitHub .

ספריות זמינות ל- 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 יש להאציל אפליקציה משלה, Firebase משתמשת בשיטת swizzling, המאפשר החלפת שיטה אחת עם אחר, כדי לצרף מטפלים משלה בנוסף לכול כי ייתכן יישם.

הספריות Dynamic Links and Cloud Messaging צריכות לצרף מטפלים לנציג היישומים באמצעות סחרור שיטות. אם אתה משתמש בכל מוצרי Firebase אלה, בעת טעינה, Firebase יזהה שלך AppDelegate בכיתה ו בקשית השיטות נדרשו על זה, שרשור בחזרה קריאה ליישום השיטה הקיימת.

הגדרת עבודת שולחן עבודה (בטא)

כאשר אתה יוצר משחק, לעתים קרובות הרבה יותר קל לבדוק את המשחק שלך בפלטפורמות שולחניות תחילה, ולאחר מכן לפרוס ולבדוק במכשירים ניידים מאוחר יותר בפיתוח. כדי לתמוך זרימת עבודה זו, אנו מספקים משנה של בערכות פיתוח ++ C Firebase שיכול לרוץ על Windows, MacOS, לינוקס, ומתוך C ++ עורך.

  1. עבור זרימות עבודה בשולחן העבודה, עליך להשלים את הפעולות הבאות:

    1. הגדר את פרוייקט C ++ שלך עבור CMake.
    2. צור פרויקט Firebase
    3. רשום את האפליקציה שלך (iOS או Android) ב- Firebase
    4. הוסף קובץ תצורה של Firebase בנייד
  2. צור הגירסה השולחנית של קובץ התצורה Firebase:

    • אם אתה מוסיף גם את אנדרואיד google-services.json קובץ - בעת הפעלת האפליקציה שלך, Firebase מאתרת קובץ הנייד הזה, אז באופן אוטומטי קובץ config Firebase שולחניים ( google-services-desktop.json ).

    • אם אתה מוסיף גם את iOS GoogleService-Info.plist קובץ - לפני שתפעיל את היישום שלך, אתה צריך להמיר קובץ נייד זה לקובץ config Firebase שולחן העבודה. כדי להמיר את הקובץ, הפעל את הפקודה הבאה מאותה ספרייה כמו שלך GoogleService-Info.plist הקובץ:

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

    קובץ הגדרות שולחן העבודה הזה מכיל את מזהה הפרויקט C ++ שהזנת בזרימת העבודה של הגדרת מסוף Firebase. בקר להבין פרוייקטים Firebase כדי ללמוד עוד על קבצי config.

  3. הוסף Firebase SDK לפרויקט C ++ שלך.

    הצעדים הבאים לשמש דוגמא כיצד להוסיף שום נתמך מוצר Firebase כדי ++ C בפרויקט שלך. בדוגמה זו אנו עוברים הוספת אימות Firebase ובסיס נתונים בזמן אמת של Firebase.

    1. הגדר שלך FIREBASE_CPP_SDK_DIR משתנה הסביבה למיקום של SDK Firebase C ++ רוכסן.

    2. כדי הפרויקט שלך CMakeLists.txt הקובץ, להוסיף את התוכן הבא, כולל ספריות למוצרי Firebase כי אתה רוצה להשתמש. לדוגמה, כדי להשתמש באימות Firebase ובמסד נתונים בזמן אמת של Firebase:

      # 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 ++ שלך.

ספריות זמינות (שולחן עבודה)

Firebase C ++ SDK כולל תמיכת זרימת שולחן עבודה עבור קבוצת משנה של תכונות, המאפשר חלקים מסוימים של Firebase לשמש שולחן עבודה עצמאי בונה על Windows, MacOS ו- Linux.

מוצר 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 ו- Linux. לכן, אין צורך לאסוף קוד מותנה כדי למקד את שולחן העבודה.

שולחן עבודה של מסד נתונים בזמן אמת

ה- SDK מסד בזמן אמת עבור שולחן העבודה משתמשת REST לגשת מסד הנתונים שלך, כך שאתה חייב להכריז על אינדקסים כי אתה משתמש עם Query::OrderByChild() על שולחן העבודה או המאזינים שלך ייכשל.

מידע נוסף להגדרת שולחן העבודה

ספריות Windows

עבור Windows, גרסאות הספרייה ניתנות על בסיס הדברים הבאים:

  • בניית פלטפורמה: מצב 32 סיביות (x86) מול 64 סיביות (x64)
  • סביבת זמן ריצה של Windows: Multithreaded / MT לעומת Multithreaded DLL / MD
  • יעד: שחרור לעומת ניפוי באגים

שים לב שהספריות הבאות נבדקו באמצעות Visual Studio 2015 ו- 2017.

בעת בניית יישומי שולחן עבודה C ++ ב- Windows, קשר את ספריות ה- SDK הבאות של Windows לפרויקט שלך. עיין בתיעוד המהדר שלך למידע נוסף.

ספריית Firebase C ++ תלות בספריית Windows 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 הספרייה מערכת לפרוייקט שלך. עיין בתיעוד המהדר שלך למידע נוסף. אם הבניין נמצא עם GCC 5 או מאוחר יותר, מגדירים -D_GLIBCXX_USE_CXX11_ABI=0 .

הצעדים הבאים