Save the date - Google I/O returns May 18-20. Register to get the most out of the digital experience: Build your schedule, reserve space, participate in Q&As, earn Google Developer profile badges, and more. Register now
דף זה תורגם על ידי Cloud Translation API.
Switch to English

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

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

כדי להראות כמה קל לחבר את 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 שלך. בקר ב- Understand Firebase Projects למידע נוסף על פרויקטים של 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, לחץ על הורד Firebase Unity SDK , ואז פתח את ה- 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

Firebase 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 של SDK Firebase Unity.

אם אתה מייבא תוסף 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 ב- Unity 2020.

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

ב- Unity 2020, כל משאבי Android חייבים להיות בספריות עם סיומת .androidlib . אם הפרויקט שלך משתמש ב- SDK של Firebase המייצר ספריית 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 ליישומי Android ( .apk ). קובץ dex יחיד מוגבל להתייחסות ל 65,536 שיטות. הבנייה תיכשל אם המספר הכולל של השיטות מכל ספריות Android בפרויקט שלך חורג ממגבלה זו.

Unity הציגה את 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. לכן, אינך צריך לערוך קוד על מנת להתמקד בשולחן העבודה.

הצעדים הבאים