הפעל את משחקי C++ שלך עם Firebase C++ SDK שלנו המספקים ממשק C++ על גבי Firebase SDK.
גש ל-Firebase לחלוטין מקוד C++ שלך, ללא צורך לכתוב שום קוד מקורי לפלטפורמה. ה-SDK של Firebase גם מתרגם ניבים ספציפיים לשפה המשמשים את Firebase לממשק המוכר יותר למפתחי C++.
קבל מידע נוסף על הפעלת המשחקים שלך עם Firebase בדף משחקי Firebase שלנו.
כבר הוספת את Firebase לפרויקט C++ שלך? ודא שאתה משתמש בגרסה העדכנית ביותר של Firebase C++ SDK .
דרישות מוקדמות
התקן את הדברים הבאים:
- Xcode 13.3.1 ואילך
- CocoaPods 1.12.0 ואילך
ודא שהפרויקט שלך מכוון לגרסאות הפלטפורמה הבאות או מאוחרות יותר:
- iOS 11
- tvOS 12
הגדר מכשיר פיזי או השתמש בסימולטור כדי להפעיל את האפליקציה שלך.
עבור העברת הודעות בענן בפלטפורמות של Apple, להלן התנאים המוקדמים:
- הגדר מכשיר אפל פיזי .
- השג מפתח אימות של Apple Push Notification עבור חשבון ה-Apple Developer שלך.
- אפשר הודעות דחיפה ב-Xcode תחת אפליקציה > יכולות .
היכנס ל-Firebase באמצעות חשבון Google שלך.
שלב 2 : צור פרויקט Firebase
לפני שתוכל להוסיף את Firebase לפרויקט C++ שלך, עליך ליצור פרויקט Firebase כדי להתחבר לפרויקט C++ שלך. בקר בהבנת פרויקטים של Firebase כדי ללמוד עוד על פרויקטים של Firebase.
שלב 3 : רשום את האפליקציה שלך ב-Firebase
כדי להשתמש ב-Firebase באפליקציית Apple שלך, עליך לרשום את האפליקציה שלך בפרויקט Firebase שלך. רישום האפליקציה שלך נקרא לעתים קרובות "הוספת" האפליקציה שלך לפרויקט שלך.
עבור אל מסוף Firebase .
במרכז דף סקירת הפרויקט, לחץ על סמל iOS+ כדי להפעיל את זרימת העבודה של ההגדרה.
אם כבר הוספת אפליקציה לפרויקט Firebase שלך, לחץ על הוסף אפליקציה כדי להציג את אפשרויות הפלטפורמה.
הזן את מזהה החבילה של האפליקציה שלך בשדה מזהה החבילה .
מזהה חבילה מזהה באופן ייחודי אפליקציה במערכת האקולוגית של אפל.
מצא את מזהה החבילה שלך: פתח את הפרויקט שלך ב-Xcode, בחר את האפליקציה ברמה העליונה בנווט הפרויקט ולאחר מכן בחר בכרטיסייה כללי .
הערך של השדה Bundle Identifier הוא מזהה החבילה (לדוגמה,
com.yourcompany.yourproject
).שים לב שערך מזהה החבילה תלוי רישיות, ולא ניתן לשנות אותו עבור אפליקציית Firebase זו לאחר שהיא נרשמה בפרויקט Firebase שלך.
(אופציונלי) הזן מידע אחר על האפליקציה: כינוי לאפליקציה ומזהה App Store .
כינוי אפליקציה : מזהה פנימי, נוחות גלוי רק לך במסוף Firebase
מזהה App Store : בשימוש על ידי Firebase Dynamic Links כדי להפנות משתמשים לדף App Store שלך ועל ידי Google Analytics לייבא אירועי המרה ל-Google Ads . אם לאפליקציה שלך עדיין אין מזהה App Store, תוכל להוסיף את המזהה מאוחר יותר בהגדרות הפרויקט שלך.
לחץ על הרשמה אפליקציה .
שלב 4 : הוסף את קובץ התצורה של Firebase
לחץ על הורד את GoogleService-Info.plist כדי להשיג את קובץ התצורה של Firebase Apple platforms שלך.
קובץ התצורה של Firebase מכיל מזהים ייחודיים, אך לא סודיים עבור הפרויקט שלך. למידע נוסף על קובץ תצורה זה, בקר ב- Understand Firebase Projects .
תוכל להוריד שוב את קובץ התצורה של Firebase בכל עת.
ודא ששם קובץ התצורה אינו מצורף עם תווים נוספים, כמו
(2)
.
פתח את פרויקט C++ שלך ב-IDE, ולאחר מכן גרור את קובץ התצורה שלך לשורש פרויקט C++ שלך.
אם תתבקש, בחר להוסיף את קובץ התצורה לכל היעדים.
סיימת להגדיר משימות במסוף Firebase. המשך להוסיף Firebase C++ SDK למטה.
שלב 5 : הוסף ערכות SDK של Firebase C++
השלבים בסעיף זה הם דוגמה כיצד להוסיף מוצרי Firebase נתמכים לפרויקט Firebase C++ שלך.
הורד את Firebase C++ SDK ולאחר מכן פתח את ה-SDK במקום נוח.
Firebase C++ SDK אינו ספציפי לפלטפורמה, אך הוא מכיל ספריות ספציפיות לפלטפורמה.
הוסף תרמילים של Firebase מה-SDK שנפתח.
צור Podfile אם עדיין אין לך אחד:
cd your-app-directory
pod init
ל-Podfile שלך, הוסף את הפודים של Firebase שבהם אתה רוצה להשתמש באפליקציה שלך.
אנליטיקס מופעל
# 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 יודיע לך שהחיבור לאפליקציה הושלם.
אתה מוכן! אפליקציית C++ שלך רשומה ומוגדרת לשימוש במוצרי Firebase.
ספריות זמינות
למד עוד על ספריות C++ Firebase בתיעוד העזר ובמהדורת SDK בקוד פתוח שלנו ב- GitHub .
ספריות זמינות עבור פלטפורמות אפל
שים לב שספריות C++ עבור Android מופיעות בגרסת Android של דף הגדרה זה .
לכל מוצר Firebase יש תלות שונה. הקפד להוסיף את כל התלות המפורטות עבור מוצר Firebase הרצוי לפרויקט Podfile ו-C++ שלך.
כל מוצר Firebase עשוי לתמוך רק במבחר של פלטפורמות Apple OS (iOS, tvOS וכו'). בדוק אילו פלטפורמות נתמכות על ידי כל ספריה במידע נוסף על C++ ו-Firebase .
מוצר Firebase | מסגרות ותרמילים |
---|---|
AdMob | (חובה) firebase.framework firebase_admob.framework (חובה) firebase_analytics.framework pod 'FirebaseAdMob', '10.22.0' (חובה) pod 'FirebaseAnalytics', '10.22.0' |
ניתוח | (חובה) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '10.22.0' |
בדיקת אפליקציה | (חובה) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '10.22.0' |
אימות | (חובה) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '10.22.0' |
Cloud Firestore | (חובה) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '10.22.0' pod 'FirebaseAuth', '10.22.0' |
פונקציות ענן | (חובה) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '10.22.0' |
העברת הודעות בענן | (חובה) firebase.framework firebase_messaging.framework (מומלץ) firebase_analytics.framework pod 'FirebaseMessaging', '10.22.0' (מומלץ) pod 'FirebaseAnalytics', '10.22.0' |
אחסון בענן | (חובה) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '10.22.0' |
קישורים דינמיים | (חובה) firebase.framework firebase_dynamic_links.framework (מומלץ) firebase_analytics.framework pod 'FirebaseDynamicLinks', '10.22.0' (מומלץ) pod 'FirebaseAnalytics', '10.22.0' |
מסד נתונים בזמן אמת | (חובה) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '10.22.0' |
תצורה מרחוק | (חובה) firebase.framework firebase_remote_config.framework (מומלץ) firebase_analytics.framework pod 'FirebaseRemoteConfig', '10.22.0' (מומלץ) pod 'FirebaseAnalytics', '10.22.0' |
מידע נוסף עבור ההגדרה לנייד
שיטה סוויסינג
ב-iOS, אירועי יישומים מסוימים (כגון פתיחת כתובות אתרים וקבלת הודעות) מחייבים את נציג האפליקציה שלך ליישם שיטות ספציפיות. לדוגמה, קבלת הודעה עשויה לחייב את נציג האפליקציה שלך ליישם application:didReceiveRemoteNotification:
. מכיוון שלכל אפליקציית iOS יש נציג אפליקציה משלה, Firebase משתמשת בשיטת swizzling , המאפשרת החלפה של שיטה אחת באחרת, כדי לצרף מטפלים משלה בנוסף לכל מה שאולי יישמת.
ספריות הקישורים הדינמיים והעברת ההודעות בענן צריכות לצרף מטפלים לנציג האפליקציה תוך שימוש ב-swizzling של שיטות. אם אתה משתמש באחד ממוצרי Firebase אלה, בזמן הטעינה, Firebase תזהה את מחלקת AppDelegate
שלך ותעביר עליה את השיטות הנדרשות, תוך שרשור קריאה חזרה ליישום השיטה הקיימת שלך.
הגדר זרימת עבודה בשולחן העבודה ( בטא )
כשאתה יוצר משחק, לעתים קרובות הרבה יותר קל לבדוק את המשחק שלך בפלטפורמות שולחניות תחילה, ואז לפרוס ולבדוק במכשירים ניידים מאוחר יותר בפיתוח. כדי לתמוך בזרימת עבודה זו, אנו מספקים תת-קבוצה של Firebase C++ SDKs שיכולים לפעול על 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. בקר ב- Understand Firebase Projects כדי ללמוד עוד על קובצי תצורה.
הוסף ערכות SDK של Firebase לפרויקט C++ שלך.
השלבים שלהלן משמשים דוגמה להוספת כל מוצר נתמך של Firebase לפרויקט C++ שלך. בדוגמה זו, אנו עוברים על הוספת Firebase Authentication ו-Firebase Realtime Database.
הגדר את משתנה הסביבה
FIREBASE_CPP_SDK_DIR
למיקום של ה-SDK של 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) |
---|---|
בדיקת אפליקציה | firebase_app_check (חובה) firebase_app |
אימות | 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. לכן, אין צורך להדר קוד באופן מותנה כדי למקד לשולחן העבודה.
שולחן העבודה של מסד נתונים בזמן אמת
ה- Realtime Database SDK למחשב שולחני משתמש ב-REST כדי לגשת למסד הנתונים שלך, לכן עליך להצהיר על האינדקסים שבהם אתה משתמש עם Query::OrderByChild()
בשולחן העבודה, אחרת המאזינים שלך ייכשלו.
מידע נוסף להגדרת שולחן העבודה
ספריות של Windows
עבור Windows, גרסאות ספרייה מסופקות על סמך הדברים הבאים:
- בניית פלטפורמה: מצב 32 סיביות (x86) מול 64 סיביות (x64).
- סביבת זמן ריצה של Windows: Multithreaded / MT לעומת Multithreaded DLL /MD
- יעד: שחרור מול ניפוי באגים
שים לב שהספריות הבאות נבדקו באמצעות Visual Studio 2015 ו-2017.
בעת בניית אפליקציות C++ לשולחן העבודה ב-Windows, קשר את ספריות Windows SDK הבאות לפרויקט שלך. עיין בתיעוד המהדר שלך למידע נוסף.
ספריית Firebase C++ | תלות בספריית Windows SDK |
---|---|
בדיקת אפליקציה | advapi32, ws2_32, crypt32 |
אימות | 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 (Darwin), גרסאות ספרייה מסופקות עבור פלטפורמת 64 סיביות (x86_64). מסגרות מסופקות גם לנוחיותך.
שים לב שספריות macOS נבדקו באמצעות Xcode 13.3.1.
בעת בניית אפליקציות 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++ לשולחן העבודה ב-Linux, קשר את ספריית מערכת pthread
לפרויקט שלך. עיין בתיעוד המהדר שלך למידע נוסף. אם אתה בונה עם GCC 5 ואילך, הגדר -D_GLIBCXX_USE_CXX11_ABI=0
.
הצעדים הבאים
חקור את SDK בקוד פתוח ב-GitHub .
היכונו להפעלת האפליקציה שלכם:
- הגדר התראות תקציב עבור הפרויקט שלך במסוף Google Cloud.
- עקוב אחר לוח המחוונים של השימוש והחיובים במסוף Firebase כדי לקבל תמונה כוללת של השימוש בפרויקט שלך בשירותי Firebase מרובים.
- עיין ברשימת המשימות להפעלת Firebase .