הוספת Firebase לפרויקט ב-Unity

משפרים את המשחקים ב-Unity בעזרת ערכות ה-SDK של Firebase Unity.

כדי להראות כמה קל לקשר את Firebase לפרויקט ב-Unity, יצרנו משחק לדוגמה בשם MechaHamster. אם אתם רוצים לנסות להוסיף את Firebase למשחק, השתמשו בגרסת ההתחלה שנמצאת ב-GitHub. אם אתם רוצים גרסה מלאה, אתם יכולים לבדוק את הגרסאות ב-App Store או ב-Google Play Store.

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster (חנות Play)


מידע נוסף על שיפור המשחקים באמצעות Firebase זמין בדף המשחקים של Firebase.

כבר הוספתם את Firebase לפרויקט ב-Unity? חשוב לוודא שאתם משתמשים בגרסה העדכנית של Google Mobile Ads SDK ל-Firebase Unity.

דרישות מוקדמות

  • מתקינים את Unity 2021 LTS ואילך. יכול להיות שגם גרסאות קודמות יהיו תואמות, אבל לא תהיה להן תמיכה פעילה.

  • (פלטפורמות של אפל בלבד) מתקינים את הרכיבים הבאים:

    • ‫Xcode מגרסה 26.2 ואילך
    • ‫CocoaPods מגרסה 1.12.0 ואילך
  • חשוב לוודא שהפרויקט ב-Unity עומד בדרישות הבאות:

    • ב-iOS – מטרגט את iOS מגרסה 15 ואילך
    • ב-tvOS – מטרגט את tvOS 15 ואילך
    • ב-Android – מטרגטת לרמת ה-API המיועדת 24 (Nougat) ומעלה
  • מגדירים מכשיר פיזי או משתמשים באמולטור כדי להפעיל את האפליקציה.

    • בפלטפורמות של אפל – מגדירים מכשיר פיזי או משתמשים בסימולטור של iOS או tvOS.

    • ב-Android – באמולטורים צריך להשתמש בתמונת אמולטור עם Google Play.

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

שלב 1: יוצרים פרויקט ב-Firebase

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

שלב 2: רושמים את האפליקציה ב-Firebase

אתם יכולים לרשום אפליקציה אחת או יותר, או משחק אחד או יותר, כדי לקשר אותם לפרויקט Firebase.

  1. נכנסים למסוף Firebase.

  2. במרכז דף הסקירה הכללית של הפרויקט, לוחצים על הסמל של Unity () כדי להפעיל את תהליך ההגדרה.

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

  3. בוחרים את יעד ה-build של פרויקט Unity שרוצים לרשום. אפשר גם לבחור לרשום את שני היעדים בו-זמנית.

  4. מזינים את המזהים הספציפיים לפלטפורמה של הפרויקט ב-Unity.

    • ב-iOS – בשדה iOS bundle ID, מזינים את מזהה ה-iOS של הפרויקט ב-Unity.

    • ב-Android – מזינים את מזהה ה-Android של הפרויקט ב-Unity בשדה שם החבילה ל-Android.
      המונחים שם החבילה ומזהה האפליקציה משמשים לעיתים קרובות לסירוגין.

  5. (אופציונלי) מזינים את הכינויים הספציפיים לפלטפורמה של הפרויקט ב-Unity.
    הכינויים האלה הם מזהים פנימיים לנוחות, ורק אתם יכולים לראות אותם במסוף Firebase.

  6. לוחצים על Register app.

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

  1. מורידים את קובצי התצורה של Firebase הספציפיים לפלטפורמה בתהליך העבודה להגדרה במסוף Firebase.

    • ב-iOS – לוחצים על Download GoogleService-Info.plist.

    • ב-Android – לוחצים על Download google-services.json.

  2. פותחים את החלון Project(פרויקט) של הפרויקט ב-Unity ומעבירים את קובצי התצורה לתיקייה Assets.

  3. חוזרים למסוף Firebase, ובמסך תהליך ההגדרה לוחצים על הבא.

שלב 4: מוסיפים את ערכות Firebase Unity SDK

  1. במסוף Firebase, לוחצים על Download Firebase Unity SDK ומחלצים את קובצי ה-SDK למיקום נוח.

    • תמיד אפשר להוריד שוב את Firebase Unity SDK.

    • ‫Firebase Unity SDK לא ספציפי לפלטפורמה.

  2. בפרויקט Unity הפתוח, עוברים אל Assets (נכסים) > Import Package (ייבוא חבילה) > Custom Package (חבילה בהתאמה אישית).

  3. מתוך ה-SDK שחילצתם, בוחרים את מוצרי Firebase הנתמכים שבהם רוצים להשתמש באפליקציה.

    ‫Analytics מופעל

    • ‫מוסיפים את חבילת Firebase עבור Google Analytics: FirebaseAnalytics.unitypackage
    • מוסיפים את החבילות של כל מוצר אחר של Firebase שרוצים להשתמש בו באפליקציה. לדוגמה, כדי להשתמש ב-Firebase Authentication וב-Firebase Realtime Database:
      FirebaseAuth.unitypackage ו-FirebaseDatabase.unitypackage

    ‫Analytics לא מופעל

    מוסיפים את החבילות של מוצרי Firebase שרוצים להשתמש בהם באפליקציה. לדוגמה, כדי להשתמש ב-Firebase Authentication וב-Firebase Realtime Database:
    FirebaseAuth.unitypackage וגם FirebaseDatabase.unitypackage

  4. בחלון Import Unity Package, לוחצים על Import.

  5. חוזרים למסוף Firebase, ובמסך תהליך ההגדרה לוחצים על הבא.

שלב 5: מוודאים שגרסת Google Play Services עומדת בדרישות

חלק מהמוצרים ב-SDK של Firebase Unity ל-Android דורשים את Google Play services. אילו מוצרים תלויים בזה כדי להשתמש במוצרים האלה, צריך לעדכן את Google Play services.

מוסיפים את ההצהרה הבאה של using ואת קוד האתחול בתחילת האפליקציה. אתם יכולים לבדוק אם יש עדכון ל-Google Play services ולעדכן לגרסה הנדרשת לפני שאתם קוראים לשיטות אחרות ב-SDK.

using Firebase.Extensions;
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

הכול מוכן! הפרויקט ב-Unity רשום ומוגדר לשימוש ב-Firebase.

אם נתקלתם בבעיות בהגדרה, אתם יכולים לעיין בפתרון הבעיות ובשאלות הנפוצות של Unity.

הגדרת תהליך עבודה במחשב (בטא)

כשיוצרים משחק, בדרך כלל הרבה יותר קל לבדוק אותו קודם בעורך של Unity ובפלטפורמות למחשב, ורק אחר כך לפרוס ולבדוק אותו במכשירים ניידים בשלב מאוחר יותר של הפיתוח. כדי לתמוך בתהליך העבודה הזה, אנחנו מספקים קבוצת משנה של ערכות ה-SDK של Firebase Unity שיכולות לפעול ב-Windows, ב-macOS, ב-Linux ומתוך עורך Unity.

  1. כדי להגדיר פרויקט Unity לפלטפורמת מחשב, פועלים לפי אותן הוראות כמו לפלטפורמה לנייד (מתחילים בשלב רישום האפליקציה ב-Firebase שלמעלה).

  2. מריצים את הפרויקט ב-Unity IDE או בוחרים ליצור את הפרויקט ב-Unity למחשב.

  3. (אופציונלי) מריצים את פרויקט Unity במצב עריכה.

    אפשר להפעיל את ה-SDK של Firebase Unity גם במצב העריכה של Unity, וכך להשתמש בו בפלאגינים של העורך.

    1. כשיוצרים FirebaseApp שמשמש את העורך, לא משתמשים במכונה שמוגדרת כברירת מחדל.

    2. במקום זאת, צריך לתת שם ייחודי לקריאה ל-FirebaseApp.Create().

      חשוב לעשות את זה כדי למנוע התנגשות בין האפשרויות של המכונה שמשמשת את Unity IDE לבין המכונה שמשמשת את הפרויקט ב-Unity.

מוצרי Firebase נתמכים

מידע נוסף על ספריות Unity Firebase זמין במאמרי העזרה.

ספריות Firebase שזמינות לנייד

‫Firebase Unity SDK תומך במוצרי Firebase הבאים ב-Apple וב-Android:

מוצר Firebase חבילת Unity
AdMob מופץ בנפרד בפלאגין של AdMob ל-Unity
Firebase AI Logic FirebaseAI.unitypackage
Analytics FirebaseAnalytics.unitypackage
App Check FirebaseAppCheck.unitypackage
Authentication FirebaseAuth.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Messaging FirebaseMessaging.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Crashlytics FirebaseCrashlytics.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage
ספריות שהוצאו משימוש או שלא נתמכות
Dynamic Links FirebaseDynamicLinks.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage

ספריות Firebase שזמינות למחשב

ערכת ה-SDK של Firebase Unity כוללת תמיכה בתהליך עבודה במחשב לקבוצת משנה של מוצרים, ומאפשרת להשתמש בחלקים מסוימים של Firebase בעורך Unity ובגרסאות build עצמאיות למחשב ב-Windows, ב-macOS וב-Linux.

מוצר Firebase (מחשב) חבילת Unity
Firebase AI Logic FirebaseAI.unitypackage
App Check FirebaseAppCheck.unitypackage
Authentication FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage

כדי שיהיה נוח יותר לפתח ל-Windows, ל-macOS ול-Linux, ‏ Firebase מספקת את שאר הספריות למחשב כהטמעות של stub (לא פונקציונליות). לכן, אין צורך להדר קוד באופן מותנה כדי לטרגט למחשב.

השלבים הבאים