Catch up on highlights from Firebase at Google I/O 2023. Learn more

เพิ่ม Firebase ให้กับโครงการ Unity ของคุณ

เพิ่มพลังให้เกม Unity ของคุณด้วย Firebase Unity SDK ของเรา

เพื่อแสดงให้เห็นว่าการเสียบ Firebase เข้ากับโปรเจ็กต์ Unity ของคุณนั้นง่ายเพียงใด เราจึงสร้างเกมตัวอย่าง MechaHamster ที่คุณสามารถดาวน์โหลดได้จาก GitHub , App Store และ Google Play Store

เมคาแฮมสเตอร์ (GitHub)

เมคาแฮมสเตอร์ (App Store)

เมคาแฮมสเตอร์ (Play Store)


ค้นหาข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มพลังให้กับเกมของคุณด้วย Firebase ที่ หน้าเกม Firebase ของเรา

เพิ่ม Firebase ในโครงการ Unity ของคุณแล้วหรือยัง ตรวจสอบว่าคุณใช้ Firebase Unity SDK เวอร์ชันล่าสุด

ข้อกำหนดเบื้องต้น

  • ติดตั้ง Unity 2019.1 หรือใหม่กว่า เวอร์ชันก่อนหน้านี้อาจใช้งานร่วมกันได้ แต่จะไม่ได้รับการสนับสนุนอย่างจริงจัง การสนับสนุน Unity 2019.1 ถือว่าเลิกใช้แล้ว และจะไม่ได้รับการสนับสนุนอีกต่อไปหลังจากรุ่นหลักถัดไป

  • (แพลตฟอร์ม Apple เท่านั้น) ติดตั้งสิ่งต่อไปนี้:

    • Xcode 13.3.1 หรือสูงกว่า
    • CocoaPods 1.10.0 หรือสูงกว่า
  • ตรวจสอบให้แน่ใจว่าโครงการ Unity ของคุณตรงตามข้อกำหนดเหล่านี้:

    • สำหรับ iOS — กำหนดเป้าหมายเป็น iOS 11 ขึ้นไป
    • สำหรับ tvOS - กำหนดเป้าหมายเป็น tvOS 12 หรือสูงกว่า
    • สำหรับ Android — กำหนดเป้าหมาย API ระดับ 19 (KitKat) หรือสูงกว่า
  • ตั้งค่าอุปกรณ์จริงหรือใช้โปรแกรมจำลองเพื่อเรียกใช้แอปของคุณ

    • สำหรับแพลตฟอร์ม Apple — ตั้งค่าอุปกรณ์จริงหรือใช้โปรแกรมจำลอง iOS หรือ tvOS

    • สำหรับ Androidอีมูเลเตอร์ ต้องใช้อิมเมจอีมูเลเตอร์กับ Google Play

หากคุณยังไม่มีโปรเจ็กต์ Unity และเพียงต้องการลองใช้ผลิตภัณฑ์ Firebase คุณสามารถดาวน์โหลดหนึ่งใน ตัวอย่างการเริ่มต้นอย่างรวดเร็ว ของเรา

ขั้นตอนที่ 1 : สร้างโครงการ Firebase

ก่อนที่คุณจะเพิ่ม Firebase ในโครงการ Unity ได้ คุณต้องสร้างโครงการ Firebase เพื่อเชื่อมต่อกับโครงการ Unity ของคุณ ไปที่ ทำความเข้าใจโครงการ Firebase เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับโครงการ Firebase

ขั้นตอนที่ 2 : ลงทะเบียนแอปของคุณกับ Firebase

คุณลงทะเบียนแอปหรือเกมอย่างน้อย 1 รายการเพื่อเชื่อมต่อกับโปรเจ็กต์ Firebase ได้

  1. ไปที่ คอนโซล Firebase

  2. ที่กึ่งกลางของหน้าภาพรวมโครงการ ให้คลิกไอคอน Unity ( ) เพื่อเปิดเวิร์กโฟลว์การตั้งค่า

    หากคุณเพิ่มแอปในโครงการ Firebase แล้ว ให้คลิก เพิ่มแอป เพื่อแสดงตัวเลือกแพลตฟอร์ม

  3. เลือกเป้าหมายบิลด์ของโปรเจ็กต์ Unity ที่คุณต้องการลงทะเบียน หรือคุณสามารถเลือกที่จะลงทะเบียนเป้าหมายทั้งสองตอนนี้พร้อมกันก็ได้

  4. ป้อน ID เฉพาะแพลตฟอร์มของโครงการ Unity ของคุณ

    • สำหรับ iOS — ป้อนรหัส iOS ของโปรเจ็กต์ Unity ในช่อง รหัสบันเดิล iOS

    • สำหรับ Android — ป้อนรหัส Android ของโปรเจ็กต์ Unity ในช่อง ชื่อแพ็กเกจ Android
      คำ ว่าชื่อแพ็กเกจ และ ID แอปพลิเคชัน มักใช้แทนกันได้

  5. (ไม่บังคับ) ป้อนชื่อเล่นเฉพาะแพลตฟอร์มของโครงการ Unity ของคุณ
    ชื่อเล่นเหล่านี้เป็นชื่อที่ใช้ภายใน ตัวระบุความสะดวก และมีเพียงคุณเท่านั้นที่มองเห็นได้ในคอนโซล Firebase

  6. คลิก ลงทะเบียนแอป

ขั้นตอนที่ 3 : เพิ่มไฟล์กำหนดค่า Firebase

  1. รับไฟล์การกำหนดค่า Firebase เฉพาะแพลตฟอร์มของคุณในเวิร์กโฟลว์การตั้งค่าคอนโซล Firebase

    • สำหรับ iOS — คลิก ดาวน์โหลด GoogleService-Info.plist

    • สำหรับ Android — คลิก ดาวน์โหลด google-services.json

  2. เปิดหน้าต่าง Project ของโปรเจ็กต์ Unity จากนั้นย้ายไฟล์ปรับแต่งของคุณไปไว้ในโฟลเดอร์ Assets

  3. กลับไปที่คอนโซล Firebase ในเวิร์กโฟลว์การตั้งค่า คลิก ถัดไป

ขั้นตอนที่ 4 : เพิ่ม Firebase Unity SDK

  1. ในคอนโซล Firebase ให้คลิก ดาวน์โหลด Firebase Unity SDK จากนั้นแตกไฟล์ SDK ในที่ที่สะดวก

    • คุณสามารถดาวน์โหลด Firebase Unity SDK อีกครั้งได้ทุกเมื่อ

    • Firebase Unity SDK ไม่ใช่เฉพาะแพลตฟอร์ม

  2. ในโครงการ Unity ที่เปิดอยู่ของคุณ ให้ไปที่ สินทรัพย์ > นำเข้าแพ็คเกจ > แพ็คเกจแบบกำหนดเอง

  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 ให้คลิก Import

  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.
  }
});

คุณทุกชุด! โครงการ Unity ของคุณได้รับการลงทะเบียนและกำหนดค่าเพื่อใช้ Firebase

หากคุณประสบปัญหาในการตั้งค่า โปรดไป ที่ Unity การแก้ไขปัญหาและคำถามที่พบบ่อย

ตั้งค่าเวิร์กโฟลว์เดสก์ท็อป ( เบต้า )

เมื่อคุณสร้างเกม มักจะง่ายกว่ามากในการทดสอบเกมของคุณในโปรแกรมแก้ไข Unity และบนแพลตฟอร์มเดสก์ท็อปก่อน แล้วจึงปรับใช้และทดสอบบนอุปกรณ์พกพาในภายหลังในการพัฒนา เพื่อสนับสนุนเวิร์กโฟลว์นี้ เรามี ชุดย่อยของ Firebase Unity SDK ซึ่งสามารถทำงานบน 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 ใน เอกสารอ้างอิง

มีไลบรารี Firebase สำหรับมือถือ

Firebase Unity SDK รองรับผลิตภัณฑ์ Firebase ต่อไปนี้บน Apple และ Android :

ผลิตภัณฑ์ Firebase แพคเกจความสามัคคี
AdMob แจกจ่ายแยกกันในปลั๊กอิน AdMob Unity
การวิเคราะห์ FirebaseAnalytics.unitypackage
ตรวจสอบแอป FirebaseAppCheck.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 สำหรับเดสก์ท็อป

Firebase Unity SDK รวม การสนับสนุนเวิร์กโฟลว์บนเดสก์ท็อป สำหรับชุดย่อยของผลิตภัณฑ์ ทำให้สามารถใช้ Firebase บางส่วนในโปรแกรมแก้ไข Unity และในเวอร์ชันเดสก์ท็อปแบบสแตนด์อโลนบน Windows, macOS และ Linux

ผลิตภัณฑ์ Firebase (เดสก์ท็อป) แพคเกจความสามัคคี
ตรวจสอบแอป FirebaseAppCheck.unitypackage
การรับรองความถูกต้อง FirebaseAuth.unitypackage
ฟังก์ชั่นคลาวด์ FirebaseFunctions.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
การจัดเก็บเมฆ FirebaseStorage.unitypackage
ฐานข้อมูลเรียลไทม์ FirebaseDatabase.unitypackage
การกำหนดค่าระยะไกล FirebaseRemoteConfig.unitypackage

Firebase ให้ไลบรารี่เดสก์ท็อปที่เหลือเป็นการใช้งานแบบ stub (ไม่ทำงาน) เพื่อความสะดวกเมื่อสร้างสำหรับ Windows, macOS และ Linux ดังนั้น คุณไม่จำเป็นต้องคอมไพล์โค้ดแบบมีเงื่อนไขเพื่อกำหนดเป้าหมายเดสก์ท็อป

ขั้นตอนถัดไป