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