הוספת 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 2022 LTS או גרסה חדשה יותר. יכול להיות שגם גרסאות קודמות יהיו תואמות, אבל לא תהיה להן תמיכה פעילה.

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

    • ‫Xcode מגרסה 26.2 ואילך
  • מוודאים שפרויקט 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 של הפרויקט ב-Unity בשדה מזהה החבילה ב-iOS.

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

  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.

    • ערכת ה-SDK של Firebase Unity לא ספציפית לפלטפורמה.

  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 נתמכים

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

ספריות 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 שזמינות למחשב

‫Firebase Unity SDK כולל תמיכה בתהליך עבודה במחשב לקבוצת משנה של מוצרים, ומאפשר להשתמש בחלקים מסוימים של 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 (לא פונקציונליות). לכן, אין צורך להדר קוד באופן מותנה כדי לטרגט למחשב.

השלבים הבאים