ติดตั้งแพ็กเกจ 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 Edit > Project Settings > Package Manager

  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 Window > Package Manager

  4. ตั้งค่าเมนูแบบเลื่อนลงขอบเขตเครื่องมือจัดการให้เลือก My Registries

  5. เลือกแพ็กเกจ Google Play Integrity plugin for Unity จากรายการแพ็กเกจ แล้วกด Install

การนำเข้าแพ็กเกจเนื้อหาด้วยไฟล์ .unitypackage

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

การนำเข้าแพ็กเกจ 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 และแพ็กเกจที่ต้องใช้ร่วมกัน ไฟล์ 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 Package Manager พร้อม

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

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

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

    ภาพหน้าต่าง Unity Package Manager พร้อม

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

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

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

  1. เครื่องมือจัดการทรัพยากร Dependency ภายนอก (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` ในเครื่องโดยใช้ เส้นทางที่สัมพันธ์กันmanifest.json.tgz

หากใช้ Git เราขอแนะนำ Git Large File Storage (LFS) สำหรับจัดการไฟล์ขนาดใหญ่ .tgz

การย้ายข้อมูลจากแพ็กเกจ UPM ไปเป็นแพ็กเกจเนื้อหา

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

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

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

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

    ภาพหน้าต่าง Unity Package Manager พร้อม

  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

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

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

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

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

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

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

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