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