เพิ่มศักยภาพให้กับเกม Unity ด้วย Firebase Unity SDK ของเรา
เพื่อแสดงให้เห็นว่าการผสานรวม Firebase เข้ากับโปรเจ็กต์ Unity นั้นง่ายดายเพียงใด เราจึงสร้าง ตัวอย่างเกม MechaHamster หากต้องการลองเพิ่ม Firebase ลงในเกม ให้ใช้ เวอร์ชันเริ่มต้นที่อยู่ใน GitHub หากต้องการดูเวอร์ชันที่เสร็จสมบูรณ์ ให้ตรวจสอบ เวอร์ชันใน App Store หรือ Google Play Store
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มประสิทธิภาพเกมด้วย Firebase ได้ที่ หน้าเกม Firebase
เพิ่ม Firebase ไปยังโปรเจ็กต์ Unity แล้วใช่ไหม ตรวจสอบว่าคุณใช้ Firebase Unity SDK เวอร์ชันล่าสุด
ข้อกำหนดเบื้องต้น
ติดตั้ง Unity 2019.1 ขึ้นไป เวอร์ชันก่อนหน้านี้อาจใช้งานร่วมกันได้ แต่ จะไม่ได้รับการสนับสนุนอย่างเต็มที่ มีการพิจารณาการรองรับ Unity 2019.1 เลิกใช้งานแล้ว และจะไม่ได้รับการสนับสนุนต่อไปหลังจากการทดสอบหลักรุ่นถัดไป
(แพลตฟอร์มของ Apple เท่านั้น) ติดตั้งรายการต่อไปนี้
- Xcode 13.3.1 ขึ้นไป
- CocoaPods 1.12.0 ขึ้นไป
ตรวจสอบว่าโปรเจ็กต์ Unity เป็นไปตามข้อกำหนดต่อไปนี้
- สำหรับ iOS — กำหนดเป้าหมายเป็น iOS 11 ขึ้นไป
- สำหรับ tvOS - กำหนดเป้าหมายเป็น tvOS 12 ขึ้นไป
- สำหรับ Android — กำหนดเป้าหมายเป็น API ระดับ 19 (KitKat) ขึ้นไป
ตั้งค่าอุปกรณ์จริงหรือใช้โปรแกรมจำลองเพื่อเรียกใช้แอป
สำหรับแพลตฟอร์ม Apple — ตั้งค่าอุปกรณ์จริงหรือใช้ iOS หรือ tvOS เครื่องมือจำลอง
สำหรับ Android — โปรแกรมจำลองต้องใช้ รูปภาพจำลองที่มี Google Play
- ลงชื่อเข้าใช้ Firebase โดยใช้ ของคุณได้
หากคุณยังไม่มีโปรเจ็กต์ Unity และต้องการลองใช้ Firebase คุณสามารถดาวน์โหลดตัวอย่างการเริ่มต้นอย่างรวดเร็วของเราได้
ขั้นตอนที่ 1: สร้างโปรเจ็กต์ Firebase
คุณต้องสร้าง Firebase ก่อนจึงจะเพิ่ม Firebase ลงในโปรเจ็กต์ Unity ได้ เพื่อเชื่อมต่อกับโปรเจ็กต์ Unity ไปที่เว็บไซต์ ทำความเข้าใจโปรเจ็กต์ Firebase เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับ โปรเจ็กต์ Firebase
ขั้นตอนที่ 2: ลงทะเบียนแอปกับ Firebase
คุณลงทะเบียนแอปหรือเกมได้อย่างน้อย 1 รายการเพื่อเชื่อมต่อกับ Firebase
ไปที่คอนโซล Firebase
ที่ตรงกลางของหน้าภาพรวมโปรเจ็กต์ ให้คลิกไอคอน Unity (
) เพื่อเปิดเวิร์กโฟลว์การตั้งค่าหากคุณเพิ่มแอปลงในโปรเจ็กต์ Firebase แล้ว ให้คลิกเพิ่มแอป เพื่อแสดงตัวเลือกแพลตฟอร์ม
เลือกเป้าหมายบิลด์ของโปรเจ็กต์ Unity ที่ต้องการลงทะเบียน หรือคุณจะเลือกลงทะเบียนเป้าหมายทั้ง 2 แบบพร้อมกันเลยก็ได้
ป้อนรหัสเฉพาะแพลตฟอร์มของโปรเจ็กต์ Unity
สำหรับ iOS — ป้อนรหัส iOS ของโครงการ Unity ใน ชุดข้อมูล iOS รหัส ด้วย
สำหรับ Android — ป้อนรหัส Android ของโปรเจ็กต์ Unity ใน แพ็กเกจ Android name
มักใช้คำว่าชื่อแพ็กเกจและรหัสแอปพลิเคชัน สลับกันไป
(ไม่บังคับ) ป้อนชื่อเล่นเฉพาะแพลตฟอร์มของโปรเจ็กต์ Unity
ชื่อเล่นเหล่านี้เป็นตัวระบุที่ใช้ภายใน เพื่อความสะดวก และจะมองเห็นได้เท่านั้น ในคอนโซล Firebaseคลิกลงทะเบียนแอป
ขั้นตอนที่ 3: เพิ่มไฟล์การกำหนดค่า Firebase
รับไฟล์การกำหนดค่า Firebase เฉพาะแพลตฟอร์มใน เวิร์กโฟลว์การตั้งค่าคอนโซล Firebase
สำหรับ iOS — คลิก Download 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 แบบเปิด ให้ไปที่ ชิ้นงาน > นำเข้าแพ็กเกจ > แพ็กเกจที่กำหนดเอง
จาก SDK ที่แยกไฟล์แล้ว ให้เลือก Firebase ที่รองรับ ผลิตภัณฑ์ที่ต้องการใช้ แอปของคุณ
เปิดใช้ Analytics แล้ว
- เพิ่มแพ็กเกจ Firebase สำหรับ Google Analytics ดังนี้
FirebaseAnalytics.unitypackage
- เพิ่มแพ็กเกจสำหรับผลิตภัณฑ์ Firebase อื่นๆ ที่คุณต้องการใช้
แอปของคุณ เช่น การใช้การตรวจสอบสิทธิ์ Firebase และ
ฐานข้อมูลเรียลไทม์ของ Firebase:
FirebaseAuth.unitypackage
และFirebaseDatabase.unitypackage
ไม่ได้เปิดใช้ Analytics
เพิ่มแพ็กเกจสำหรับผลิตภัณฑ์ Firebase ที่คุณต้องการใช้ในแอป ตัวอย่างเช่น หากต้องการใช้การตรวจสอบสิทธิ์ของ Firebase และฐานข้อมูลเรียลไทม์ของ Firebase ให้ใช้รูปแบบต่อไปนี้
FirebaseAuth.unitypackage
และFirebaseDatabase.unitypackage
- เพิ่มแพ็กเกจ Firebase สำหรับ Google Analytics ดังนี้
คลิกนำเข้า ในหน้าต่างนำเข้าแพ็กเกจ Unity
กลับไปที่คอนโซล Firebase ในขั้นตอนการตั้งค่า แล้วคลิกถัดไป
ขั้นตอนที่ 5: ยืนยันข้อกำหนดเวอร์ชันของบริการ Google Play
Firebase Unity SDK สำหรับ Android ต้องมี บริการ Google Play ซึ่งต้อง เป็นเวอร์ชันล่าสุดก่อนที่จะใช้ SDK ได้
เพิ่มคำสั่ง using
และโค้ดการเริ่มต้นต่อไปนี้ไว้ที่ตอนต้นของ
แอปพลิเคชัน คุณสามารถตรวจหาและเลือกอัปเดตบริการ Google Play เป็น
ที่ 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 ที่รองรับ
ดูข้อมูลเพิ่มเติมเกี่ยวกับไลบรารี Unity Firebase ใน เอกสารอ้างอิง
ไลบรารี Firebase ที่ใช้ได้สำหรับอุปกรณ์เคลื่อนที่
Firebase Unity SDK รองรับผลิตภัณฑ์ Firebase ต่อไปนี้บน Apple และ Android
ผลิตภัณฑ์ Firebase | แพ็กเกจ Unity |
---|---|
AdMob | กระจายแยกต่างหากในปลั๊กอิน AdMob Unity |
ข้อมูลวิเคราะห์ | FirebaseAnalytics.unitypackage |
การตรวจสอบแอป | FirebaseAppCheck.unitypackage |
การตรวจสอบสิทธิ์ | FirebaseAuth.unitypackage |
Cloud Firestore | FirebaseFirestore.unitypackage |
ฟังก์ชันระบบคลาวด์ | FirebaseFunctions.unitypackage |
การรับส่งข้อความในระบบคลาวด์ | FirebaseMessaging.unitypackage (แนะนำ) FirebaseAnalytics.unitypackage |
พื้นที่เก็บข้อมูลระบบคลาวด์ | FirebaseStorage.unitypackage |
Crashlytics | FirebaseCrashlytics.unitypackage (แนะนำ) FirebaseAnalytics.unitypackage |
ลิงก์แบบไดนามิก | FirebaseDynamicLinks.unitypackage (แนะนำ) FirebaseAnalytics.unitypackage |
ฐานข้อมูลเรียลไทม์ | FirebaseDatabase.unitypackage |
การกำหนดค่าระยะไกล | FirebaseRemoteConfig.unitypackage (แนะนำ) FirebaseAnalytics.unitypackage |
ไลบรารี Firebase สำหรับเดสก์ท็อปที่ใช้ได้
Firebase Unity SDK มีการรองรับเวิร์กโฟลว์บนเดสก์ท็อป สำหรับผลิตภัณฑ์ชุดย่อย ซึ่งทำให้สามารถใช้งาน Firebase บางส่วนใน ตัวแก้ไข Unity และเดสก์ท็อปแบบสแตนด์อโลนสร้างขึ้นบน Windows, macOS และ Linux
ผลิตภัณฑ์ Firebase (เดสก์ท็อป) | แพ็กเกจ Unity |
---|---|
การตรวจสอบแอป | FirebaseAppCheck.unitypackage |
การตรวจสอบสิทธิ์ | FirebaseAuth.unitypackage |
ฟังก์ชันระบบคลาวด์ | FirebaseFunctions.unitypackage |
Cloud Firestore | FirebaseFirestore.unitypackage |
พื้นที่เก็บข้อมูลระบบคลาวด์ | FirebaseStorage.unitypackage |
ฐานข้อมูลเรียลไทม์ | FirebaseDatabase.unitypackage |
การกำหนดค่าระยะไกล | FirebaseRemoteConfig.unitypackage |
Firebase ให้ไลบรารีเดสก์ท็อปที่เหลือเป็นสตับ (ไม่ทำงาน) เพื่อความสะดวกเมื่อสร้างสำหรับ Windows, macOS และ Linux คุณจึงไม่ต้องคอมไพล์โค้ดแบบมีเงื่อนไขเพื่อกำหนดเป้าหมายเดสก์ท็อป
ขั้นตอนถัดไป
สำรวจตัวอย่างแอป Firebase
เตรียมเปิดตัวแอป
- ตั้งค่า งบประมาณ การแจ้งเตือน สำหรับโปรเจ็กต์ในคอนโซล Google Cloud
- ตรวจสอบการใช้งานและการเรียกเก็บเงิน แดชบอร์ด ในคอนโซล Firebase เพื่อดูภาพรวมของโปรเจ็กต์ ในบริการต่างๆ ของ Firebase
- ดูรายการตรวจสอบการเปิดตัว Firebase
หากพบปัญหาเกี่ยวกับ Firebase และโปรเจ็กต์ Unity ไปที่การแก้ปัญหาและ คำถามที่พบบ่อย