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