เพิ่มประสิทธิภาพเกม 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
คุณต้องการใช้ Cloud Messaging ไหม
สำหรับ Cloud Messaging ใน iOS หรือ tvOS คุณต้องมีคุณสมบัติตรงตามข้อกำหนดต่อไปนี้
- ตั้งค่าอุปกรณ์จริง
- รับคีย์การตรวจสอบสิทธิ์การแจ้งเตือนแบบพุชของ Apple สำหรับบัญชีนักพัฒนาแอปของ Apple
- เปิดใช้ข้อความ Push ใน XCode ในส่วนแอป > ความสามารถ
สำหรับ Android - โปรแกรมจำลองต้องใช้ อิมเมจโปรแกรมจำลองที่มี Google Play
- ลงชื่อเข้าใช้ Firebase ด้วยบัญชี Google
หากยังไม่มีโปรเจ็กต์ Unity และเพียงต้องการลองใช้ผลิตภัณฑ์ Firebase คุณสามารถดาวน์โหลดตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็วของเรา
ขั้นตอนที่ 1: สร้างโปรเจ็กต์ Firebase
ก่อนที่จะเพิ่ม Firebase ลงในโปรเจ็กต์ Unity ได้ คุณต้องสร้างโปรเจ็กต์ Firebase เพื่อเชื่อมต่อกับโปรเจ็กต์ Unity ดูข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์ Firebase ได้ที่ทำความเข้าใจโปรเจ็กต์ Firebase
ดูวิธีการสร้างโปรเจ็กต์ Firebase
ทำตามขั้นตอนต่อไปนี้หากคุณเพิ่งเริ่มใช้ Firebase หรือ Google Cloud
คุณยังทำตามขั้นตอนเหล่านี้ได้หากต้องการสร้างโปรเจ็กต์ Firebase ใหม่ทั้งหมด (และโปรเจ็กต์ Google Cloud ที่เกี่ยวข้อง)
- ลงชื่อเข้าใช้คอนโซล Firebase
- คลิกปุ่มเพื่อสร้างโปรเจ็กต์ Firebase ใหม่
-
ป้อนชื่อโปรเจ็กต์ในช่องข้อความ
หากคุณเป็นส่วนหนึ่งของGoogle Cloudองค์กร คุณสามารถเลือกโฟลเดอร์ที่จะสร้างโปรเจ็กต์ได้
- หากได้รับแจ้ง ให้อ่านและยอมรับข้อกำหนดของ Firebase จากนั้นคลิกต่อไป
- (ไม่บังคับ) เปิดใช้ความช่วยเหลือจาก AI ในคอนโซล Firebase (เรียกว่า "Gemini ใน Firebase") ซึ่งจะช่วยให้คุณเริ่มต้นใช้งานและ เพิ่มประสิทธิภาพกระบวนการพัฒนาได้
-
(ไม่บังคับ) ตั้งค่า Google Analytics สำหรับโปรเจ็กต์ ซึ่งจะช่วยให้ได้รับประสบการณ์การใช้งานที่ดียิ่งขึ้นเมื่อใช้ผลิตภัณฑ์ Firebase เหล่านี้ Firebase A/B Testing Cloud Messaging Crashlytics In-App Messaging และ Remote Config (รวมถึง การปรับเปลี่ยนในแบบของคุณ)
เลือกบัญชี Google Analytics ที่มีอยู่ หรือสร้างบัญชีใหม่ หากสร้างบัญชีใหม่ ให้เลือก Analyticsสถานที่ตั้งการรายงาน จากนั้นยอมรับการตั้งค่าการแชร์ข้อมูลและGoogle Analyticsข้อกำหนด สำหรับโปรเจ็กต์
- คลิกสร้างโปรเจ็กต์
Firebase จะสร้างโปรเจ็กต์ จัดสรรทรัพยากรเริ่มต้นบางส่วน และ เปิดใช้ API ที่สำคัญ เมื่อกระบวนการเสร็จสมบูรณ์ ระบบจะนำคุณไปยังหน้าภาพรวมของโปรเจ็กต์ Firebase ในFirebaseคอนโซล
ทำตามขั้นตอนต่อไปนี้หากต้องการเริ่มใช้ Firebase กับGoogle Cloudโปรเจ็กต์ที่มีอยู่ ดูข้อมูลเพิ่มเติมเกี่ยวกับ "การเพิ่ม Firebase" ลงในโปรเจ็กต์ Google Cloud ที่มีอยู่
- ลงชื่อเข้าใช้คอนโซล Firebase ด้วยบัญชีที่ให้สิทธิ์เข้าถึงโปรเจ็กต์ Google Cloud ที่มีอยู่
- คลิกปุ่มเพื่อสร้างโปรเจ็กต์ Firebase ใหม่
- ที่ด้านล่างของหน้า ให้คลิก เพิ่ม Firebase ไปยังโปรเจ็กต์ Google Cloud
- ในช่องข้อความ ให้เริ่มป้อนชื่อโปรเจ็กต์ของโปรเจ็กต์ที่มีอยู่ แล้วเลือกโปรเจ็กต์จากรายการที่แสดง
- คลิกเปิดโปรเจ็กต์
- หากได้รับแจ้ง ให้อ่านและยอมรับข้อกำหนดของ Firebase จากนั้นคลิกต่อไป
- (ไม่บังคับ) เปิดใช้ความช่วยเหลือจาก AI ในคอนโซล Firebase (เรียกว่า "Gemini ใน Firebase") ซึ่งจะช่วยให้คุณเริ่มต้นใช้งานและ เพิ่มประสิทธิภาพกระบวนการพัฒนาได้
-
(ไม่บังคับ) ตั้งค่า Google Analytics สำหรับโปรเจ็กต์ ซึ่งจะช่วยให้ได้รับประสบการณ์การใช้งานที่ดียิ่งขึ้นเมื่อใช้ผลิตภัณฑ์ Firebase เหล่านี้ Firebase A/B Testing Cloud Messaging Crashlytics In-App Messaging และ Remote Config (รวมถึง การปรับเปลี่ยนในแบบของคุณ)
เลือกบัญชี Google Analytics ที่มีอยู่ หรือสร้างบัญชีใหม่ หากสร้างบัญชีใหม่ ให้เลือก Analyticsสถานที่ตั้งการรายงาน จากนั้นยอมรับการตั้งค่าการแชร์ข้อมูลและGoogle Analyticsข้อกำหนด สำหรับโปรเจ็กต์
- คลิกเพิ่ม Firebase
Firebase เพิ่ม Firebase ไปยังโปรเจ็กต์ที่มีอยู่ เมื่อกระบวนการเสร็จสมบูรณ์ ระบบจะนำคุณไปยังหน้าภาพรวมของโปรเจ็กต์ Firebase ในFirebaseคอนโซล
ขั้นตอนที่ 2: ลงทะเบียนแอปกับ Firebase
คุณลงทะเบียนแอปหรือเกมอย่างน้อย 1 รายการเพื่อเชื่อมต่อกับโปรเจ็กต์ Firebase ได้
ไปที่คอนโซล Firebase
ที่กึ่งกลางหน้าภาพรวมโปรเจ็กต์ ให้คลิกไอคอน Unity (
) เพื่อเปิดเวิร์กโฟลว์การตั้งค่าหากเพิ่มแอปไปยังโปรเจ็กต์ Firebase แล้ว ให้คลิกเพิ่มแอป เพื่อแสดงตัวเลือกแพลตฟอร์ม
เลือกเป้าหมายของบิลด์โปรเจ็กต์ Unity ที่ต้องการลงทะเบียน หรือจะเลือกเพื่อลงทะเบียนทั้ง 2 เป้าหมายพร้อมกันเลยก็ได้
ป้อนรหัสเฉพาะแพลตฟอร์มของโปรเจ็กต์ Unity
สำหรับ iOS - ป้อนรหัส iOS ของโปรเจ็กต์ Unity ในช่องรหัสชุด iOS
สำหรับ Android - ป้อนรหัส Android ของโปรเจ็กต์ Unity ในช่องชื่อแพ็กเกจ Android
คำว่าชื่อแพ็กเกจและรหัสแอปพลิเคชันมักใช้แทนกันได้
คุณจะดูรหัสโปรเจ็กต์ Unity ได้จากที่ไหน
เปิดโปรเจ็กต์ Unity ใน Unity IDE จากนั้นไปที่ส่วนการตั้งค่า สำหรับแต่ละแพลตฟอร์ม
สำหรับ iOS — ไปที่การตั้งค่าบิลด์ > iOS
สำหรับ Android — ไปที่ Android > การตั้งค่าเพลเยอร์ > การตั้งค่าอื่นๆ
รหัสโปรเจ็กต์ Unity คือค่าตัวระบุชุด (ตัวอย่างรหัส:
com.yourcompany.yourproject
)(ไม่บังคับ) ป้อนชื่อเล่นเฉพาะแพลตฟอร์มของโปรเจ็กต์ Unity
ชื่อเล่นเหล่านี้เป็นตัวระบุภายในเพื่อความสะดวกและจะปรากฏให้คุณเห็นเท่านั้น ในคอนโซล Firebaseคลิกลงทะเบียนแอป
ขั้นตอนที่ 3: เพิ่มไฟล์การกำหนดค่า Firebase
รับไฟล์กำหนดค่า Firebase สำหรับแพลตฟอร์มของคุณใน Firebaseเวิร์กโฟลว์การตั้งค่าคอนโซล
สำหรับ iOS — คลิกดาวน์โหลด GoogleService-Info.plist
สำหรับ Android - คลิกดาวน์โหลด google-services.json
คุณควรรู้อะไรบ้างเกี่ยวกับไฟล์การกำหนดค่านี้
ไฟล์การกำหนดค่า Firebase จะมีตัวระบุที่ไม่ซ้ำกันและไม่เป็นความลับสำหรับ โปรเจ็กต์และแอปของคุณ หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับไฟล์การกำหนดค่านี้ โปรดไปที่ทำความเข้าใจโปรเจ็กต์ Firebase
คุณดาวน์โหลดไฟล์กำหนดค่า Firebase อีกครั้งได้ทุกเมื่อ
โปรดตรวจสอบว่าชื่อไฟล์การกำหนดค่าไม่มีอักขระต่อท้ายเพิ่มเติม เช่น
(2)
เปิดหน้าต่างโปรเจ็กต์ของโปรเจ็กต์ Unity จากนั้นย้ายไฟล์การกำหนดค่า ไปยังโฟลเดอร์
Assets
กลับไปที่คอนโซล Firebase ในเวิร์กโฟลว์การตั้งค่า ให้คลิกถัดไป
ขั้นตอนที่ 4: เพิ่ม Firebase Unity SDK
ในคอนโซล Firebase ให้คลิกดาวน์โหลด Firebase Unity SDK แล้วแตกไฟล์ SDK ในตำแหน่งที่สะดวก
คุณสามารถดาวน์โหลด Firebase Unity SDK อีกครั้งได้ทุกเมื่อ
Firebase Unity SDK ไม่ได้เจาะจงแพลตฟอร์ม
ในโปรเจ็กต์ Unity แบบเปิด ให้ไปที่ เนื้อหา > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง
เลือกผลิตภัณฑ์ Firebase ที่รองรับซึ่งต้องการใช้ในแอปจาก SDK ที่แยกไฟล์แล้ว
- เพิ่มแพ็กเกจ Firebase สำหรับ Google Analytics:
FirebaseAnalytics.unitypackage
- เพิ่มแพ็กเกจสำหรับผลิตภัณฑ์อื่นๆ ของ Firebase ที่ต้องการใช้ใน
แอป เช่น หากต้องการใช้ Firebase Authentication และ
Firebase Realtime Database ให้ทำดังนี้
FirebaseAuth.unitypackage
และFirebaseDatabase.unitypackage
เพิ่มแพ็กเกจสำหรับผลิตภัณฑ์ 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