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

เพิ่มประสิทธิภาพให้เกม Unity ด้วย SDK Firebase Unity รายการของเรา

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

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster (Play Store)


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

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

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

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

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

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

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

    • สำหรับแพลตฟอร์ม 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 ที่ต้องการลงทะเบียน หรือจะเลือกลงทะเบียนทั้ง 2 เป้าหมายพร้อมกันเลยก็ได้

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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

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

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

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

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

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

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

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

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

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

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

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

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

ผลิตภัณฑ์ Firebase แพ็กเกจ Unity
AdMob จัดจำหน่ายแยกต่างหากในปลั๊กอิน Unity ของ AdMob
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
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage
(แนะนำ) FirebaseAnalytics.unitypackage
ไลบรารีที่เลิกใช้งานแล้วหรือไม่รองรับ
Dynamic Links FirebaseDynamicLinks.unitypackage
(แนะนำ) FirebaseAnalytics.unitypackage

ไลบรารี Firebase ที่พร้อมใช้งานสำหรับเดสก์ท็อป

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

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