Unity Windows
Hive SDK การพัฒนาแอป Unity Windows ต้องการการตั้งค่าดังต่อไปนี้เมื่อสร้างแอปหลังจากการพัฒนา.
สร้างการกำหนดค่าล่วงหน้า¶
ก่อนที่จะสร้างโปรเจกต์ Windows ให้กำหนดค่าการตั้งค่าต่อไปนี้ใน ไฟล์ > การตั้งค่าการสร้าง... ของโปรแกรมแก้ไข:
- ตั้งค่าการสร้าง:
 - กำหนดค่าผู้เล่น: คุณสามารถตั้งค่าได้โดยการกดปุ่ม การตั้งค่าผู้เล่น... ที่มุมล่างซ้ายของหน้าต่างการตั้งค่าการสร้าง... หรือในหมวด ผู้เล่น ของหน้าต่าง Inspector.
 - กำหนดค่าไฟล์HIVE_PLUGIN.dll: อ้างอิงจากภาพด้านล่างและตั้งค่าไฟล์HIVE_PLUGIN.dll ในโฟลเดอร์Assets\Hive_SDK_v4\Plugins\Windows ในหน้าต่าง Inspector. 

 
การตั้งค่าการสร้าง¶
ขึ้นอยู่กับว่ามีการเลือก Generate Visual Studio Solution ในระหว่างการกำหนดค่าการสร้างหรือไม่ ให้ดำเนินการตาม ตัวเลือก 1. หรือ ตัวเลือก 2. ด้านล่าง
ตัวเลือก 1. การสร้างโซลูชัน Visual Studio: เท็จ¶
- เตรียมไฟล์ Assets\Plugins\Windows\res\hive_config.xml ในโปรเจกต์ของผู้แก้ไข
 - ไฟล์เพิ่มเติมของ 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
 
 - หากคุณได้คัดลอกไฟล์ด้วยตนเองในขั้นตอนก่อนหน้า ให้ย้ายเนื้อหาภายใต้โฟลเดอร์ [Executable Folder]\hive-sdk-res ไปยังโฟลเดอร์ [Executable Folder]\resources
- หากคุณได้ย้ายเนื้อหาทั้งหมดจาก [Executable Folder]\hive-sdk-res คุณสามารถลบโฟลเดอร์ hive-sdk-res ได้
 
 - สคริปต์ Assets\Hive\SDK\v4\Editor\HivePostprocess.cs ตั้งค่ารุ่นโดยใช้รุ่นที่ระบุในโปรเจกต์ หากรุ่นของไฟล์ปฏิบัติการยังไม่เปลี่ยนแปลง คุณสามารถเรียกใช้ Assets\Hive\SDK\v4\Plugins\Windows\postBuildUtil\rcedit.exe จาก CMD หรือ PowerShell เพื่อ เปลี่ยนมันด้วยตนเอง
 
ตัวเลือก 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¶
- เปิดsln ด้วย Visual Studio และไฟล์ที่สามารถเรียกใช้ได้จะถูกสร้างในbuild\bin\x64\Debug (หรือ Master) โฟลเดอร์ระหว่างการสร้าง
 - เมื่อต้องการรันผลลัพธ์ของ Unity 2018.4.17 ด้วย Visual Studio 2019 จำเป็นต้องมีขั้นตอน Retarget Solution
 - คัดลอกไฟล์จากโฟลเดอร์ที่สร้างขึ้นระหว่างการสร้าง Unity ไปยังโฟลเดอร์เดียวกันกับไฟล์ที่สามารถเรียกใช้ได้ โดยไม่รวม[Project name_Data].sln และUnityCommon.props
 - คัดลอกโฟลเดอร์locales, resources และswiftshader ในลักษณะเดียวกัน
 - แก้ไขเนื้อหาของhive_config.xml ให้ตรงกับโปรเจกต์ และระบุที่ตั้งในโฟลเดอร์ resources ภายใต้ไฟล์ที่สามารถเรียกใช้ได้ (Appid, เกี่ยวกับ Google, เกี่ยวกับ Facebook)
 - หากเกมต้องการค่าตลาดที่ป้อนใน hive_config.xml ให้ป้อน 
HSซึ่งเป็นรหัสตลาดสำหรับ Hive Store (อย่างไรก็ตาม ค่าตลาดที่ป้อนในhive_config.xml จะไม่มีผลต่อบริการจริง) -  
คัดลอกbuild\bin\Project name_Data folder ไปยังโฟลเดอร์ที่ไฟล์ที่สามารถเรียกใช้ได้ตั้งอยู่.
 -  
ไฟล์ (*.dll) ในbuild\bin[Project name_Data]\plugins ถูกทำซ้ำ ดังนั้นสามารถลบได้
 - การวาง.dll และทรัพยากรเพิ่มเติมในbuild\bin[Project name_Data]\plugins แทนที่จะอยู่ในโฟลเดอร์ที่ไฟล์ปฏิบัติการตั้งอยู่เป็นไปได้บางส่วน แต่มีฟังก์ชันที่ไม่ทำงาน ดังนั้นจึงถูกคัดลอกไปยังโฟลเดอร์ที่ไฟล์ปฏิบัติการตั้งอยู่และใช้งาน
 
Note
เมื่อรันเกมบนสภาพแวดล้อมอื่นที่ไม่ใช่เครื่องพัฒนาของนักพัฒนา คุณจำเป็นต้องใช้ แพ็คเกจ redistributable 
 หากสร้างในโหมดดีบัก จะต้องใช้ DLL เวอร์ชันดีบักของแพ็คเกจ redistributable ได้แก่: vccorlib140d.dll, vcruntime140d.dll, cruntime140_1d.dll, ucrtbased.dll, msvcp140d.dll, concrt140d.dll
การแยกการติดตั้ง 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) -  
โครงสร้างการปรับใช้แยก (ด้วย
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 การปรับใช้แยกต่างหาก:
- ใน Unity ให้ไปที่ Project Settings > Player > Other Settings และเพิ่ม 
HIVE_SDK_LOAD_FROM_STREAMING_ASSETSลงในฟิลด์ Scripting Define Symbols สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ คู่มือสัญลักษณ์การเขียนสคริปต์แบบกำหนดเอง. - อ้างอิงถึง ตัวเลือก 1. การสร้างโซลูชัน Visual Studio: เท็จ สำหรับการกำหนดค่าการสร้างโปรเจกต์.
 - เมื่อสร้างโปรเจกต์ สคริปต์ 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
 





