אתם יכולים לשפר את משחקי C++ שלכם בעזרת ערכות ה-SDK של Firebase C++ שמספקות תג C++ מעל ערכות ה-SDK של Firebase.
גישה ל-Firebase ישירות מתוך קוד ה-C++, בלי לכתוב קוד ייעודי לפלטפורמה. Firebase SDK גם מתרגם הרבה כינויים שמשמשים את Firebase בממשק שמוכר יותר למפתחי C++.
מידע נוסף על שדרוג המשחקים שלך באמצעות Firebase זמין בכתובת דף המשחקים של Firebase.
כבר הוספתם את Firebase לפרויקט C++ ? חשוב לוודא שאתם משתמשים בגרסה העדכנית ביותר של Firebase C++ SDK.
דרישות מוקדמות
מתקינים את האפליקציות הבאות:
- Xcode 13.3.1 ואילך
- CocoaPods 1.12.0 ואילך
חשוב לוודא שהפרויקט מטרגט את גרסאות הפלטפורמה הבאות או גרסאות מתקדמות יותר:
- iOS 13
- tvOS 13
אתם יכולים להגדיר מכשיר פיזי או להשתמש בסימולטור כדי להפעיל את האפליקציה.
נכנסים ל-Firebase באמצעות חשבון Google.
שלב 2: יוצרים פרויקט Firebase
כדי להוסיף את Firebase לפרויקט C++ צריך ליצור Firebase כדי להתחבר לפרויקט C++ שלכם. למידע נוסף על פרויקטים ב-Firebase, אפשר לעיין במאמר הסבר על פרויקטים ב-Firebase.
שלב 3: רישום האפליקציה ב-Firebase
כדי להשתמש ב-Firebase באפליקציה ל-Apple, צריך לרשום את האפליקציה לפרויקט ב-Firebase. רישום האפליקציה שלך נקרא בדרך כלל 'הוספה' את האפליקציה פרויקט.
נכנסים אל מסוף Firebase.
במרכז דף הסקירה הכללית של הפרויקט, לוחצים על סמל iOS+. כדי להפעיל את תהליך ההגדרה.
אם כבר הוספתם אפליקציה לפרויקט Firebase, לוחצים על הוספת אפליקציה כדי להציג את אפשרויות הפלטפורמות.
מזינים את מזהה החבילה של האפליקציה בשדה bundle ID (מזהה החבילה).
(אופציונלי) מזינים פרטים נוספים על האפליקציה: הכינוי של האפליקציה ומזהה App Store.
לוחצים על רישום האפליקציה.
שלב 4: מוסיפים את קובץ התצורה של Firebase
לוחצים על Download GoogleService-Info.plist כדי להוריד את Firebase Apple קובץ תצורה של פלטפורמות.
פותחים את פרויקט ה-C++ בסביבת פיתוח משולבת (IDE), וגוררים את קובץ התצורה לתיקיית השורש של פרויקט ה-C++.
אם מופיעה בקשה, בוחרים להוסיף את קובץ התצורה לכל היעדים.
סיימת להגדיר את המשימות במסוף Firebase. ממשיכים למטה לקטע הוספת Firebase C++ SDKs.
שלב 5: מוסיפים את Firebase C++ SDKs
השלבים בקטע הזה מדגימים איך להוסיף מוצרי Firebase נתמכים אל Firebase פרויקט C++
מורידים את Firebase C++ SDK ומחלצים את ה-SDK למקום נוח.
ערכת ה-SDK של Firebase C++ היא לא ספציפית לפלטפורמה, אבל היא מכילה ספריות ספציפיות לפלטפורמה.
מוסיפים pods של Firebase מה-SDK ללא האפסון.
אם עדיין אין לכם קובץ Podfile, צריך ליצור אותו:
cd your-app-directory
pod init
ל-Podfile, מוסיפים את קבוצות ה-Pod של 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'
מתקינים את קבוצות ה-Pod, ואז פותחים את הקובץ
.xcworkspace
ב-Xcode.pod install
open your-app.xcworkspace
מוסיפים frameworks של Firebase מקובץ ה-ZIP SDK.
הדרך הקלה ביותר להוסיף את ה-frameworks היא בדרך כלל לגרור אותן החלון
Finder
ישירות לחלונית Project Navigator של Xcode כברירת מחדל, החלונית השמאלית ביותר; או ללחוץ על סמל הקובץ בפינה הימנית העליונה של Xcode).מוסיפים את מסגרת Firebase C++
firebase.framework
, שהיא חובה כדי להשתמש בכל מוצר של Firebase.מוסיפים את המסגרת לכל מוצר Firebase שבו רוצים להשתמש. עבור לדוגמה, כדי להשתמש בפונקציה Firebase Authentication צריך להוסיף את
firebase_auth.framework
.
חוזרים למסוף Firebase, בתהליך ההגדרה לוחצים על Next.
אם הוספתם את Analytics, מריצים את האפליקציה כדי לשלוח ל-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 | Frameworks ו-Pods |
---|---|
AdMob |
(חובה) firebase.framework firebase_admob.framework (חובה) firebase_analytics.framework pod 'FirebaseAdMob', '11.0.0' (חובה) pod 'FirebaseAnalytics', '11.0.0'
|
Analytics |
(חובה) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '11.0.0'
|
App Check |
(חובה) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '11.0.0'
|
Authentication |
(חובה) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '11.0.0'
|
Cloud Firestore |
(חובה) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '11.0.0' pod 'FirebaseAuth', '11.0.0'
|
Cloud Functions |
(חובה) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '11.0.0'
|
Cloud Messaging |
(חובה) firebase.framework firebase_messaging.framework (מומלץ) firebase_analytics.framework pod 'FirebaseMessaging', '11.0.0' (מומלץ) pod 'FirebaseAnalytics', '11.0.0'
|
Cloud Storage |
(חובה) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '11.0.0'
|
Dynamic Links |
(חובה) firebase.framework firebase_dynamic_links.framework (מומלץ) firebase_analytics.framework pod 'FirebaseDynamicLinks', '11.0.0' (מומלץ) pod 'FirebaseAnalytics', '11.0.0'
|
Realtime Database |
(חובה) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '11.0.0'
|
Remote Config |
(חובה) firebase.framework firebase_remote_config.framework (מומלץ) firebase_analytics.framework pod 'FirebaseRemoteConfig', '11.0.0' (מומלץ) pod 'FirebaseAnalytics', '11.0.0'
|
מידע נוסף על הגדרת מכשירים ניידים
שינוי פונקציונליות של שיטה
ב-iOS, אירועים מסוימים באפליקציות (כמו כתובות URL של פתיחה וקבלת
הודעות) לדרוש שמקבל גישה לאפליקציה להטמיע
שיטות. לדוגמה, יכול להיות שקבלת התראה תחייב את הנציג של האפליקציה להטמיע את application:didReceiveRemoteNotification:
. כי
לכל אפליקציה ל-iOS יש משתמש משלה ל-iOS, מערכת Firebase משתמשת
swizzling, שמאפשר להחליף שיטה אחת באחרת,
לצרף handlers של עצמו בנוסף ל-handlers שאולי הטמעתם.
ספריות Dynamic Links ו-Cloud Messaging צריכות לצרף מנהלים לנציג האפליקציה באמצעות החלפת שיטות (method swizzling). אם אתם משתמשים באחד מהמוצרים האלה של Firebase, בזמן הטעינה מערכת Firebase תזהה את הכיתה AppDelegate
ותוסיף לה את השיטות הנדרשות, תוך יצירת שרשור של קריאה חוזרת להטמעת השיטות הקיימת.
הגדרת תהליך עבודה במחשב (בטא)
כשיוצרים משחק, בדרך כלל הרבה יותר קל לבדוק אותו במחשב קודם כל, ואז לפרוס ולבדוק במכשירים ניידים מאוחר יותר בפיתוח. שפת תרגום תמיכה בתהליך העבודה הזה, אנחנו מספקים קבוצת משנה של Firebase ערכות SDK C++ שיכולות לפעול Windows, macOS, Linux ומתוך עורך C++.
עבור תהליכי עבודה במחשב, יש לבצע את הפעולות הבאות:
- מגדירים את פרויקט C++ ל-CMake.
- יצירת פרויקט Firebase
- רישום האפליקציה (ב-iOS או ב-Android) ב-Firebase
- הוספת קובץ תצורה של Firebase לפלטפורמה לנייד
יוצרים גרסת מחשב של קובץ התצורה של Firebase:
אם הוספתם את הקובץ
google-services.json
ל-Android – כשמריצים את האפליקציה, מערכת Firebase מאתרת את הקובץ לנייד הזה, ולאחר מכן יוצרת באופן אוטומטי קובץ תצורה של Firebase למחשב (google-services-desktop.json
).אם הוספתם את קובץ
GoogleService-Info.plist
ב-iOS – לפני ההרצה שלך, עליך להמיר את קובץ הנייד הזה למחשב Firebase קובץ תצורה. כדי להמיר את הקובץ, מריצים את הפקודה הבאה מאותה כתובת בספרייה כקובץGoogleService-Info.plist
:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
קובץ התצורה הזה למחשב מכיל את מזהה הפרויקט C++ שהזנת תהליך העבודה של הגדרת מסוף Firebase. מידע נוסף על קובצי תצורה זמין במאמר הסבר על פרויקטים ב-Firebase.
מוסיפים ערכות Firebase SDK לפרויקט 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++.
ספריות זמינות (במחשב)
ערכת ה-SDK Firebase C++ כוללת תמיכה בתהליך עבודה במחשב עבור קבוצת משנה של תכונות, וכך אפשר להשתמש בחלקים מסוימים של Firebase שולחן העבודה העצמאי מבוסס על Windows, macOS ו-Linux.
מוצר Firebase | הפניות לספרייה (באמצעות CMake) |
---|---|
App Check |
firebase_app_check (חובה) firebase_app
|
Authentication |
firebase_auth (חובה) firebase_app
|
Cloud Firestore |
firebase_firestore firebase_auth firebase_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 מספקת את שאר ספריות המחשב כ-stub (לא פעיל) לשימוש נוח יותר במהלך פיתוחים ל-Windows, ל-macOS ול-Linux. לכן, אין צורך להדר קוד באופן מותנה כדי לטרגט את שולחן העבודה.
Realtime Database במחשב
ה-SDK של Realtime Database למחשב משתמש ב-REST כדי לגשת למסד הנתונים שלך, לכן
להצהיר על האינדקסים
בשימוש עם Query::OrderByChild()
במחשב, אחרת המאזינים שלך ייכשלו.
מידע נוסף על הגדרה במחשב
ספריות Windows
ב-Windows, גרסאות של ספריות זמינות על סמך התנאים הבאים:
- פלטפורמת build: מצב 32 ביט (x86) לעומת מצב 64 ביט (x64)
- סביבת זמן ריצה של Windows: ריבוי שרשורים / MT לעומת DLL /MD עם שרשורים מרובים
- היעד: גרסה לעומת ניפוי באגים
שימו לב שהספריות הבאות נבדקו באמצעות Visual Studio בשנים 2015 ו-2017.
כשיוצרים אפליקציות C++ לשולחן העבודה ב-Windows, צריך לקשר את Windows SDK הבא: של הפרויקט. אפשר לקרוא מידע נוסף במסמכי התיעוד של המהדר מידע.
ספריית C++ של Firebase | יחסי תלות של ספריות Windows SDK |
---|---|
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), יש גרסאות ספריות של 64 סיביות (x86_64) הפלטפורמה. לנוחותך, יש לנו גם מסגרות.
שימו לב שספריות macOS נבדקו באמצעות Xcode 13.3.1.
כשאתם מפתחים אפליקציות של C++ למחשב ב-macOS, עליכם לקשר את הפריטים הבאים לפרויקט:
- ספריית המערכת
pthread
CoreFoundation
מסגרת המערכת של macOS- מסגרת מערכת של macOS של
Foundation
Security
מסגרת המערכת של macOSGSS
מסגרת המערכת של macOSKerberos
מסגרת המערכת של macOSSystemConfiguration
מסגרת המערכת של macOS
למידע נוסף, אפשר לעיין בתיעוד של המהדר (compiler).
ספריות Linux
ב-Linux, גרסאות הספרייה זמינות לפלטפורמות של 32 סיביות (i386) ו-64 סיביות (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
.
השלבים הבאים
הכנה להשקת האפליקציה:
- מגדירים התראות תקציב לפרויקט במסוף Google Cloud.
- במסוף Firebase, אפשר לעקוב אחרי לוח הבקרה של השימוש והחיוב כדי לקבל תמונה כללית של השימוש בפרויקט במספר שירותי Firebase.
- כדאי לעיין ברשימת המשימות להשקת Firebase.