เพิ่มประสิทธิภาพให้เกม Unity ด้วย SDK Firebase Unity รายการของเรา
เราได้สร้างเกมตัวอย่างชื่อ MechaHamster เพื่อแสดงให้เห็นว่าการเสียบ Firebase เข้ากับโปรเจ็กต์ Unity นั้นง่ายเพียงใด หากต้องการลองเพิ่ม Firebase ลงในเกม ให้ใช้เวอร์ชันเริ่มต้นใน GitHub หากต้องการเวอร์ชันเต็ม โปรดดูเวอร์ชันต่างๆ ใน App Store หรือ Google 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
ไปที่คอนโซล Firebase
คลิกไอคอน Unity () ตรงกลางหน้าภาพรวมโปรเจ็กต์เพื่อเปิดเวิร์กโฟลว์การตั้งค่า
หากเพิ่มแอปลงในโปรเจ็กต์ Firebase แล้ว ให้คลิกเพิ่มแอปเพื่อแสดงตัวเลือกแพลตฟอร์ม
เลือกเป้าหมายบิลด์ของโปรเจ็กต์ Unity ที่ต้องการลงทะเบียน หรือจะเลือกลงทะเบียนทั้ง 2 เป้าหมายพร้อมกันเลยก็ได้
ป้อนรหัสเฉพาะแพลตฟอร์มของโปรเจ็กต์ Unity
สำหรับ iOS - ป้อนรหัส iOS ของโปรเจ็กต์ Unity ในช่องรหัสชุด iOS
สําหรับ Android - ป้อนรหัส Android ของโปรเจ็กต์ Unity ในช่องชื่อแพ็กเกจ Android
คำว่าชื่อแพ็กเกจและรหัสแอปพลิเคชันมักใช้แทนกันได้
(ไม่บังคับ) ป้อนชื่อเล่นเฉพาะแพลตฟอร์มของโปรเจ็กต์ Unity
ชื่อเล่นเหล่านี้เป็นตัวระบุภายในเพื่อความสะดวก และมีเพียงคุณเท่านั้นที่จะเห็นในคอนโซล Firebaseคลิกลงทะเบียนแอป
ขั้นตอนที่ 3: เพิ่มไฟล์การกำหนดค่า Firebase
รับไฟล์การกำหนดค่า Firebase สำหรับแพลตฟอร์มที่เฉพาะเจาะจงในเวิร์กโฟลว์การตั้งค่าคอนโซล Firebase
สำหรับ iOS — คลิกดาวน์โหลด GoogleService-Info.plist
สําหรับ Android - คลิกดาวน์โหลด google-services.json
เปิดหน้าต่างโปรเจ็กต์ของโปรเจ็กต์ Unity แล้วย้ายไฟล์การกำหนดค่าไปยังโฟลเดอร์
Assetsกลับไปที่คอนโซล Firebase ในเวิร์กโฟลว์การตั้งค่า ให้คลิกถัดไป
ขั้นตอนที่ 4: เพิ่ม Firebase Unity SDK
ในคอนโซล Firebase ให้คลิกดาวน์โหลด SDK Unity ของ Firebase แล้วแตกไฟล์ SDK ไว้ในตำแหน่งที่สะดวก
คุณดาวน์โหลด SDK Firebase Unity อีกครั้งได้ทุกเมื่อ
SDK ของ Firebase Unity ไม่ได้เจาะจงแพลตฟอร์ม
ในโปรเจ็กต์ Unity ที่เปิดอยู่ ให้ไปที่เนื้อหา > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง
จาก 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- เพิ่มแพ็กเกจ Firebase สำหรับ Google Analytics:
คลิกนำเข้า ในหน้าต่างนำเข้าแพ็กเกจ Unity
กลับไปที่คอนโซล 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
ตั้งค่าโปรเจ็กต์ Unity สำหรับแพลตฟอร์มเดสก์ท็อปโดยทำตามวิธีการเดียวกับแพลตฟอร์มอุปกรณ์เคลื่อนที่ (เริ่มจากขั้นตอนลงทะเบียนแอปกับ Firebase ด้านบน)
เรียกใช้โปรเจ็กต์ Unity ใน Unity IDE หรือเลือกสร้างโปรเจ็กต์ Unity สำหรับเดสก์ท็อป
(ไม่บังคับ) เรียกใช้โปรเจ็กต์ Unity ในโหมดแก้ไข
นอกจากนี้ SDK Firebase Unity ยังทำงานในโหมดแก้ไขของ Unity ได้ด้วย ซึ่งช่วยให้ใช้ในปลั๊กอินเครื่องมือแก้ไขได้
เมื่อสร้าง
FirebaseAppที่ใช้โดยเครื่องมือแก้ไข อย่าใช้อินสแตนซ์เริ่มต้นแต่ให้ระบุชื่อที่ไม่ซ้ำกันในการเรียก
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 ดังนั้น คุณจึงไม่จำเป็นต้องคอมไพล์โค้ดแบบมีเงื่อนไขเพื่อกำหนดเป้าหมายเป็นเดสก์ท็อป
ขั้นตอนถัดไป
เตรียมพร้อมเปิดตัวแอปโดยทำดังนี้
- ตั้งค่าการแจ้งเตือนงบประมาณสำหรับโปรเจ็กต์ในคอนโซล Google Cloud
- ตรวจสอบแดชบอร์ดการใช้งานและการเรียกเก็บเงินในคอนโซล Firebase เพื่อดูภาพรวมการใช้งานโปรเจ็กต์ในบริการต่างๆ ของ Firebase
- ดูรายการตรวจสอบการเปิดตัว Firebase
หากพบปัญหาเกี่ยวกับ Firebase และโปรเจ็กต์ Unity ไปที่การแก้ปัญหาและคำถามที่พบบ่อยเกี่ยวกับ Unity