โปรเจ็กต์ โดยครอบคลุมขั้นตอนตั้งแต่การดาวน์โหลด SDK ไปจนถึงการเริ่มต้นและการกำหนดค่าบิลด์ keywords_public: Google Play Games PC, Unity, การผสานรวม SDK, PC แบบเนทีฟ, การพัฒนาเกม, IL2CPP, ไฟล์ Manifest, Play Games PC Unity SDK
คู่มือนี้แสดงวิธีการทีละขั้นตอนในการผสานรวม Google Play Games PC SDK เข้ากับโปรเจ็กต์ Unity
ขั้นตอนที่ 1: ดาวน์โหลด SDK
ดาวน์โหลดแพ็กเกจ Unity เวอร์ชันล่าสุดโดยใช้ลิงก์ดาวน์โหลด
ดาวน์โหลด: SDK ของ Play Games PC Unity
ขั้นตอนที่ 2: นำเข้าแพ็กเกจ
SDK จะจัดจำหน่ายเป็นไฟล์ tar ที่เข้ากันได้กับ Unity Package Manager (UPM) ดูข้อมูลเพิ่มเติมได้ที่ติดตั้งแพ็กเกจ UPM จากไฟล์ tar ในเครื่อง
ขั้นตอนที่ 3: กำหนดการตั้งค่าบิลด์
หากต้องการยืนยันว่าไลบรารีเนทีฟโหลดอย่างถูกต้อง คุณต้องกำหนดค่าโปรเจ็กต์
ให้ใช้IL2CPPแบ็กเอนด์การเขียนสคริปต์และกำหนดเป้าหมายสถาปัตยกรรมที่ถูกต้อง
สร้างโปรไฟล์บิลด์ โดยใช้ Windows เป็นแพลตฟอร์ม
เลือกการตั้งค่าแพลตฟอร์ม เป็น Windows สำหรับสถาปัตยกรรม ให้ใช้ตัวเลือกต่อไปนี้
- Intel 64 บิต (แนะนำ)
- Intel 32 บิต
หมายเหตุ: แพลตฟอร์ม Google Play Games บน PC ทำงานในสภาพแวดล้อมแบบ 64 บิต คุณสามารถสร้างเกมเป็น 32 บิต (x86) หรือ 64 บิต (x64)
ตั้งค่า Scripting Backend เป็น IL2CPP ดูข้อมูลเพิ่มเติมได้ที่การสร้างโปรเจ็กต์ด้วย IL2CPP
- ตั้งค่าระดับความเข้ากันได้ของ API เป็น .NET Standard 2.0 (หรือ .NET Framework)
ขั้นตอนที่ 4: สร้างไฟล์ Manifest ของแอปพลิเคชัน
ก่อนที่จะใช้ SDK ในเกมได้ คุณต้องเชื่อมโยงไฟล์ปฏิบัติการของเกมกับชื่อแพ็กเกจ Google Play ที่คุณอ้างสิทธิ์ใน Play Console โดยคุณสามารถทำได้ด้วยการเพิ่มไฟล์ manifest.xml ในไดเรกทอรีเดียวกันกับไฟล์ที่เรียกใช้งานได้ของเกม
หมายเหตุ: นี่คือขั้นตอนที่ต้องดำเนินการด้วยตนเอง
- หากต้องการสร้างไฟล์ที่เรียกใช้งานได้ของเกม ให้เลือกไฟล์ > สร้างและ
เรียกใช้ หรือคลิก
Ctrl+B - เปิดเครื่องมือแก้ไขข้อความและสร้างไฟล์ใหม่ชื่อ
manifest.xml คัดลอกและวางโค้ด XML ต่อไปนี้ลงในไฟล์
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?/Application> <?/Manifest>
บันทึกไฟล์เป็น
manifest.xmlย้ายไฟล์นี้ไปไว้ในโฟลเดอร์เดียวกับไฟล์ที่เรียกใช้งานของเกมที่สร้างขึ้น
ตัวอย่าง: หากเกมของคุณอยู่ที่
Builds/MyGame.exeไฟล์ Manifest ต้องอยู่ที่Builds/manifest.xml
หมายเหตุ: หากต้องการใช้ PC SDK ขณะพัฒนาใน Unity Editor โดยไม่ต้องลงนามแบบดิจิทัลในไฟล์ปฏิบัติการของเกมหรือเปิดใช้จาก Google Play Games ดูขั้นตอนการกำหนดค่าไฟล์ Manifest เพิ่มเติมได้ที่ คู่มือการตั้งค่าโหมดนักพัฒนาซอฟต์แวร์
ขั้นตอนที่ 5: เริ่มต้น SDK
คุณต้องเริ่มต้น SDK ก่อนจึงจะเข้าถึงฟีเจอร์ต่างๆ ได้ เช่น การเรียกเก็บเงินหรือ
ความสมบูรณ์ ใช้ PlayPcSdkFactory เพื่อสร้างตัวแฮนเดิลการเริ่มต้น
และเริ่มการเชื่อมต่อ
สร้างสคริปต์ C# ใหม่ เช่น SdkInitialization.cs แล้วเพิ่มโค้ดต่อไปนี้
using UnityEngine; using System; using System.Threading.Tasks; // Import the SDK namespaces using PlayPcSdkManaged.Initialization; using PlayPcSdkManaged.Unity; public class GooglePlayPCSDKInit : MonoBehaviour { // Prevent double-initialization if this script is reloaded private static bool _isInitialized = false; private void Start() { // Use the "Safe Runner" pattern to fire the async method _ = InitializeSdkAsync(); } private async Task InitializeSdkAsync() { if (_isInitialized) { Debug.LogWarning("Google Play PC SDK is already initialized. Skipping."); return; } try { Debug.Log("Initializing Google Play PC SDK..."); // 1. Get the Unity-specific initialization handler from the factory var initHandler = PlayPcSdkFactory.InitializationHandler; // 2. Call InitializeAsync to start the connection var result = await GooglePlayInitialization.InitializeAsync(initHandler); // 3. Check the result if (result.IsOk) { _isInitialized = true; Debug.Log("<color=green>Google Play PC SDK Initialized Successfully!</color>"); // You can now create BillingClient or IntegrityClient instances } else { Debug.LogError($"<color=red>Initialization Failed!</color>"); Debug.LogError($"Error Code: {result.Code}"); Debug.LogError($"Message: {result.ErrorMessage}"); } } catch (Exception ex) { // Catch unexpected crashes or task failures Debug.LogError($"Exception during initialization: {ex.Message}"); Debug.LogException(ex); } } }
แนบสคริปต์นี้กับ GameObject ในฉากแรก เมื่อเรียกใช้เกม ให้ตรวจสอบข้อความ "เริ่มต้น SDK สำเร็จแล้ว!" ใน Console
ขั้นตอนที่ 6: เปิดใช้การเล่นอัตโนมัติเมื่อติดตั้งเกมเนทีฟบน PC
Google Play Games บน PC (GPG) ช่วยให้นักพัฒนาแอปเปิดใช้ฟีเจอร์ "เล่นอัตโนมัติ" ซึ่งจะเปิดเกมโดยอัตโนมัติทันทีหลังจากกระบวนการ ติดตั้งเสร็จสมบูรณ์ ฟีเจอร์นี้ช่วยให้ผู้ใช้ได้รับประสบการณ์ที่ราบรื่น โดยการเปลี่ยนเส้นทางผู้เล่นไปยังเกมโดยตรง ซึ่งได้รับการ ตรวจสอบสิทธิ์อย่างเต็มรูปแบบภายในระบบนิเวศของ GPG
วิธีการทำงาน
เมื่อเปิดใช้ฟีเจอร์นี้ GPG จะส่งโทเค็นของเซสชัน GPG ไปยังกระบวนการโปรแกรมติดตั้งของบุคคลที่สาม (3P) ผ่านอาร์กิวเมนต์บรรทัดคำสั่ง จากนั้นโปรแกรมติดตั้งของคุณ จะมีหน้าที่แยกโทเค็นนี้และใช้เพื่อเปิดตัวไฟล์ปฏิบัติการของเกม ในบริบทที่ได้รับการตรวจสอบสิทธิ์
สิ่งที่ต้องมีก่อน
หากต้องการใช้ฟีเจอร์นี้ โปรแกรมติดตั้งของบุคคลที่สามต้องสามารถจัดการ อาร์กิวเมนต์บรรทัดคำสั่งได้
ขั้นตอนการติดตั้งใช้งาน
เปิดใช้การเล่นอัตโนมัติในการกำหนดค่าการเผยแพร่
หากต้องการเลือกใช้ฟีเจอร์นี้ ให้เพิ่ม
acceptsCommandLineArgumentsแอตทริบิวต์ ลงในองค์ประกอบ<installer>ในplay_publishing_config.xmlตัวอย่าง
manifest.xmlเนื้อหา<installer requiresElevation="true" acceptsCommandLineArguments="true"> <path>path/to/installer.exe</path> <installation-path-registry-location> <key-name>SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\key</key-name> <value-name>InstallPath</value-name> </installation-path-registry-location> </installer>- แอตทริบิวต์:
acceptsCommandLineArguments - ประเภท:
Boolean - ค่าเริ่มต้น:
false - ลักษณะการทำงาน: เมื่อตั้งค่าเป็น "จริง" GPG จะต่อท้ายโทเค็นของเซสชันกับอาร์กิวเมนต์บรรทัดคำสั่งเมื่อเรียกใช้โปรแกรมติดตั้ง
- แอตทริบิวต์:
จัดการโทเค็นของเซสชันในโปรแกรมติดตั้ง
เมื่อไคลเอ็นต์ GPG เปิดใช้โปรแกรมติดตั้ง โปรแกรมติดตั้งจะได้รับโทเค็นของเซสชันเป็นอาร์กิวเมนต์บรรทัดคำสั่ง
- รูปแบบอาร์กิวเมนต์:
--g_session_token=<TOKEN>
สิ่งที่คุณต้องทำ
- การแยก: โปรแกรมติดตั้งต้องแยกวิเคราะห์อาร์กิวเมนต์บรรทัดคำสั่งเพื่อ ดึงสตริงโทเค็น
- การส่งต่อ: หากขั้นตอนการติดตั้งเกี่ยวข้องกับการเปิดใช้ตัวเรียกใช้หรือกระบวนการเกมรอง โปรแกรมติดตั้งของคุณมีหน้าที่รับผิดชอบในการส่งโทเค็นของเซสชันไปยังกระบวนการเกมสุดท้ายที่ใช้ SDK อย่างปลอดภัย
- เปิดตัว: ใช้โทเค็นของเซสชันที่ระบุเพื่อเริ่มไฟล์ปฏิบัติการของเกม ซึ่งจะช่วยให้มั่นใจว่าเกมจะทำงานภายในบริบท GPG ที่ได้รับการตรวจสอบสิทธิ์ ไม่เช่นนั้น InitializeSDK จะล้มเหลวและผู้เล่นจะต้อง รีสตาร์ทเกม
- รูปแบบอาร์กิวเมนต์:
การจัดการข้อผิดพลาดและการสำรองข้อมูล
- การดึงโทเค็น: หาก GPG สร้างหรือส่งโทเค็นเซสชันไม่ได้ไม่ว่าด้วยเหตุผลใดก็ตาม (เช่น สร้างโทเค็นไม่สำเร็จ) กระบวนการติดตั้งจะยังคงดำเนินต่อไป อย่างไรก็ตาม ระบบจะเปิดใช้โปรแกรมติดตั้งโดยไม่มีอาร์กิวเมนต์ --g_session_token
- ความแข็งแกร่ง: คุณควรถอดแบบโปรแกรมติดตั้งเพื่อรองรับสถานการณ์ที่ไม่มีโทเค็นของเซสชัน ในกรณีดังกล่าว โปรแกรมติดตั้งควรดำเนินการติดตั้งมาตรฐานต่อไป และคุณไม่ควรทริกเกอร์การเปิดเกมอัตโนมัติเนื่องจาก InitializeSDK จะล้มเหลวอยู่ดี
- ข้อผิดพลาดของโปรแกรมติดตั้ง: คุณมีหน้าที่รับผิดชอบความแข็งแกร่งและการจัดการข้อผิดพลาด ของโปรแกรมติดตั้งและลำดับการเปิดเกมที่โปรแกรมติดตั้งเริ่มต้น GPG ไม่ได้ ควบคุมกระบวนการที่เกิดขึ้นภายในโปรแกรมติดตั้งหลังจากที่เปิด ใช้งานแล้ว