ติดตั้งแพ็กเกจ Google สำหรับ Unity

แพ็กเกจ Google สำหรับ Unity มี 2 รูปแบบดังนี้

  • แพ็กเกจชิ้นงาน
    • มีส่วนขยาย .unitypackage
    • ติดตั้งลงในไดเรกทอรี Assets ของโปรเจ็กต์
    • นำเข้าได้ใน Unity 5 ขึ้นไป
    • โดยทั่วไปจะรวมแพ็กเกจที่ต้องพึ่งพา
  • แพ็กเกจ Unity Package Manager (UPM)
    • มีส่วนขยาย .tgz
    • ติดตั้งลงในไดเรกทอรี Packages ของโปรเจ็กต์
    • นำเข้าได้ใน Unity 2018.4 ขึ้นไป
    • แพ็กเกจที่ต้องอ้างอิงซึ่งต้องติดตั้งแยกต่างหาก

หน้าแพ็กเกจจะมีไฟล์ .unitypackage ล่าสุดสำหรับแพ็กเกจทั้งหมดที่มี และไฟล์ .tgz สำหรับบางแพ็กเกจ

หน้าที่เก็บมีไฟล์ .unitypackage และ .tgz สำหรับแพ็กเกจทุกเวอร์ชัน

ด้านล่างนี้คือวิธีการติดตั้งแพ็กเกจทั้ง 2 ประเภท รวมถึงวิธีการย้ายข้อมูลเพื่อเปลี่ยนจากแพ็กเกจประเภทหนึ่งไปยังอีกประเภทหนึ่ง

เมื่อคุ้นเคยกับตัวเลือกการติดตั้งเหล่านี้แล้ว โปรดดูวิธีการเฉพาะผลิตภัณฑ์เพิ่มเติมสําหรับ Firebase

การนําเข้าแพ็กเกจโดยใช้ OpenUPM

คุณสามารถเพิ่มแพ็กเกจภายนอกลงในโปรเจ็กต์ Unity ได้โดยใช้รีจิสทรี OpenUPM OpenUPM โฮสต์ปลั๊กอินและ SDK ที่มีประโยชน์มากมาย เช่น ปลั๊กอิน Google Play Integrity ซึ่งช่วยปกป้องแอปของคุณจากการประพฤติมิชอบและการละเมิด

ต่อไปนี้เป็นวิธีเพิ่มปลั๊กอิน Google Play Integrity โดยใช้ OpenUPM

OpenUPM-CLI

หากติดตั้ง OpenUPM CLI แล้ว คุณจะติดตั้งรีจิสทรี OpenUPM ได้ด้วยคำสั่งต่อไปนี้

openupm add com.google.play.integrity

OpenUPM

  1. เปิดการตั้งค่าเครื่องมือจัดการแพ็กเกจโดยเลือกตัวเลือกเมนู Unity แก้ไข > การตั้งค่าโปรเจ็กต์ > เครื่องมือจัดการแพ็กเกจ

  2. เพิ่ม OpenUPM เป็นรีจิสทรีที่มีขอบเขตไปยังหน้าต่างตัวจัดการแพ็กเกจ โดยทำดังนี้

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
     com.google.play.common
     com.google.play.core
     com.google.play.integrity
    
  3. เปิดเมนูเครื่องมือจัดการแพ็กเกจโดยเลือกตัวเลือกเมนู Unity หน้าต่าง > เครื่องมือจัดการแพ็กเกจ

  4. ตั้งค่าเมนูแบบเลื่อนลงของขอบเขตบัญชีดูแลจัดการเพื่อเลือกรีจิสทรีของฉัน

  5. เลือกแพ็กเกจปลั๊กอินความสมบูรณ์ของ Google Play สำหรับ Unity จากรายการแพ็กเกจ แล้วกดติดตั้ง

การนําเข้าแพ็กเกจชิ้นงานด้วยไฟล์ .unitypackage

นําเข้าไฟล์ .unitypackage โดยเลือกตัวเลือกเมนู Unity Assets > Import package > Custom Package และนําเข้ารายการทั้งหมด ซึ่งจะเพิ่มเนื้อหาของแพ็กเกจลงในโปรเจ็กต์ภายใต้ไดเรกทอรีชิ้นงาน

การนําเข้าแพ็กเกจ UPM ด้วยไฟล์ .tgz (2018.4 ขึ้นไป)

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

manifest.json

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

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

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

    ภาพหน้าจอของหน้าต่างเครื่องมือจัดการแพ็กเกจ Unity ที่มี

  3. เลือกไฟล์ tarball ที่ต้องการในโปรแกรมเรียกดูไฟล์

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

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

    ภาพหน้าจอของหน้าต่างเครื่องมือจัดการแพ็กเกจ Unity ที่มี

  3. เลือกโฟลเดอร์ที่แตกไฟล์แล้วในโปรแกรมเรียกดูไฟล์

อย่าลืมนำเข้าไฟล์ .tgz สำหรับทรัพยากรของแพ็กเกจด้วย ซึ่งจะแสดงอยู่ในหน้าเก็บถาวรในส่วนแพ็กเกจที่ต้องการ

ตัวอย่างเช่น หากติดตั้ง com.google.firebase.storage คุณจะต้องติดตั้งไฟล์ .tgz เหล่านี้ตามลำดับต่อไปนี้

  1. เครื่องมือจัดการทรัพยากรภายนอก (com.google.external-dependency-manager)
  2. Firebase Core (com.google.firebase.app)
  3. Firebase Auth (com.google.firebase.auth)
  4. พื้นที่เก็บข้อมูลของ Firebase (com.google.firebase.storage)

หากต้องการเพิ่มไฟล์ .tgz ทั้งหมดพร้อมกันโดยไม่ต้องกังวลเกี่ยวกับลําดับ ให้ทําตามวิธีการในแท็บ manifest.json

การควบคุมเวอร์ชัน

หากคุณใช้ซอฟต์แวร์ควบคุมเวอร์ชันเพื่อจัดการไฟล์โปรเจ็กต์ เราขอแนะนำให้เพิ่มไฟล์ .tgz ที่เกี่ยวข้องลงในการควบคุมเวอร์ชัน คุณสามารถแก้ไข manifest.json ของโปรเจ็กต์ด้วยตนเอง (ดูวิธีการด้านบน) และอ้างอิงไฟล์ .tgz ในเครื่องโดยใช้เส้นทางแบบสัมพัทธ์

หากคุณใช้ git เราขอแนะนําให้ใช้พื้นที่เก็บข้อมูลไฟล์ขนาดใหญ่ของ Git (LFS) เพื่อจัดการไฟล์ .tgz ขนาดใหญ่

การย้ายข้อมูลจากแพ็กเกจ UPM ไปยัง Asset Pack

ในบางกรณี คุณอาจต้องการเปลี่ยนจากการใช้ Unity Package Manager เพื่อจัดการแพ็กเกจ Google เป็นการติดตั้งแพ็กเกจในโฟลเดอร์ Assets

ตรวจสอบว่าได้นำแพ็กเกจ Google ทั้งหมดออกจากเครื่องมือจัดการแพ็กเกจ Unity โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

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

  1. เปิดหน้าต่างเครื่องมือจัดการแพ็กเกจของ Unity
  2. เลือก In Project ในเมนูแบบเลื่อนลงที่ด้านซ้ายบน

    ภาพหน้าจอของหน้าต่างเครื่องมือจัดการแพ็กเกจ Unity ที่มี

  3. พิมพ์ com.google ในแถบค้นหาเพื่อกรองแพ็กเกจ Google

    ภาพหน้าจอของหน้าต่างเครื่องมือจัดการแพ็กเกจ Unity ที่มี

  4. คลิกชื่อแพ็กเกจแต่ละรายการ แล้วคลิก Remove

manifest.json

  1. ใช้เครื่องมือแก้ไขข้อความเพื่อเปิด Packages/manifest.json ในโฟลเดอร์โปรเจ็กต์ Unity
  2. ตรวจสอบว่ามีแพ็กเกจจาก Google ในส่วน "dependencies" หรือไม่ ชื่อแพ็กเกจควรขึ้นต้นด้วย "com.google" เช่น "com.google.firebase.app"
  3. ลบบรรทัดเหล่านั้นและบันทึกไฟล์ JSON
  4. เมื่อ Unity ได้รับโฟกัสอีกครั้ง ระบบจะโหลดไฟล์ manifest.json อีกครั้งและนำแพ็กเกจที่ลบออก

เมื่อถอนการติดตั้งแพ็กเกจเหล่านั้นจาก Unity Package Manager แล้ว คุณจะดาวน์โหลดและนําเข้าไฟล์ .unitypackage เปลี่ยนทดแทนได้จากหน้าที่เก็บ

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

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

หากไม่แน่ใจว่าใช้วิธีการติดตั้งใดอยู่ ให้ตรวจสอบใน UI ของ Unity ว่าแพ็กเกจ Google ที่ต้องการปรากฏในแท็บโปรเจ็กต์ในส่วนชิ้นงานหรือไม่

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

  1. ตรวจสอบว่าได้นําแพ็กเกจ Google ทั้งหมดออกจากโฟลเดอร์ชิ้นงานแล้ว

    • หากต้องการถอนการติดตั้งแพ็กเกจ Firebase ให้ทำตามวิธีการเหล่านี้
    • หากต้องการถอนการติดตั้งปลั๊กอินของ Play สำหรับ Unity ให้ลบโฟลเดอร์ GooglePlayPlugins ที่อยู่ใน Assets
  2. ติดตั้งแพ็กเกจโดยใช้ Unity Package Manager ตามที่อธิบายไว้ด้านบน

วิธีการย้ายข้อมูลเฉพาะผลิตภัณฑ์

ดูวิธีการสำหรับ Firebase ได้ที่นี่