ตัวเลือกการติดตั้ง Unity เพิ่มเติม

คุณสามารถดาวน์โหลดแพ็กเกจแต่ละรายการจากเว็บไซต์ Google APIs for Unity แทนการดาวน์โหลดไฟล์ .zip ขนาดใหญ่ที่มีไฟล์ .unitypackage ทั้งหมดสำหรับทั้ง .NET 3.X และ .NET 4.X

เว็บไซต์มีข้อมูลต่อไปนี้

  • ไฟล์ .NET 4.X .unitypackage แต่ละไฟล์ที่จะนำเข้าเป็นแพ็กเกจชิ้นงาน
  • ไฟล์ที่เก็บถาวร .tgz แต่ละไฟล์ที่จะนำเข้าโดยใช้ Unity Package Manager

วิธีนี้มีประโยชน์อย่างยิ่งเมื่อแอปใช้ผลิตภัณฑ์ Firebase เพียงรายการเดียว เนื่องจากไฟล์ .unitypackage แต่ละไฟล์มีทรัพยากร Dependency ที่จำเป็นทั้งหมด และไฟล์ .tgz จะแสดงอยู่ข้างไฟล์ .tgz ที่เกี่ยวข้องซึ่งขึ้นอยู่กับไฟล์เหล่านั้น

หน้านี้มีวิธีการที่เกี่ยวข้องกับ Unity Package Manager ดังนั้นจึงควรศึกษาเกี่ยวกับเครื่องมือนี้จากเอกสารประกอบของ Unity

นำเข้าแพ็กเกจ Firebase เป็นชิ้นงาน

เมื่อนำเข้าผลิตภัณฑ์ Firebase จากไฟล์ .unitypackage ที่ดาวน์โหลดจากเว็บไซต์ Google APIs สำหรับ Unity โปรดคำนึงถึงสิ่งต่อไปนี้

  • หากใช้ผลิตภัณฑ์ Firebase หลายรายการในโปรเจ็กต์ คุณต้องดาวน์โหลดและอัปเกรดผลิตภัณฑ์ Firebase ทั้งหมดเป็นเวอร์ชันเดียวกัน

  • อย่าผสมผสานวิธีการนำเข้าในโปรเจ็กต์เดียว กล่าวคือ อย่าใช้ทั้งขั้นตอนแพ็กเกจเนื้อหาและขั้นตอน Unity Package Manager ในการนําเข้าผลิตภัณฑ์ Firebase

หลังจากดาวน์โหลดแล้ว ให้ทำดังนี้เพื่อนำเข้า

  1. ในโปรเจ็กต์ Unity ที่เปิดอยู่ ให้ไปที่ Assets > Import Package > Custom Package

  2. คลิกนำเข้า ในหน้าต่างนำเข้าแพ็กเกจ Unity

นำเข้าแพ็กเกจ Firebase โดยใช้ Unity Package Manager

เมื่อนำเข้าผลิตภัณฑ์ Firebase จากไฟล์ .tgz ที่ดาวน์โหลดจากที่เก็บถาวรของ Google APIs สำหรับ Unity โปรดคำนึงถึงสิ่งต่อไปนี้

  • วิธีนี้ใช้ได้ในเวอร์ชัน 2018.3 ขึ้นไปเท่านั้น

  • หากใช้ผลิตภัณฑ์ Firebase หลายรายการในโปรเจ็กต์ คุณต้องดาวน์โหลดและอัปเกรดผลิตภัณฑ์ Firebase ทั้งหมดเป็นเวอร์ชันเดียวกัน

  • อย่าผสมผสานวิธีการนำเข้าในโปรเจ็กต์เดียว กล่าวคือ อย่านำเข้าผลิตภัณฑ์ Firebase ด้วยขั้นตอนแพ็กเกจเนื้อหาและขั้นตอน Unity Package Manager

  • ทรัพยากร Dependency สำหรับไฟล์ .tgz ของแต่ละผลิตภัณฑ์จะลิงก์อยู่ข้างๆ ในไฟล์ .tgz ของตัวเอง คุณต้องดาวน์โหลดและนำเข้าไฟล์ .tgz ของผลิตภัณฑ์และไฟล์ .tgz ที่เกี่ยวข้องตามลำดับที่ถูกต้อง ดังนี้

    1. External Dependency Manager (com.google.external-dependency-manager)
    2. Firebase Core (com.google.firebase.app)
    3. ผลิตภัณฑ์ Firebase ที่ใช้ในโปรเจ็กต์ หากคุณใช้ Realtime Database หรือ Cloud Storage ให้นำเข้า Authentication (com.google.firebase.auth) ก่อน

หลังจากดาวน์โหลดแล้ว ให้นำเข้าไฟล์ .tgz ไปยังโปรเจ็กต์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

UI ของเครื่องมือจัดการแพ็กเกจ

  1. เปิดหน้าต่าง Package Manager ของ Unity
  2. คลิกไอคอน + ที่มุมซ้ายบนของหน้าต่าง Package Manager แล้วเลือก Add package from tarball เพื่อเปิดเบราว์เซอร์ไฟล์
  3. เลือก Tarball ที่ต้องการในเบราว์เซอร์ไฟล์

Unity 2019 เวอร์ชันเก่าบางเวอร์ชันไม่รองรับการเพิ่ม Tarball โดยตรง ในกรณีนี้ คุณจะต้องดำเนินการดังนี้

  1. แตกไฟล์ .tgz
  2. คลิกไอคอน + ที่มุมซ้ายบนของหน้าต่าง Package Manager แล้วเลือก Add package from disk เพื่อเปิดเบราว์เซอร์ไฟล์
  3. เลือกโฟลเดอร์ที่แตกไฟล์แล้วในเบราว์เซอร์ไฟล์

manifest.json

  1. สร้างโฟลเดอร์ใหม่ข้างโฟลเดอร์ Packages ของโปรเจ็กต์และตั้งชื่อว่า GooglePackages
  2. วางไฟล์ .tgz ลงในโฟลเดอร์นั้น
  3. ใช้เครื่องมือแก้ไขข้อความเพื่อเปิด Packages/manifest.json ในโฟลเดอร์โปรเจ็กต์ Unity
  4. เพิ่มรายการสำหรับแต่ละแพ็กเกจที่ต้องการนำเข้า โดยแมปชื่อแพ็กเกจกับตำแหน่งในดิสก์ อย่าลืมใส่ file: ต่อท้ายเส้นทางไฟล์ .tgz ตัวอย่างเช่น หากคุณนำเข้า com.google.firebase.storage และทรัพยากร Dependency ของไลบรารีดังกล่าว manifest.json จะมีลักษณะดังนี้

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164.tgz",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0.tgz",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0.tgz",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0.tgz",
        // com.unity package entries...
      }
    }
    
  5. บันทึกไฟล์ manifest.json

  6. เมื่อ Unity กลับมาโฟกัสอีกครั้ง ระบบจะโหลด manifest.json ซ้ำและนำเข้าแพ็กเกจที่เพิ่มใหม่

Unity เวอร์ชันเก่าบางเวอร์ชันไม่รองรับไฟล์ .tgz ใน manifest.json ในกรณีนี้ คุณควรทำดังนี้

  1. แตกไฟล์ .tgz
  2. แก้ไข manifest.json เพื่อใช้เส้นทางไปยังโฟลเดอร์ที่แตกไฟล์แทนไฟล์ .tgz ดังนี้

    {
      "dependencies": {
        "com.google.external-dependency-manager": "file:../GooglePackages/com.google.external-dependency-manager-1.2.164",
        "com.google.firebase.app": "file:../GooglePackages/com.google.firebase.app-7.1.0",
        "com.google.firebase.auth": "file:../GooglePackages/com.google.firebase.auth-7.1.0",
        "com.google.firebase.storage": "file:../GooglePackages/com.google.firebase.storage-7.1.0",
        // com.unity package entries...
      }
    }
    

ย้ายข้อมูลจาก Unity Package Manager ไปยังแพ็กเกจเนื้อหา

ในบางกรณี คุณอาจต้องการเปลี่ยนจากการใช้ Unity Package Manager เพื่อติดตามผลิตภัณฑ์ Firebase ไปเป็นการนำเข้าผลิตภัณฑ์ในโฟลเดอร์ Assets

หากไม่แน่ใจว่าคุณใช้วิธีการนําเข้าใด ให้เปิดไฟล์ Packages/manifest.json ในโฟลเดอร์โปรเจ็กต์ Unity หากไฟล์มีรายการที่ขึ้นต้นด้วย com.google.firebase แสดงว่าโปรเจ็กต์ใช้ Unity Package Manager ในการนําเข้า

วิธีย้ายข้อมูลไปยังแพ็กเกจชิ้นงานมีดังนี้

  1. จดเวอร์ชันแพ็กเกจ Firebase ปัจจุบันในโปรเจ็กต์แล้วนำออก

    1. จากเมนู Window ให้เลือก Package Manager ในหน้าต่าง Package Manager ให้ตรวจสอบว่าได้เลือก "Packages: In Project" แล้ว
    2. จดบันทึกเวอร์ชันของแพ็กเกจ Firebase ที่นำเข้า
    3. คลิกชื่อแพ็กเกจแต่ละรายการ แล้วคลิกนำออก อย่าลืมนำแพ็กเกจ External Dependency Manager (.com.google.external-dependency-manager) และแพ็กเกจ Firebase ออกด้วย
  2. ดาวน์โหลดและนำเข้าไฟล์ .unitypackage ที่ใช้แทน คุณมีสองตัวเลือกดังนี้

    • หากอัปเกรดเป็นแพ็กเกจแต่ละรายการเวอร์ชันล่าสุดได้ ให้ดาวน์โหลดไฟล์ ZIP ของ Firebase Unity SDK และนำเข้าตามที่อธิบายไว้ในหัวข้อเพิ่ม Firebase ลงในโปรเจ็กต์ Unity
    • หากต้องการเก็บรักษา .unitypackage เวอร์ชันปัจจุบันไว้ คุณสามารถดาวน์โหลดและนำเข้าแพ็กเกจแต่ละรายการได้ตามที่อธิบายไว้ด้านบนในหน้านี้

ย้ายข้อมูลจากแพ็กเกจชิ้นงานไปยัง Unity Package Manager

ในบางกรณี คุณอาจต้องการเปลี่ยนจากการนำเข้าผลิตภัณฑ์ในโฟลเดอร์ Assets เป็นการนำเข้าและติดตามผลิตภัณฑ์ด้วย Unity Package Manager

หากไม่แน่ใจว่าคุณใช้วิธีการนําเข้าใด ให้เปิดไฟล์ Packages/manifest.json ในโฟลเดอร์โปรเจ็กต์ Unity หากไฟล์มีรายการที่ขึ้นต้นด้วย com.google.firebase แสดงว่าโปรเจ็กต์ใช้ Unity Package Manager สำหรับการนำเข้าอยู่แล้ว

วิธีย้ายข้อมูลไปยัง Unity Package Manager

  1. ตรวจสอบว่าได้นำแพ็กเกจ Firebase ทั้งหมดและแพ็กเกจ External Dependency Manager ออกจากโฟลเดอร์ Assets แล้ว โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

    UI ของ EDM4U

    1. ในโปรเจ็กต์ Unity ที่เปิดอยู่ ให้ไปที่เนื้อหา > เครื่องมือจัดการทรัพยากร Dependency ภายนอก > เครื่องมือจัดการเวอร์ชัน > ถอนการติดตั้งแพ็กเกจที่มีการจัดการ
    2. เลือกแพ็กเกจ Firebase และ External Dependency Manager ทั้งหมด
    3. คลิกถอนการติดตั้งแพ็กเกจที่เลือก

    การนำออกด้วยตนเอง

    ใช้เครื่องมือระบบไฟล์เพื่อลบโฟลเดอร์ต่อไปนี้ด้วยตนเอง

    • Assets/Editor Default Resources/Firebase
    • Assets/ExternalDependencyManager
    • Assets/Firebase
    • Assets/Parse
    • Assets/Plugins/iOS/Firebase
  2. นำเข้าแพ็กเกจโดยใช้ Unity Package Manager ตามที่อธิบายไว้ด้านบนในหน้านี้