เพิ่ม Firebase ไปยังโปรเจ็กต์ Unity

เพิ่มศักยภาพให้กับเกม Unity ด้วย SDK Firebase Unity ของเรา

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

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster (Play Store)


ดูข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มประสิทธิภาพเกมด้วย Firebase ได้ที่ หน้าเกม Firebase

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

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

  • ติดตั้ง Unity 2021 LTS ขึ้นไป มีการพิจารณาการรองรับ Unity 2020 เลิกใช้งานแล้ว และจะไม่ได้รับการสนับสนุนต่อไปหลังจากการทดสอบหลักรุ่นถัดไป เวอร์ชันก่อนหน้านี้อาจใช้งานร่วมกันได้แต่จะไม่สามารถใช้งานได้ ที่รองรับ

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

    • Xcode 13.3.1 ขึ้นไป
    • CocoaPods 1.12.0 ขึ้นไป
  • ตรวจสอบว่าโปรเจ็กต์ Unity เป็นไปตามข้อกำหนดต่อไปนี้

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

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

    • สำหรับ Androidโปรแกรมจำลองต้องใช้ รูปภาพจำลองที่มี Google Play

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

ขั้นตอนที่ 1: สร้างโปรเจ็กต์ Firebase

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

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

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

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

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

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

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

  4. ป้อนรหัสเฉพาะแพลตฟอร์มของโปรเจ็กต์ Unity

    • สำหรับ iOS — ป้อนรหัส iOS ของโครงการ Unity ใน ชุดข้อมูล iOS รหัส ด้วย

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

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

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

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

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

    • สำหรับ iOS — คลิก Download GoogleService-Info.plist

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

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

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

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

  1. ในคอนโซล Firebase ให้คลิกดาวน์โหลด SDK ของ Unity ของ Firebase จากนั้นคลายการบีบอัดไฟล์ ใช้ SDK ได้อย่างสะดวก

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

    • Firebase Unity SDK ไม่เจาะจงแพลตฟอร์ม

  2. ในโปรเจ็กต์ Unity แบบเปิด ให้ไปที่ ชิ้นงาน > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง

  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. คลิกนำเข้า ในหน้าต่างนำเข้าแพ็กเกจ Unity

  5. กลับไปที่คอนโซล Firebase ไปที่ขั้นตอนการตั้งค่า แล้วคลิกถัดไป

ขั้นตอนที่ 5: ยืนยันข้อกำหนดเวอร์ชันของบริการ Google Play

SDK Unity Firebase สำหรับ Android ต้องการ Google Play services ซึ่งต้อง เป็นเวอร์ชันล่าสุดก่อนที่จะใช้ SDK ได้

เพิ่มคำสั่ง using และโค้ดการเริ่มต้นต่อไปนี้ไว้ที่ตอนต้นของ แอปพลิเคชัน คุณสามารถตรวจหาและเลือกอัปเดต Google Play services เป็น เวอร์ชันที่ Firebase Unity SDK จำเป็นต้องใช้ก่อนที่จะเรียกใช้เวอร์ชันอื่นๆ ใน 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 Unity Firebase รายการที่เรียกใช้ได้ บน Windows, macOS, Linux และจากในตัวแก้ไข Unity

  1. ตั้งค่าโปรเจ็กต์ Unity แพลตฟอร์มเดสก์ท็อปโดยทำตามวิธีการเดียวกันกับ สำหรับแพลตฟอร์มอุปกรณ์เคลื่อนที่ (เริ่มต้นด้วย ลงทะเบียนแอปด้วย Firebase ด้านบน)

  2. เรียกใช้โปรเจ็กต์ Unity ใน Unity IDE หรือเลือกสร้าง Unity สำหรับเดสก์ท็อป

  3. (ไม่บังคับ) เรียกใช้โปรเจ็กต์ Unity ในโหมดแก้ไข

    นอกจากนี้ยังเรียกใช้ SDK Unity Firebase ในโหมดแก้ไขของ Unity ได้ด้วย ซึ่งช่วยให้ใช้งาน SDK ดังกล่าวได้ ในปลั๊กอินเครื่องมือแก้ไข

    1. เมื่อสร้าง FirebaseApp ที่เอดิเตอร์ใช้ อย่าใช้ อินสแตนซ์เริ่มต้น

    2. แต่ให้ระบุชื่อที่ไม่ซ้ำกันสำหรับการโทร FirebaseApp.Create() แทน

      การดำเนินการนี้เป็นสิ่งสำคัญเพื่อหลีกเลี่ยงการเกิดความขัดแย้งระหว่างตัวเลือกระหว่างอินสแตนซ์ที่ใช้ โดย Unity IDE และอินสแตนซ์ที่โปรเจ็กต์ Unity ใช้

ผลิตภัณฑ์ Firebase ที่รองรับ

ดูข้อมูลเพิ่มเติมเกี่ยวกับไลบรารี Unity Firebase ใน เอกสารอ้างอิง

ไลบรารี Firebase ที่ใช้ได้สำหรับอุปกรณ์เคลื่อนที่

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

ผลิตภัณฑ์ Firebase แพ็กเกจ Unity
AdMob แจกจ่ายแยกต่างหากในปลั๊กอิน AdMob Unity
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 สำหรับเดสก์ท็อปที่ใช้ได้

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

ผลิตภัณฑ์ Firebase (เดสก์ท็อป) แพ็กเกจ Unity
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 ให้ไลบรารีเดสก์ท็อปที่เหลือเป็นสตับ (ใช้งานไม่ได้) เพื่อความสะดวกเมื่อสร้างสำหรับ Windows, macOS และ Linux คุณจึงไม่ต้องคอมไพล์โค้ดแบบมีเงื่อนไขเพื่อกำหนดเป้าหมายเดสก์ท็อป

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