แพ็กเกจ 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
เปิดการตั้งค่าเครื่องมือจัดการแพ็กเกจโดยเลือกตัวเลือกเมนู Unity แก้ไข > การตั้งค่าโปรเจ็กต์ > เครื่องมือจัดการแพ็กเกจ
เพิ่ม 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
เปิดเมนูเครื่องมือจัดการแพ็กเกจโดยเลือกตัวเลือกเมนู Unity หน้าต่าง > เครื่องมือจัดการแพ็กเกจ
ตั้งค่าเมนูแบบเลื่อนลงของขอบเขตบัญชีดูแลจัดการเพื่อเลือกรีจิสทรีของฉัน
เลือกแพ็กเกจ Google Play Integrity Plugin for Unity จากรายการแพ็กเกจ แล้วกดติดตั้ง
การนําเข้าแพ็กเกจชิ้นงานด้วยไฟล์ .unitypackage
นําเข้าไฟล์ .unitypackage
โดยเลือกตัวเลือกเมนู Unity
Assets > Import package > Custom Package
และนําเข้ารายการทั้งหมด
ซึ่งจะเพิ่มเนื้อหาของแพ็กเกจลงในโปรเจ็กต์ภายใต้ไดเรกทอรีชิ้นงาน
การนําเข้าแพ็กเกจ UPM ด้วยไฟล์ .tgz
(2018.4 ขึ้นไป)
นําเข้าไฟล์ .tgz
ไปยังโปรเจ็กต์โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
manifest.json
- สร้างโฟลเดอร์ใหม่ข้างโฟลเดอร์
Packages
ของโปรเจ็กต์ แล้วตั้งชื่อเป็นGooglePackages
- วางไฟล์
.tgz
ไว้ในโฟลเดอร์นั้น - ใช้เครื่องมือแก้ไขข้อความเพื่อเปิด
Packages/manifest.json
ในโฟลเดอร์โปรเจ็กต์ Unity เพิ่มรายการสำหรับแต่ละแพ็กเกจที่ต้องการติดตั้ง โดยจับคู่ชื่อแพ็กเกจกับตำแหน่งบนดิสก์ซึ่งสัมพันธ์กับไฟล์
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... } }
บันทึกไฟล์ manifest.json
เมื่อ Unity ได้รับโฟกัสอีกครั้ง ระบบจะโหลดไฟล์ manifest.json ซ้ำและนำเข้าแพ็กเกจที่เพิ่มใหม่
Unity บางเวอร์ชันเก่าไม่รองรับไฟล์ .tgz
ในไฟล์ manifest.json
ในกรณีนี้ คุณควรทำดังนี้
- แตกไฟล์
.tgz
- วางโฟลเดอร์ที่แตกไฟล์แล้วในโฟลเดอร์
GooglePackages
แก้ไขไฟล์ 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 เครื่องมือจัดการแพ็กเกจ
- เปิดหน้าต่างเครื่องมือจัดการแพ็กเกจของ Unity
คลิกไอคอน
+
ที่มุมซ้ายบนของหน้าต่างตัวจัดการแพ็กเกจ แล้วเลือกAdd package from tarball
เพื่อเปิดโปรแกรมเรียกดูไฟล์เลือกไฟล์ tarball ที่ต้องการในโปรแกรมเรียกดูไฟล์
Unity บางเวอร์ชันเก่าไม่รองรับการเพิ่มไฟล์ tarball โดยตรง ในกรณีนี้ คุณจะต้องดำเนินการดังนี้
- แตกไฟล์
.tgz
คลิกไอคอน
+
ที่มุมซ้ายบนของหน้าต่างเครื่องมือจัดการแพ็กเกจ แล้วเลือกAdd package from disk
เพื่อเปิดโปรแกรมเรียกดูไฟล์เลือกโฟลเดอร์ที่แตกไฟล์แล้วในโปรแกรมเรียกดูไฟล์
อย่าลืมนำเข้าไฟล์ .tgz
สำหรับทรัพยากรของแพ็กเกจด้วย ซึ่งจะแสดงอยู่ในหน้าเก็บถาวรในส่วนแพ็กเกจที่ต้องการ
ตัวอย่างเช่น หากติดตั้ง com.google.firebase.storage
คุณจะต้องติดตั้งไฟล์ .tgz
เหล่านี้ตามลำดับต่อไปนี้
- เครื่องมือจัดการทรัพยากรภายนอก (
com.google.external-dependency-manager
) - Firebase Core (
com.google.firebase.app
) - Firebase Auth (
com.google.firebase.auth
) - พื้นที่เก็บข้อมูลของ 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 เครื่องมือจัดการแพ็กเกจ
- เปิดหน้าต่างเครื่องมือจัดการแพ็กเกจของ Unity
เลือก
In Project
ในเมนูแบบเลื่อนลงที่ด้านซ้ายบนพิมพ์
com.google
ในแถบค้นหาเพื่อกรองแพ็กเกจ Googleคลิกชื่อแพ็กเกจแต่ละรายการ แล้วคลิก
Remove
manifest.json
- ใช้เครื่องมือแก้ไขข้อความเพื่อเปิด
Packages/manifest.json
ในโฟลเดอร์โปรเจ็กต์ Unity - ตรวจสอบว่ามีแพ็กเกจจาก Google ในส่วน "dependencies" หรือไม่ ชื่อแพ็กเกจควรขึ้นต้นด้วย "com.google" เช่น "com.google.firebase.app"
- ลบบรรทัดเหล่านั้นและบันทึกไฟล์ JSON
- เมื่อ Unity ได้รับโฟกัสอีกครั้ง ระบบจะโหลดไฟล์
manifest.json
อีกครั้งและนำแพ็กเกจที่ลบออก
เมื่อถอนการติดตั้งแพ็กเกจเหล่านั้นจาก Unity Package Manager แล้ว คุณจะดาวน์โหลดและนําเข้าไฟล์ .unitypackage
เปลี่ยนทดแทนได้จากหน้าที่เก็บ
การย้ายข้อมูลจากแพ็กเกจชิ้นงานไปยังแพ็กเกจ UPM
ในบางกรณี คุณอาจต้องการเปลี่ยนจากการติดตั้งผลิตภัณฑ์ภายใต้ต้นไม้ชิ้นงานเป็นการติดตั้งและติดตามผลิตภัณฑ์ด้วย Unity Package Manager
หากไม่แน่ใจว่าใช้วิธีการติดตั้งใดอยู่ ให้ตรวจสอบใน UI ของ Unity ว่าแพ็กเกจ Google ที่ต้องการปรากฏในแท็บโปรเจ็กต์ในส่วนชิ้นงานหรือไม่
วิธีย้ายข้อมูลไปยังแพ็กเกจ UPM
ตรวจสอบว่าได้นําแพ็กเกจ Google ทั้งหมดออกจากโฟลเดอร์ชิ้นงานแล้ว
- หากต้องการถอนการติดตั้งแพ็กเกจ Firebase ให้ทำตามวิธีการเหล่านี้
- หากต้องการถอนการติดตั้งปลั๊กอินของ Play สำหรับ Unity ให้ลบโฟลเดอร์
GooglePlayPlugins
ที่อยู่ในAssets
ติดตั้งแพ็กเกจโดยใช้ Unity Package Manager ตามที่อธิบายไว้ด้านบน
วิธีการย้ายข้อมูลเฉพาะผลิตภัณฑ์
ดูวิธีการสำหรับ Firebase ได้ที่นี่