เพิ่มประสิทธิภาพเกม Unity ด้วย Firebase Unity SDK
เราสร้างเกมตัวอย่าง MechaHamster ขึ้นมาเพื่อแสดงให้เห็นว่าการนำ Firebase เข้ากับโปรเจ็กต์ Unity นั้นง่ายดายเพียงใด หากต้องการลองเพิ่ม Firebase ลงในเกม ให้ใช้เวอร์ชันเริ่มต้นที่มีอยู่ใน GitHub หากต้องการดูเวอร์ชันที่สมบูรณ์ โปรดดูเวอร์ชันใน App Store หรือ Google 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 ระดับ 21 (Lollipop) ขึ้นไป
ตั้งค่าอุปกรณ์จริงหรือใช้โปรแกรมจำลองเพื่อเรียกใช้แอป
สำหรับแพลตฟอร์ม Apple - ตั้งค่าอุปกรณ์จริงหรือใช้โปรแกรมจำลอง iOS หรือ tvOS
สำหรับ Android - โปรแกรมจำลองต้องใช้ภาพโปรแกรมจำลองกับ Google Play
- ลงชื่อเข้าใช้ Firebase ด้วยบัญชี Google
หากยังไม่มีโปรเจ็กต์ 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
- สําหรับบาง Use Case
ในคอนโซล Firebase ให้คลิกดาวน์โหลด Firebase Unity SDK จากนั้นแตกไฟล์ SDK ในที่ที่สะดวก
คุณสามารถดาวน์โหลด Firebase Unity SDK อีกครั้งได้ทุกเมื่อ
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
SDK Firebase Unity สำหรับ 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 และแพลตฟอร์มเดสก์ท็อปก่อน จากนั้นจึงนำไปใช้งานและทดสอบในอุปกรณ์เคลื่อนที่ในภายหลังของการพัฒนา เรามีชุดย่อยของ 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 |
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 ที่พร้อมใช้งานสำหรับเดสก์ท็อป
Firebase Unity SDK มีการรองรับเวิร์กโฟลว์บนเดสก์ท็อปสำหรับผลิตภัณฑ์ชุดย่อย ซึ่งช่วยให้ใช้ 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 คุณจึงไม่ต้องคอมไพล์โค้ดแบบมีเงื่อนไขเพื่อกำหนดเป้าหมายเดสก์ท็อป
ขั้นตอนถัดไป
เตรียมเปิดตัวแอป
- ตั้งค่าการแจ้งเตือนงบประมาณสำหรับโปรเจ็กต์ในคอนโซล Google Cloud
- ตรวจสอบหน้าแดชบอร์ดการใช้งานและการเรียกเก็บเงินในคอนโซล Firebase เพื่อดูภาพรวมการใช้งานโปรเจ็กต์ในบริการต่างๆ ของ Firebase
- ตรวจสอบรายการตรวจสอบการเปิดตัว Firebase
พบปัญหาเกี่ยวกับ Firebase และโปรเจ็กต์ Unity ใช่ไหม ไปที่การแก้ปัญหาและคำถามที่พบบ่อยเกี่ยวกับ Unity