Google is committed to advancing racial equity for Black communities. See how.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

הוסף את Firebase לפרויקט האחדות שלך

הפעל את משחקי ה- Unity שלך באמצעות קבצי ה- SDK של Firebase שלנו.

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

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster (חנות Play)


גלה מידע נוסף אודות הפעלת המשחקים שלך באמצעות Firebase בדף המשחקים שלנו ב- Firebase .

כבר הוספת את Firebase לפרויקט האחדות שלך? ודא שאתה משתמש בגרסה האחרונה של SDK Firebase Unity .

תנאים מוקדמים

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

  • (iOS בלבד) התקן את הדברים הבאים:

    • Xcode 9.4.1 ואילך
    • CocoaPods 1.10.0 ואילך
  • ודא שפרויקט האחדות שלך עומד בדרישות הבאות:

    • עבור iOS - מכוון ל- iOS 10 ואילך
    • לאנדרואיד - מכוון לממשק API ברמה 16 (Jelly Bean) ואילך
  • הגדר מכשיר פיזי או השתמש באמולטור להפעלת האפליקציה שלך.

    • עבור iOS - הגדר מכשיר iOS פיזי או השתמש בסימולטור iOS.

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

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

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

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

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

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

  1. עבור למסוף Firebase .

  2. במרכז עמוד סקירת הפרויקט, לחץ על סמל האחדות ( ) כדי להפעיל את זרימת העבודה של ההתקנה.

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

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

  4. הזן את המזהים הספציפיים לפלטפורמה של פרויקט Unity שלך.

    • עבור iOS - הזן את מזהה iOS של פרויקט Unity שלך בשדה מזהה חבילה של iOS .

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

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

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

שלב 3 : הוסף קבצי תצורה של Firebase

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

    • עבור iOS - לחץ על הורד את GoogleService-Info.plist .

    • לאנדרואיד - לחץ על הורד google-services.json .

  2. פתח את חלון הפרויקט של פרויקט Unity שלך והעביר את קובץ התצורה שלך לתיקיית Assets .

  3. חזרה למסוף Firebase, בתהליך העבודה של ההתקנה, לחץ על הבא .

שלב 4 : הוסף ערכות SDK של Firebase

  1. במסוף Firebase, לחץ על הורד את SDK של Firebase Unity ואז פתח את ה- SDK במקום נוח.

    • תוכל להוריד את ה- SDK של Firebase Unity בכל עת.

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

  2. בפרויקט האחדות הפתוח שלך, נווט אל נכסים > חבילת ייבוא > חבילה מותאמת אישית .

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

    ניתוח מופעל

    • הוסף את חבילת Firebase עבור Google Analytics: FirebaseAnalytics.unitypackage
    • הוסף את החבילות לכל מוצרי Firebase אחרים שאתה רוצה להשתמש באפליקציה שלך. לדוגמא, כדי להשתמש באימות Firebase ובסיס נתונים בזמן אמת של Firebase:
      FirebaseAuth.unitypackage ו- FirebaseDatabase.unitypackage

    ניתוח לא מופעל

    הוסף את החבילות למוצרי Firebase שאתה רוצה להשתמש באפליקציה שלך. לדוגמא, כדי להשתמש באימות Firebase ובסיס נתונים בזמן אמת של Firebase:
    FirebaseAuth.unitypackage ו- FirebaseDatabase.unitypackage

  4. בחלון ייבוא ​​חבילת אחדות , לחץ על ייבא .

  5. חזרה למסוף Firebase, בתהליך העבודה של ההתקנה, לחץ על הבא .

שלב 5 : אשר את דרישות גרסת שירותי Google Play

ה- Firkase Unity SDK עבור Android דורש שירותי Google Play , שעליהם להיות מעודכנים לפני שניתן להשתמש ב- SDK.

הוסף את הקוד הבא בתחילת היישום שלך. באפשרותך לחפש ולעדכן את שירותי Google Play לגרסה הנדרשת על ידי Firebase Unity SDK לפני שתקרא לשיטות אחרות ב- SDK.

Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(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.
  }
});

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

בעיות ידועות

תאימות .NET בעת שימוש ב- Unity 2017.x ואילך

Firebase תומך ב- .NET 4.x כאופציה ניסיונית לבנות ב- Unity 2017 ואילך. תוספי Firebase משתמשים ברכיבים של SDK Parse כדי לספק כמה מחלקות .NET 4.x בגרסאות קודמות של .NET.

לכן, Firebase Unity SDK גרסה 5.4.0 ואילך מספקים תוספים התואמים ל- .NET 3.x או .NET 4.x dotnet3 dotnet4 ו- dotnet4 של Firebase Unity SDK.

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

כדי לפתור את שגיאת האוסף, אם אתה משתמש ב- .NET 3.x:

  1. הסר או השבת את קבצי ה- DLL הבאים עבור כל הפלטפורמות:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll
  2. הפעל את קבצי ה- DLL הבאים עבור כל הפלטפורמות:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll

כדי לפתור את שגיאת האוסף, אם אתה משתמש ב- .NET 4.x:

  1. הסר או השבת את קבצי ה- DLL הבאים עבור כל הפלטפורמות:
    • Parse/Plugins/Unity.Compat.dll
    • Parse/Plugins/Unity.Tasks.dll
  2. הפעל את קבצי ה- DLL הבאים עבור כל הפלטפורמות:
    • Parse/Plugins/dotNet45/Unity.Compat.dll
    • Parse/Plugins/dotNet45/Unity.Tasks.dll

אם אתה מייבא תוסף Firebase נוסף:

  • בפרויקט Unity שלך, נווט אל נכסים > Resolver Services Services > Handler Version > עדכון כדי לאפשר את קבצי ה- DLL הנכונים עבור הפרויקט שלך.

Unity 2017.1 אוסף IL2CPP בפרויקטים של .NET 4.x

Firebase תומך ב- .NET 4.x כאופציה ניסיונית לבנות ב- Unity 2017 ואילך. תוספי Firebase משתמשים ברכיבים של SDK Parse כדי לספק כמה מחלקות .NET 4.x בגרסאות קודמות של .NET.

לכן, Firebase Unity SDK גרסה 5.4.0 ואילך מספקת קבצי DLL להעברת סוג שמעבירים סוגי ניתוח (למשל, יישום ניתוח של System.Threading.Tasks.Task ) למסגרת .NET. למרבה הצער, IL2CPP (משדר שממיר C # ל- C ++) שנשלח ב- Unity 2017.1.x אינו מעבד כהלכה קבצי DLL להעברת סוגים, מה שגורם לשגיאות בנייה הדומות לדברים הבאים:

Fatal error in Unity CIL Linker Mono.Cecil.ResolutionException: Failed to
resolve System.Threading.Tasks.TaskCompletionSource`1<T>

נכון לעכשיו אין פיתרון לעקיפת שגיאות בנייה של .NET 4.x IL2CPP ב- Unity 2017.1, לכן עליך לשדרג ל- Unity 2017.2 ואילך כדי להשתמש ב- .NET 4.x בפרויקטים שהורכבו עם IL2CPP.

רשת אחדות 2017.2

מסד נתונים בזמן אמת של Firebase יוצר חיבורי רשת TLS באמצעות ערימת הרשת .NET. פונקציונליות TLS נשברת ב- Unity 2017.2 בעת שימוש ב- .NET 4.6 מה שגורם לפלאגין Realtime Database להיכשל בעורכי ובשולחן העבודה.

אין דרך לעקיפת הבעיה, לכן עליך להשתמש בגרסה אחרת של Unity, למשל גרסה 2017.1 או 2017.3.

חסר קובץ התצורה של Android ב- Firebase ב- Unity 2020.

על מנת לתמוך בגרסאות של Unity שאינן יכולות להתאים אישית את ה- Gradle build, הכלי של עורך Firebase מייצר Assets/Plugins/Android/Firebase/res/values/google-services.xml כמשאב אנדרואיד שיש לארוז לתוך בניית אנדרואיד, כך ש- SDK של Firebase יכול להשתמש בו לאתחול מופע ברירת המחדל של FirebaseApp.

ב- Unity 2020, כל משאבי Android חייבים להיות בספריות עם סיומת .androidlib . אם הפרויקט שלך משתמש ב- Firebase SDK המייצר ספריית Assets/Plugins/Android/Firebase , שנה את שמו לשם Assets/Plugins/Android/Firebase.androidlib . ודא שהוא מכיל AndroidManifest.xml , project.properties ו- res/values/google-services.xml .

בעיה עם דקס יחיד בעת בניית אפליקציית Android

בעת בניית אפליקציית Android, אתה עלול להיתקל בכישלון לבנות הקשור לקובץ dex יחיד. הודעת השגיאה נראית דומה להודעות הבאות, אם הפרויקט שלך מוגדר לשימוש במערכת build Gradle.

Cannot fit requested classes in a single dex file.

קבצי ההפעלה של Dalvik ( .dex ) משמשים להחזקת קבוצה של הגדרות מחלקה .dex עבור יישומי אנדרואיד ( .apk ). קובץ dex יחיד מוגבל להתייחסות ל 65,536 שיטות. הבנייה תיכשל אם המספר הכולל של השיטות מכל ספריות Android בפרויקט שלך חורג ממגבלה זו.

יוניטי הציגה את Minification בשנת 2017.2, המשתמשת ב- Proguard (או בכל כלים אחרים בגרסאות מסוימות של Unity) כדי לפשט קוד שאינו בשימוש, מה שיכול להפחית את המספר הכולל של שיטות הפניה בקובץ dex יחיד. ניתן למצוא את האפשרות בהגדרות הנגן> אנדרואיד> הגדרות פרסום> צמצום . האפשרויות עשויות להיות שונות בגרסאות שונות של Unity, לכן עיין בתיעוד הרשמי של Unity.

אם מספר השיטות multidex עדיין חורג מהמגבלה, אפשרות אחרת היא להפעיל רב- multidex . ישנן מספר דרכים להשיג זאת באחדות:

  • אם מופעלת Custom Gradle Template תחת Player Settings , שנה את mainTemplate.gradle .
  • אם אתה משתמש ב- Android Studio לבניית הפרויקט המיוצא, build.gradle קובץ build.gradle ברמת build.gradle .

ניתן למצוא פרטים נוספים במדריך למשתמש של multidex .

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

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

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

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

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

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

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

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

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

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

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

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

מוצר Firebase חבילת אחדות
AdMob מופץ בנפרד בתוסף AdMob Unity
ניתוח FirebaseAnalytics.unitypackage
אימות FirebaseAuth.unitypackage
Cloud Firestore (בטא) FirebaseFirestore.unitypackage
פונקציות ענן FirebaseFunctions.unitypackage
הודעות בענן FirebaseMessaging.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage
אחסון בענן FirebaseStorage.unitypackage
קריסלטים FirebaseCrashlytics.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage
קישורים דינמיים FirebaseDynamicLinks.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage
מסד נתונים בזמן אמת FirebaseDatabase.unitypackage
תצורה מרחוק FirebaseRemoteConfig.unitypackage
(מומלץ) FirebaseAnalytics.unitypackage

מוצרי Firebase נתמכים (שולחן עבודה)

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

מוצר Firebase (שולחן עבודה) חבילת אחדות
אימות FirebaseAuth.unitypackage
פונקציות ענן FirebaseFunctions.unitypackage
ענן Firestore FirebaseFirestore.unitypackage
אחסון בענן FirebaseStorage.unitypackage
מסד נתונים בזמן אמת FirebaseDatabase.unitypackage
תצורה מרחוק FirebaseRemoteConfig.unitypackage

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

הצעדים הבאים