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

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

เว็บไซต์มี:

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

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

หน้านี้ให้คำแนะนำเกี่ยวกับ Unity Package Manager ดังนั้นจึงเป็นความคิดที่ดีที่จะเรียนรู้เกี่ยวกับเครื่องมือ จากเอกสารประกอบของ Unity

นำเข้าแพ็คเกจ Firebase เป็นสินทรัพย์

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

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

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

หลังจากดาวน์โหลดแล้ว ให้นำเข้า:

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

  2. ในหน้าต่าง นำเข้า Unity Package คลิก นำเข้า

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

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

  • วิธีนี้มีเฉพาะใน 2018.3+ เท่านั้น

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

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

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

    1. ตัวจัดการการพึ่งพาภายนอก ( com.google.external-dependency-manager )
    2. ไฟร์เบสคอร์ ( 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. เลือกโฟลเดอร์ที่แยกออกมาในไฟล์เบราว์เซอร์

รายการ.json

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

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

หากต้องการย้ายไปยังแพ็คเกจสินทรัพย์:

  1. จดบันทึกเวอร์ชันแพ็คเกจ Firebase ปัจจุบันในโปรเจ็กต์ของคุณแล้วลบออก

    1. จากเมนู หน้าต่าง เลือก Package Manager ในหน้าต่าง Package Manager ตรวจสอบให้แน่ใจว่าได้เลือก "แพ็คเกจ: ในโครงการ" แล้ว
    2. สังเกตเวอร์ชันของแพ็คเกจ Firebase ที่นำเข้า
    3. คลิกที่ชื่อแพ็คเกจแต่ละรายการ จากนั้นคลิก Remove อย่าลืมลบแพ็คเกจ 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

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

หากต้องการย้ายไปยัง Unity Package Manager:

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

    EDM4U UI

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

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

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

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