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