เพิ่ม 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 แล้ว ตรวจสอบว่าคุณใช้ Firebase Unity SDK เวอร์ชันล่าสุด

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

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

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

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

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

    • สำหรับแพลตฟอร์ม 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. เปิดหน้าต่าง Project ของโปรเจ็กต์ Unity จากนั้นย้ายไฟล์การกำหนดค่า ไปยังโฟลเดอร์ Assets

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

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

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

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

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

  2. ในโปรเจ็กต์ Unity ที่เปิดอยู่ ให้ไปที่ Assets > Import Package > Custom Package

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

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

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

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

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

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

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