ข้ามไปที่เนื้อหา

Unity Windows

Hive SDK การพัฒนาแอป Unity Windows ต้องการการตั้งค่าดังต่อไปนี้เมื่อสร้างแอปหลังจากการพัฒนา.

สร้างการกำหนดค่าล่วงหน้า

ก่อนที่จะสร้างโปรเจกต์ Windows ให้กำหนดค่าการตั้งค่าต่อไปนี้ใน ไฟล์ > การตั้งค่าการสร้าง... ของโปรแกรมแก้ไข:

  1. ตั้งค่าการสร้าง:
    • ระบบปฏิบัติการที่ต้องการ: Windows
    • สถาปัตยกรรม: x86_64
    • สร้างโซลูชัน Visual Studio (วิธีการสร้างขึ้นอยู่กับว่ามีการเลือกหรือไม่)
  2. กำหนดค่าผู้เล่น: คุณสามารถตั้งค่าได้โดยการกดปุ่ม การตั้งค่าผู้เล่น... ที่มุมล่างซ้ายของหน้าต่างการตั้งค่าการสร้าง... หรือในหมวด ผู้เล่น ของหน้าต่าง Inspector.
    • แบ็คเอนด์สคริปต์: IL2CPP
    • ระดับความเข้ากันได้ของ API: .NET Standard 2.1
    • API กราฟิกอัตโนมัติสำหรับ Windows: Direct3D11 หรือ OpenGLCore
  3. กำหนดค่าไฟล์HIVE_PLUGIN.dll: อ้างอิงจากภาพด้านล่างและตั้งค่าไฟล์HIVE_PLUGIN.dll ในโฟลเดอร์Assets\Hive_SDK_v4\Plugins\Windows ในหน้าต่าง Inspector.

การตั้งค่าการสร้าง

ขึ้นอยู่กับว่ามีการเลือก Generate Visual Studio Solution ในระหว่างการกำหนดค่าการสร้างหรือไม่ ให้ดำเนินการตาม ตัวเลือก 1. หรือ ตัวเลือก 2. ด้านล่าง

ตัวเลือก 1. การสร้างโซลูชัน Visual Studio: เท็จ

  1. เตรียมไฟล์ Assets\Plugins\Windows\res\hive_config.xml ในโปรเจกต์ของผู้แก้ไข
  2. ไฟล์เพิ่มเติมของ Hive SDK (ไฟล์ทรัพยากรเช่น .dll, .pak, .bin) จะถูกคัดลอกโดย Assets\Hive_SDK_v4\Editor\HivePostprocess.cs ไปยังโฟลเดอร์ที่ไฟล์ปฏิบัติการที่สร้างโดย Unity Build ตั้งอยู่ หากไม่ได้ถูกคัดลอก โปรดคัดลอกด้วยตนเองดังนี้:
    • Assets\Hive_SDK_v4\Plugins\desktop\hive_string → [Executable Folder]\resources\hive_string
    • Assets\Hive_SDK_v4\Plugins\Windows\additional → [Executable Folder] (ไม่รวมไฟล์ .meta)
    • Assets\Plugins\Windows\res\hive_config.xml → [Executable Folder]\resources\hive_config.xml
  3. หากคุณได้คัดลอกไฟล์ด้วยตนเองในขั้นตอนก่อนหน้า ให้ย้ายเนื้อหาภายใต้โฟลเดอร์ [Executable Folder]\hive-sdk-res ไปยังโฟลเดอร์ [Executable Folder]\resources
    • หากคุณได้ย้ายเนื้อหาทั้งหมดจาก [Executable Folder]\hive-sdk-res คุณสามารถลบโฟลเดอร์ hive-sdk-res ได้
  4. สคริปต์ Assets\Hive\SDK\v4\Editor\HivePostprocess.cs ตั้งค่ารุ่นโดยใช้รุ่นที่ระบุในโปรเจกต์ หากรุ่นของไฟล์ปฏิบัติการยังไม่เปลี่ยนแปลง คุณสามารถเรียกใช้ Assets\Hive\SDK\v4\Plugins\Windows\postBuildUtil\rcedit.exe จาก CMD หรือ PowerShell เพื่อ เปลี่ยนมันด้วยตนเอง
    • ตัวอย่างคำสั่ง: rcedit.exe "D:\Hive\SDK\UnityPlugin\Sample\b\Hive\SDK\v4\Unity.exe" --set-product-version 1.0.3 --set-file-version 1.0.3
    • ผลลัพธ์ตัวอย่าง:

ตัวเลือก 2. การสร้างโซลูชัน Visual Studio: จริง

ทำการสร้าง Unity สำหรับ Windows ในโฟลเดอร์ที่ต้องการโดยมีการกำหนดค่าของสภาพแวดล้อมใน การกำหนดค่าล่วงหน้าสำหรับการสร้าง

สร้างการตั้งค่าหลังการสร้าง

ส่วนนี้อธิบายการตั้งค่าที่จำเป็นหลังจากสร้างแอป Unity Windows SDK ของ Hive เมื่อการสร้าง Unity เสร็จสิ้น ไฟล์ต่อไปนี้จะถูกสร้างขึ้น

  • สร้าง
  • Il2CppOutputProject
  • [ชื่อโปรเจกต์] โฟลเดอร์
  • UnityPlayerStub
  • [ชื่อโปรเจกต์].sln
  • UnityCommon.props
  • locales
  • resources
  • swiftshader
  • .dll
  • cef.subprocess.exe
  • .pak
  • .bin
  • icudtl.dat

การตั้งค่าเวอร์ชัน

คุณสามารถตั้งค่าเวอร์ชันโดยการแก้ไข FILEVERSION และ PRODUCTVERSION ในไฟล์ WindowsPlayerVersion.rc ภายในโฟลเดอร์ [ชื่อโปรเจกต์] เวอร์ชันที่แก้ไขจะถูกใช้เป็นข้อมูล appversion เมื่อสื่อสารกับเซิร์ฟเวอร์ Hive

การสร้าง Visual Studio และการคัดลอก Hive SDK

  1. เปิดsln ด้วย Visual Studio และไฟล์ที่สามารถเรียกใช้ได้จะถูกสร้างในbuild\bin\x64\Debug (หรือ Master) โฟลเดอร์ระหว่างการสร้าง
  2. เมื่อต้องการรันผลลัพธ์ของ Unity 2018.4.17 ด้วย Visual Studio 2019 จำเป็นต้องมีขั้นตอน Retarget Solution
  3. คัดลอกไฟล์จากโฟลเดอร์ที่สร้างขึ้นระหว่างการสร้าง Unity ไปยังโฟลเดอร์เดียวกันกับไฟล์ที่สามารถเรียกใช้ได้ โดยไม่รวม[Project name_Data].sln และUnityCommon.props
  4. คัดลอกโฟลเดอร์locales, resources และswiftshader ในลักษณะเดียวกัน
  5. แก้ไขเนื้อหาของhive_config.xml ให้ตรงกับโปรเจกต์ และระบุที่ตั้งในโฟลเดอร์ resources ภายใต้ไฟล์ที่สามารถเรียกใช้ได้ (Appid, เกี่ยวกับ Google, เกี่ยวกับ Facebook)
  6. หากเกมต้องการค่าตลาดที่ป้อนใน hive_config.xml ให้ป้อน HS ซึ่งเป็นรหัสตลาดสำหรับ Hive Store (อย่างไรก็ตาม ค่าตลาดที่ป้อนในhive_config.xml จะไม่มีผลต่อบริการจริง)
  7. คัดลอกbuild\bin\Project name_Data folder ไปยังโฟลเดอร์ที่ไฟล์ที่สามารถเรียกใช้ได้ตั้งอยู่.

  8. ไฟล์ (*.dll) ในbuild\bin[Project name_Data]\plugins ถูกทำซ้ำ ดังนั้นสามารถลบได้

  9. การวาง.dll และทรัพยากรเพิ่มเติมในbuild\bin[Project name_Data]\plugins แทนที่จะอยู่ในโฟลเดอร์ที่ไฟล์ปฏิบัติการตั้งอยู่เป็นไปได้บางส่วน แต่มีฟังก์ชันที่ไม่ทำงาน ดังนั้นจึงถูกคัดลอกไปยังโฟลเดอร์ที่ไฟล์ปฏิบัติการตั้งอยู่และใช้งาน
Note

Redistributable packages จำเป็นต้องใช้ในสภาพแวดล้อมอื่นนอกเหนือจาก PC ของนักพัฒนา.
เมื่อสร้างในโหมดดีบัก DLL เวอร์ชันดีบักของแพ็คเกจ redistributable จะต้องใช้:vccorlib140d.dll, vcruntime140d.dll, cruntime140_1d.dll, ucrtbased.dll, msvcp140d.dll, concrt140d.dl

การแยกการติดตั้ง SDK (ไม่บังคับ)

คุณสามารถเลือกที่จะใช้การปรับใช้ SDK แยกต่างหากในระหว่างกระบวนการสร้างโปรเจกต์ ซึ่งจะช่วยให้คุณแยกเกมและ SDK ภายในไดเรกทอรีโปรเจกต์เกม

ในไดเรกทอรีของโปรเจกต์ที่มีอยู่ ไลบรารีที่เกี่ยวข้องกับ SDK จะถูกจัดเก็บอยู่ในระดับเดียวกับโปรแกรมเกม (*.exe) โดยการวางไฟล์และไลบรารีที่เกี่ยวข้องกับ SDK ไว้ในโฟลเดอร์ย่อย PlatformHive ที่เฉพาะเจาะจง คุณสามารถรับประกันการพึ่งพาอิสระของ SDK ได้

การเปรียบเทียบโครงสร้างไดเรกทอรี

หากคุณเพิ่มมาโคร HIVE_SDK_LOAD_FROM_STREAMING_ASSETS ลงใน Scripting Define Symbols ในโปรเจกต์ของคุณ ไฟล์และไลบรารีที่เกี่ยวข้องกับ SDK จะถูกวางไว้ในโฟลเดอร์ PlatformHive ซึ่งแตกต่างจากโครงสร้างโปรเจกต์เริ่มต้น

  • โครงสร้างโปรเจกต์เริ่มต้น (โดยไม่มี HIVE_SDK_LOAD_FROM_STREAMING_ASSETS)

    GameRoot
    ├─ <GameName>_Data/                 ; โฟลเดอร์ข้อมูล Unity
    ├─ HIVE_SERVICE.dll, libcef.dll, cef.subprocess.exe …
    ├─ propFolder/       ข้อมูลท้องถิ่นของ hive
    ├─ resource/         hive_config.xml, html
    └─ <GameName>.exe
    

  • โครงสร้างการปรับใช้แยก (ด้วย HIVE_SDK_LOAD_FROM_STREAMING_ASSETS)

    GameRoot
    ├─ <GameName>_Data/                 ; โฟลเดอร์ข้อมูล Unity
    │   └─ StreamingAssets/                ; โฟลเดอร์ที่แยกออก
    │      └─ PlatformHive/                ; โฟลเดอร์ที่แยกออก
    │         ├─ HIVE_SERVICE.dll, libcef.dll, cef.subprocess.exe …
    │         ├─ propFolder/       ; ข้อมูลท้องถิ่นของ hive
    │         └─ resource/         ; hive_config.xml, html
    └─ <GameName>.exe
    

    ※ ตำแหน่งสุดท้ายของไฟล์ SDK หลังจากการสร้างจะเปลี่ยนเป็น _Data/StreamingAssets/PlatformHive/. โครงสร้างของโปรเจกต์ที่เหลือและวิธีการอ้างอิง SDK ยังคงเหมือนเดิม.

ขั้นตอนการตั้งค่า

ทำตามขั้นตอนเหล่านี้เพื่อกำหนดค่า SDK การปรับใช้แยกต่างหาก:

  1. ใน Unity ให้ไปที่ Project Settings > Player > Other Settings และเพิ่ม HIVE_SDK_LOAD_FROM_STREAMING_ASSETS ลงในฟิลด์ Scripting Define Symbols สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ คู่มือสัญลักษณ์การเขียนสคริปต์แบบกำหนดเอง.
  2. อ้างอิงถึง ตัวเลือก 1. การสร้างโซลูชัน Visual Studio: เท็จ สำหรับการกำหนดค่าการสร้างโปรเจกต์.
  3. เมื่อสร้างโปรเจกต์ สคริปต์ Assets/Hive_SDK_v4/Editor/HivePostprocess.cs จะคัดลอกไฟล์ที่เกี่ยวข้องกับ SDK ไปยังโฟลเดอร์ PlatformHive โดยอัตโนมัติ.

ลบไฟล์ XML ที่ไม่ได้ใช้งาน

หากคุณติดตั้งหรืออัปเดต Hive SDK Unity ผ่านทาง แพ็คเกจ Unity แทนที่จะใช้ Hive SDK Manager คุณต้องลบไฟล์ทั้งหมด HIVESDK_{library_name}Dependencies.xml ที่ตั้งอยู่ในเส้นทางด้านล่างก่อนที่จะสร้างแอป

  • Assets/Hive_SDK_v4/Dependencies
  • Assets/Hive_SDK_v4/Editor

ตัวอย่างไฟล์ที่จะถูกลบมีดังนี้:

  • HIVESDK_DefaultDependencies.xml
  • HIVESDK_HerculesDependencies.xml
  • HIVESDK_HiveAnalyticsConsentModeDependencies.xml
  • HIVESDK_HiveDataStoreDependencies.xml
  • HIVESDK_HiveDeviceManagementDependencies.xml
  • HIVESDK_HiveGoogleInAppReviewDependencies.xml
  • HIVESDK_HiveGoogleInAppUpdateDependencies.xml
  • HIVESDK_HivePromotionDependencies.xml
  • HIVESDK_HiveRealNameVerificationDependencies.xml
  • HIVESDK_MarketAmazonDependencies.xml
  • HIVESDK_MarketAppleDependencies.xml
  • HIVESDK_MarketGoogleDependencies.xml
  • HIVESDK_MarketHiveStoreDependencies.xml
  • HIVESDK_MarketHuaweiDependencies.xml
  • HIVESDK_MarketLebiDependencies.xml
  • HIVESDK_MarketOneStoreDependencies.xml
  • HIVESDK_MarketSamsungDependencies.xml
  • HIVESDK_ProviderAdjustDependencies.xml
  • HIVESDK_ProviderAppleDependencies.xml
  • HIVESDK_ProviderAppleSignInDependencies.xml
  • HIVESDK_ProviderAppsFlyerDependencies.xml
  • HIVESDK_ProviderFacebookDependencies.xml
  • HIVESDK_ProviderFirebaseDependencies.xml
  • HIVESDK_ProviderGoogleDependencies.xml
  • HIVESDK_ProviderGooglePlayGamesDependencies.xml
  • HIVESDK_ProviderHiveMembershipDependencies.xml
  • HIVESDK_ProviderHuaweiDependencies.xml
  • HIVESDK_ProviderLineDependencies.xml
  • HIVESDK_ProviderQQDependencies.xml
  • HIVESDK_ProviderRecaptchaDependencies.xml
  • HIVESDK_ProviderSingularDependencies.xml
  • HIVESDK_ProviderVKDependencies.xml
  • HIVESDK_ProviderWechatDependencies.xml
  • HIVESDK_ProviderWeverseDependencies.xml
  • HIVESDK_PushAmazonAdmDependencies.xml
  • HIVESDK_PushGoogleFcmDependencies.xml