משפרים את משחקי C++ בעזרת Firebase C++ SDKs, שמספקים ממשק C++ על גבי Firebase SDKs.
גישה ל-Firebase באופן מלא מקוד C++, בלי לכתוב קוד מקורי לפלטפורמה. בנוסף, Firebase SDK מתרגם הרבה ניבים ספציפיים לשפה שבהם נעשה שימוש ב-Firebase לממשק שמוכר יותר למפתחי C++.
מידע נוסף על שימוש ב-Firebase כדי לשפר את המשחקים זמין בדף המשחקים של Firebase.
כבר הוספתם את Firebase לפרויקט C++? חשוב לוודא שאתם משתמשים בגרסה העדכנית ביותר של Firebase C++ SDK.
דרישות מוקדמות
מתקינים את הרכיבים הבאים:
- Xcode 16.2 ואילך
- CocoaPods 1.12.0 ואילך
צריך לוודא שהפרויקט מיועד לגרסאות הפלטפורמה הבאות או לגרסאות חדשות יותר:
- iOS 13
- tvOS 13
מגדירים מכשיר פיזי או משתמשים בסימולטור כדי להריץ את האפליקציה.
רוצה להשתמש ב-Cloud Messaging?
Cloud Messaging כדי להשתמש ב-Apple Platforms, צריך לוודא שמתקיימים התנאים הבאים:
- מגדירים מכשיר Apple פיזי.
- משיגים מפתח אימות של Apple Push Notification בשביל חשבון Apple Developer.
- מפעילים את ההתראות בדחיפה ב-Xcode בקטע App > Capabilities.
נכנסים ל-Firebase באמצעות חשבון Google.
שלב 2: יצירת פרויקט Firebase
לפני שתוכלו להוסיף את Firebase לפרויקט C++, תצטרכו ליצור פרויקט Firebase כדי לקשר אותו לפרויקט C++. מידע נוסף על פרויקטים ב-Firebase זמין במאמר הסבר על פרויקטים ב-Firebase.
יצירת פרויקט Firebase
-
במסוף Firebase, לוחצים על הוספת פרויקט.
-
כדי להוסיף משאבי Firebase לפרויקט קיים Google Cloud צריך להזין את שם הפרויקט או לבחור אותו מהתפריט הנפתח.
-
כדי ליצור פרויקט חדש, מזינים שם לפרויקט. אפשר גם לערוך את מזהה הפרויקט שמוצג מתחת לשם הפרויקט.
-
-
אם תופיע בקשה, תצטרכו לקרוא את התנאים של Firebase ולאשר אותם.
-
לוחצים על המשך.
-
(אופציונלי) מגדירים את Google Analytics לפרויקט, כדי ליהנות מחוויה אופטימלית באמצעות המוצרים הבאים של Firebase: Firebase A/B Testing, Cloud Messaging, Crashlytics, In-App Messaging ו-Remote Config (כולל התאמה אישית).
בוחרים חשבון Google Analytics קיים או יוצרים חשבון חדש. אם יוצרים חשבון חדש, בוחרים את Analytics מיקום הדיווח, ואז מאשרים את הגדרות שיתוף הנתונים ואת Google Analytics התנאים של הפרויקט.
-
לוחצים על יצירת פרויקט (או על הוספת Firebase, אם מוסיפים את Firebase לפרויקט קיים של Google Cloud).
מערכת Firebase מקצה באופן אוטומטי משאבים לפרויקט Firebase. בסיום התהליך, תועברו לדף הסקירה הכללית של פרויקט Firebase בFirebase מסוף.
שלב 3: רישום האפליקציה ב-Firebase
כדי להשתמש ב-Firebase באפליקציית Apple, צריך לרשום את האפליקציה בפרויקט Firebase. רישום האפליקציה נקרא לעיתים קרובות "הוספה" של האפליקציה לפרויקט.
עוברים אל מסוף Firebase.
במרכז הדף של סקירת הפרויקט, לוחצים על הסמל iOS+ כדי להפעיל את תהליך ההגדרה.
אם כבר הוספתם אפליקציה לפרויקט Firebase, לוחצים על הוספת אפליקציה כדי להציג את אפשרויות הפלטפורמה.
מזינים את מזהה החבילה של האפליקציה בשדה מזהה החבילה.
מה זה מזהה חבילה ואיפה הוא נמצא?
מזהה חבילה מזהה באופן ייחודי אפליקציה במערכת האקולוגית של אפל.
כדי למצוא את מזהה החבילה: פותחים את הפרויקט ב-Xcode, בוחרים את האפליקציה ברמה העליונה בסרגל הניווט של הפרויקט ואז בוחרים בכרטיסייה כללי.
הערך בשדה Bundle Identifier הוא מזהה החבילה (לדוגמה,
com.yourcompany.yourproject
).חשוב לדעת שהערך של מזהה החבילה הוא תלוי אותיות רישיות (case-sensitive), ואי אפשר לשנות אותו באפליקציית Firebase הזו אחרי שהיא נרשמת בפרויקט Firebase.
(אופציונלי) מזינים פרטים נוספים על האפליקציה: כינוי האפליקציה ומזהה האפליקציה בחנות.
איך משתמשים ב-Firebase בכינוי האפליקציה ובמזהה האפליקציה ב-App Store?
כינוי לאפליקציה: מזהה פנימי שנועד לנוחותכם ומוצג רק לכם במסוף Firebase
מזהה App Store: משמש את Firebase Dynamic Links כדי להפנות משתמשים לדף שלכם ב-App Store ואת Google Analytics כדי לייבא אירועי המרה אל Google Ads. אם לאפליקציה שלכם עדיין אין מזהה App Store, תוכלו להוסיף את המזהה מאוחר יותר בהגדרות הפרויקט.
לוחצים על רישום האפליקציה.
שלב 4: מוסיפים את קובץ ההגדרות של Firebase
לוחצים על Download GoogleService-Info.plist (הורדה של GoogleService-Info.plist) כדי לקבל את קובץ התצורה של פלטפורמות Apple ב-Firebase.
מה צריך לדעת על קובץ התצורה הזה?
קובץ התצורה של Firebase מכיל מזהים ייחודיים, אבל לא סודיים, של הפרויקט והאפליקציה. מידע נוסף על קובץ התצורה הזה זמין במאמר הסבר על פרויקטים ב-Firebase.
תמיד אפשר להוריד שוב את קובץ התצורה של Firebase.
מוודאים שלא נוספו תווים לשם של קובץ ההגדרות, כמו
(2)
.
פותחים את פרויקט C++ בסביבת פיתוח משולבת (IDE) וגוררים את קובץ ההגדרות אל השורש של פרויקט C++.
אם מוצגת בקשה, בוחרים להוסיף את קובץ ההגדרות לכל יעדי ההעברה.
סיימתם להגדיר משימות במסוף Firebase. בהמשך מוסבר איך להוסיף את Firebase C++ SDKs.
שלב 5: מוסיפים את Firebase C++ SDKs
השלבים בקטע הזה הם דוגמה לאופן שבו מוסיפים מוצרי Firebase נתמכים לפרויקט Firebase C++.
מורידים את Firebase C++ SDK ומחלצים את הקבצים למיקום נוח.
ערכת ה-SDK Firebase C++ לא ספציפית לפלטפורמה, אבל היא מכילה ספריות ספציפיות לפלטפורמה.
מוסיפים pods של Firebase מתוך ה-SDK שחולץ.
צריך ליצור Podfile אם אין עדיין:
cd
your-app-directory pod init
מוסיפים ל-Podfile את ה-pods של 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'# 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'
מתקינים את ה-pods ואז פותחים את הקובץ
.xcworkspace
ב-Xcode.pod install
open
your-app .xcworkspace
מוסיפים frameworks של Firebase מתוך ה-SDK שחולץ.
הדרך הכי קלה להוסיף את המסגרות האלה היא בדרך כלל לגרור אותן מחלון
Finder
ישירות לחלונית Project Navigator של Xcode (החלונית הימנית ביותר, כברירת מחדל, או לחיצה על סמל הקובץ בפינה הימנית העליונה של Xcode).מוסיפים את Firebase C++ framework
firebase.framework
, שהוא חובה לשימוש בכל מוצר של Firebase.מוסיפים את ה-framework לכל מוצר Firebase שרוצים להשתמש בו. לדוגמה, כדי להשתמש ב-Firebase Authentication, מוסיפים את
firebase_auth.framework
.
במסוף Firebase, בתהליך ההגדרה, לוחצים על הבא.
אם הוספתם את Analytics, מריצים את האפליקציה כדי לשלוח אימות ל-Firebase שהשילוב של Firebase בוצע בהצלחה. אם לא, אפשר לדלג על שלב האימות הזה.
במכשיר, ביומני הרישום יוצג אימות Firebase שהאתחול הושלם. אם הפעלתם את האפליקציה באמולטור עם גישה לרשת, במסוף Firebase תקבלו הודעה שהחיבור לאפליקציה הושלם.
הכול מוכן! אפליקציית C++ שלכם רשומה ומוגדרת לשימוש במוצרי Firebase.
ספריות זמינות
מידע נוסף על ספריות C++ Firebase זמין במאמרי העזרה ובגרסת ה-SDK שלנו בקוד פתוח ב-GitHub.
ספריות שזמינות לפלטפורמות של אפל
שימו לב: ספריות C++ ל-Android מפורטות בגרסת Android של דף ההגדרה הזה.
לכל מוצר של Firebase יש תלות שונה. חשוב להוסיף את כל התלויות (dependencies) שמופיעות ברשימה של מוצר Firebase הרצוי ל-Podfile ולפרויקט C++.
כל מוצר של Firebase יכול לתמוך רק בחלק מהפלטפורמות של מערכות ההפעלה של אפל (iOS, tvOS וכו'). במאמר מידע נוסף על C++ ו-Firebase מפורטות הפלטפורמות שנתמכות על ידי כל ספרייה.
מוצר Firebase | Frameworks ו-Pods |
---|---|
AdMob |
(חובה) firebase.framework firebase_admob.framework (חובה) firebase_analytics.framework pod 'FirebaseAdMob', '12.0.0' (חובה) pod 'FirebaseAnalytics', '12.0.0'
|
Analytics |
(חובה) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '12.0.0'
|
App Check |
(חובה) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '12.0.0'
|
Authentication |
(חובה) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '12.0.0'
|
Cloud Firestore |
(required) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '12.0.0' pod 'FirebaseAuth', '12.0.0'
|
Cloud Functions |
(חובה) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '12.0.0'
|
Cloud Messaging |
(חובה) firebase.framework firebase_messaging.framework (מומלץ) firebase_analytics.framework pod 'FirebaseMessaging', '12.0.0' (מומלץ) pod 'FirebaseAnalytics', '12.0.0'
|
Cloud Storage |
(חובה) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '12.0.0'
|
Dynamic Links |
(חובה) firebase.framework firebase_dynamic_links.framework (מומלץ) firebase_analytics.framework pod 'FirebaseDynamicLinks', '12.0.0' (מומלץ) pod 'FirebaseAnalytics', '12.0.0'
|
Realtime Database |
(חובה) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '12.0.0'
|
Remote Config |
(חובה) firebase.framework firebase_remote_config.framework (מומלץ) firebase_analytics.framework pod 'FirebaseRemoteConfig', '12.0.0' (מומלץ) pod 'FirebaseAnalytics', '12.0.0'
|
מידע נוסף על הגדרת אפליקציות לנייד
שינוי פונקציונליות של שיטה
ב-iOS, חלק מהאירועים באפליקציה (כמו פתיחת כתובות URL וקבלת התראות) מחייבים את נציג האפליקציה להטמיע שיטות ספציפיות. לדוגמה, כדי לקבל התראה, יכול להיות שיהיה צורך להטמיע את application:didReceiveRemoteNotification:
בנציג האפליקציה. מכיוון שלכל אפליקציית iOS יש נציג אפליקציה משלה, Firebase משתמש בהחלפת שיטות, שמאפשרת להחליף שיטה אחת בשיטה אחרת, כדי לצרף את המטפלים שלו בנוסף לכל מטפל שאולי הטמעתם.
הספריות Dynamic Links ו-Cloud Messaging צריכות לצרף handlers לנציג האפליקציה באמצעות החלפת שיטות. אם אתם משתמשים באחד מהמוצרים האלה של Firebase, בזמן הטעינה, Firebase יזהה את המחלקה AppDelegate
ויבצע החלפה של השיטות הנדרשות, ויקשר קריאה חזרה להטמעה הקיימת של השיטה.
הגדרת תהליך עבודה במחשב (בטא)
כשיוצרים משחק, לרוב קל יותר לבדוק אותו קודם בפלטפורמות למחשב, ואז לפרוס אותו ולבדוק אותו במכשירים ניידים בשלב מאוחר יותר בתהליך הפיתוח. כדי לתמוך בתהליך העבודה הזה, אנחנו מספקים קבוצת משנה של ערכות ה-SDK Firebase C++ שאפשר להריץ ב-Windows, ב-macOS, ב-Linux ומתוך עורך C++.
כדי להשתמש בתהליכי עבודה במחשב, צריך לבצע את הפעולות הבאות:
- מגדירים את פרויקט C++ ל-CMake.
- יצירת פרויקט Firebase
- רישום האפליקציה (iOS או Android) ב-Firebase
- הוספת קובץ תצורה של Firebase לפלטפורמה לנייד
יוצרים גרסת דסקטופ של קובץ ההגדרות של Firebase:
אם הוספתם את קובץ Android
google-services.json
– כשמריצים את האפליקציה, 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 SDKs לפרויקט C++.
השלבים הבאים הם דוגמה לאופן שבו מוסיפים כל מוצר נתמך של Firebase לפרויקט C++. בדוגמה הזו, נסביר איך מוסיפים את Firebase Authentication ו-Firebase Realtime Database.
מגדירים את משתנה הסביבה
FIREBASE_CPP_SDK_DIR
למיקום של Firebase SDK 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) |
---|---|
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: Multithreaded / MT לעומת Multithreaded DLL /MD
- יעד: גרסת Release לעומת גרסת Debug
שימו לב: הספריות הבאות נבדקו באמצעות Visual Studio 2015 ו-2017.
כשמפתחים אפליקציות C++ למחשב ב-Windows, צריך לקשר את הספריות הבאות של Windows SDK לפרויקט. מידע נוסף זמין במאמרי העזרה של הקומפיילר.
ספריית Firebase C++ | יחסי תלות של ספריות ב-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-bit (x86_64). לנוחיותכם, אנחנו מספקים גם מסגרות.
הערה: הספריות של macOS נבדקו באמצעות Xcode 16.2.
כשמפתחים אפליקציות C++ למחשב ב-macOS, צריך לקשר את הרכיבים הבאים לפרויקט:
pthread
ספריית המערכתCoreFoundation
מסגרת מערכת macOSFoundation
מסגרת מערכת macOSSecurity
מסגרת מערכת macOSGSS
מסגרת מערכת macOSKerberos
מסגרת מערכת macOSSystemConfiguration
מסגרת מערכת macOS
מידע נוסף זמין במאמרי העזרה של הקומפיילר.
ספריות 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
.
השלבים הבאים
אפשר לעיין ב-SDK בקוד פתוח ב-GitHub.
הכנות להשקת האפליקציה:
- מגדירים התראות על תקציב לפרויקט במסוף Google Cloud.
- כדי לקבל תמונה כוללת של השימוש בפרויקט בכמה שירותי Firebase, אפשר לעקוב אחרי לוח הבקרה של השימוש והחיוב במסוף Firebase.
- עיון ברשימת המשימות להשקה של Firebase.