הוספת 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? חשוב לוודא שאתם משתמשים בגרסה העדכנית ביותר של Firebase Unity SDK.

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

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

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

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

    • ל-iOS – מיועד ל-iOS 13 ומעלה
    • ב-tvOS – טירגוט ל-tvOS 13 ומעלה
    • ל-Android – טירגוט לרמת API‏ 21 (Lollipop) ומעלה
  • מגדירים מכשיר פיזי או משתמשים באמולטור כדי להריץ את האפליקציה.

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

      אלה הדרישות המוקדמות לשימוש ב-Cloud Messaging ב-iOS או ב-tvOS:

      • הגדרת מכשיר פיזי.
      • משיגים מפתח אימות של Apple Push Notification בשביל חשבון Apple Developer.
      • מפעילים את ההתראות בדחיפה ב-XCode בקטע App > Capabilities.

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

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

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

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

  1. במסוף Firebase, לוחצים על הוספת פרויקט.

    • כדי להוסיף משאבי Firebase לפרויקט קיים Google Cloud צריך להזין את שם הפרויקט או לבחור אותו מהתפריט הנפתח.

    • כדי ליצור פרויקט חדש, מזינים שם לפרויקט. אפשר גם לערוך את מזהה הפרויקט שמוצג מתחת לשם הפרויקט.

  2. אם תופיע בקשה, תצטרכו לקרוא את התנאים של Firebase ולאשר אותם.

  3. לוחצים על המשך.

  4. (אופציונלי) מגדירים את Google Analytics לפרויקט, כדי ליהנות מחוויה אופטימלית באמצעות המוצרים הבאים של Firebase:‏ Firebase A/B Testing,‏ Cloud Messaging,‏ Crashlytics,‏ In-App Messaging ו-Remote Config (כולל התאמה אישית).

    בוחרים חשבון Google Analytics קיים או יוצרים חשבון חדש. אם יוצרים חשבון חדש, בוחרים את Analytics מיקום הדיווח, ואז מאשרים את הגדרות שיתוף הנתונים ואת Google Analytics התנאים של הפרויקט.

  5. לוחצים על יצירת פרויקט (או על הוספת Firebase, אם מוסיפים את Firebase לפרויקט קיים של Google Cloud).

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

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

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

  1. עוברים אל מסוף Firebase.

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

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

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

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

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

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

    פותחים את הפרויקט ב-Unity IDE ועוברים לקטע ההגדרות של כל פלטפורמה:

    • ב-iOS — עוברים אל Build Settings > iOS (הגדרות בנייה > iOS).

    • ב-Android — עוברים אל Android > Player Settings > Other Settings.

    מזהה פרויקט Unity הוא הערך של מזהה החבילה (לדוגמה: com.yourcompany.yourproject).

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

  6. לוחצים על רישום האפליקציה.

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

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

    • ב-iOS – לוחצים על הורדה של GoogleService-Info.plist.

    • ל-Android — לוחצים על הורדה של google-services.json.

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

    • תמיד אפשר להוריד שוב את קובץ התצורה של Firebase.

    • מוודאים שלא נוספו תווים לשם של קובץ ההגדרות, כמו (2).

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

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

שלב 4: מוסיפים את Firebase Unity SDKs

  1. בFirebase Console, לוחצים על הורדה של Firebase Unity SDK, ואז מבטלים את הדחיסה של ה-SDK במיקום נוח.

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

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

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

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

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

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

  4. בחלון Import Unity Package (ייבוא חבילת Unity), לוחצים על Import (ייבוא).

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

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

חלק מהמוצרים ב-Firebase Unity SDK ל-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 בסביבת הפיתוח המשולבת של Unity או בוחרים לבנות את פרויקט Unity עבור מחשב.

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

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

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

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

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

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

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

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

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

מוצר Firebase חבילת Unity
AdMob מופץ בנפרד ב-AdMob Unity Plugin
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
Dynamic Links FirebaseDynamicLinks.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage

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

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

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

השלבים הבאים