เพิ่มประสิทธิภาพเกม Unity ด้วย SDK Firebase Unity ของเรา
เราได้สร้าง เกมตัวอย่างชื่อ MechaHamster เพื่อแสดงให้เห็นว่าการเสียบ Firebase เข้ากับโปรเจ็กต์ Unity นั้นง่ายเพียงใด หากต้องการลองเพิ่ม Firebase ลงในเกม ให้ใช้ เวอร์ชันเริ่มต้นที่อยู่ใน GitHub หากต้องการดูเวอร์ชันที่เสร็จสมบูรณ์แล้ว ให้ดูเวอร์ชันใน App Store หรือ Google 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 ได้
ไปที่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
เปิดหน้าต่าง Project ของโปรเจ็กต์ Unity จากนั้นย้ายไฟล์การกำหนดค่า ไปยังโฟลเดอร์
Assetsกลับไปที่คอนโซล Firebase ในเวิร์กโฟลว์การตั้งค่า ให้คลิกถัดไป
ขั้นตอนที่ 4: เพิ่ม Firebase Unity SDK
ในคอนโซล Firebase ให้คลิกดาวน์โหลด Firebase Unity SDK แล้วแตกไฟล์ SDK ในที่ที่สะดวก
คุณสามารถดาวน์โหลด Firebase Unity SDK อีกครั้งได้ทุกเมื่อ
Firebase Unity SDK ไม่ได้เจาะจงแพลตฟอร์ม
ในโปรเจ็กต์ Unity ที่เปิดอยู่ ให้ไปที่ Assets > Import Package > Custom Package
จาก 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 และบนแพลตฟอร์มเดสก์ท็อปมักจะง่ายกว่ามาก จากนั้นจึงค่อยนำไปใช้และทดสอบบนอุปกรณ์เคลื่อนที่ ในภายหลังของการพัฒนา เรามีชุดย่อยของ Firebase Unity SDK ที่สามารถเรียกใช้ใน Windows, macOS, Linux และจากภายในโปรแกรมแก้ไข Unity เพื่อรองรับเวิร์กโฟลว์นี้
ตั้งค่าโปรเจ็กต์ Unity บนแพลตฟอร์มเดสก์ท็อปโดยทำตามวิธีการเดียวกับ แพลตฟอร์มอุปกรณ์เคลื่อนที่ (เริ่มด้วยขั้นตอนลงทะเบียนแอปกับ Firebase ด้านบน)
เรียกใช้โปรเจ็กต์ Unity ใน Unity IDE หรือเลือกสร้างโปรเจ็กต์ Unity สำหรับเดสก์ท็อป
(ไม่บังคับ) เรียกใช้โปรเจ็กต์ Unity ในโหมดแก้ไข
Firebase Unity SDK ยังเรียกใช้ในโหมดแก้ไขของ Unity ได้ด้วย ซึ่งช่วยให้ใช้ในปลั๊กอินของเอดิเตอร์ได้
เมื่อสร้าง
FirebaseAppที่เอดิเตอร์ใช้ อย่าใช้อินสแตนซ์เริ่มต้นแต่ให้ระบุชื่อที่ไม่ซ้ำกันให้กับ
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 ดังนั้น คุณจึงไม่จำเป็นต้องคอมไพล์โค้ดแบบมีเงื่อนไขเพื่อกำหนดเป้าหมายไปยังเดสก์ท็อป
ขั้นตอนถัดไป
เตรียมพร้อมเปิดตัวแอปโดยทำดังนี้
- ตั้งค่าการแจ้งเตือนงบประมาณสำหรับโปรเจ็กต์ในGoogle Cloudคอนโซล
- ตรวจสอบแดชบอร์ดการใช้งานและการเรียกเก็บเงิน ในคอนโซล Firebase เพื่อดูภาพรวมการใช้งานของโปรเจ็กต์ ในบริการต่างๆ ของ Firebase
- ตรวจสอบเช็กลิสต์การเปิดตัว Firebase
หากพบปัญหาเกี่ยวกับ Firebase และโปรเจ็กต์ Unity ไปที่การแก้ปัญหาและคำถามที่พบบ่อยเกี่ยวกับ Unity