1. บทนำ
อัปเดตล่าสุด 18-10-2022
คุณจะเตรียมเกมสําหรับ Google Play Games บน PC อย่างไร
Google Play Games ช่วยให้คุณนำเกมมือถือมาสู่ Windows PC ได้ง่ายๆ ซึ่งหมายความว่าคุณสามารถเพิ่มการมีส่วนร่วมของผู้เล่นและผู้ชมได้โดยไม่ต้องออกแบบเกมใหม่หรือออกแบบโมเดลธุรกิจใหม่ คุณต้องทำการเปลี่ยนแปลงบางอย่างเพื่อให้ผู้เล่น PC หน้าใหม่ได้สัมผัสประสบการณ์ที่ดีที่สุด
สิ่งที่คุณจะได้เรียนรู้
Codelab นี้ครอบคลุมส่วนพื้นฐานของรายการตรวจสอบข้อกำหนด เพื่อเริ่มใช้งานเกมของคุณ และช่วยคุณเตรียมเกม Unity ของคุณเองสำหรับ Google Play Games บน PC ไม่ครอบคลุมการผสานรวมเชิงลึกเพิ่มเติม เช่น การลงชื่อเข้าใช้ Play Games และ Play Integrity API
- วิธีสร้างสำหรับสถาปัตยกรรม x86 จาก Unity
- วิธีทดสอบและใช้งานโปรแกรมจำลอง Google Play Games
- วิธีแก้ไขอินเทอร์เฟซผู้ใช้ให้ดูดีบน PC
- วิธีตรวจหาว่าคุณกำลังเรียกใช้โปรแกรมจำลอง Google Play Games อยู่หรือไม่ และปรับเกมของคุณให้เหมาะสม
สิ่งที่คุณต้องมี
- การติดตั้ง Unity 2020 LTS (Codelab นี้สร้างขึ้นด้วย 2020.3.30f1)
- โปรแกรมจำลอง Google Play Games
2. ตั้งค่า
เปิดหรือสร้างโปรเจ็กต์ใหม่
- สร้างโปรเจ็กต์ใหม่โดยใช้ 2D Platformer Microgame หรือเปิดโปรเจ็กต์ของคุณเอง
- จากโปรเจ็กต์ ให้เลือกไฟล์ -> การตั้งค่าบิลด์ และตรวจสอบว่าคุณตั้งค่าให้บิลด์สำหรับ Android แล้ว
3. เตรียมโปรแกรมจําลอง Google Play Games
เริ่มต้นโดยดาวน์โหลดโปรแกรมจำลอง
หลังจากติดตั้งแล้ว คุณจะเห็นเดสก์ท็อป Android ในหน้าต่าง
สภาพแวดล้อมนี้เป็นสภาพแวดล้อม Android ประสิทธิภาพสูงที่มีฟีเจอร์ครบถ้วนซึ่งเหมาะสำหรับการพัฒนาเกม ควรแสดงใน Android Debug Bridge (adb) เป็นอุปกรณ์บน localhost:
❯ adb devices List of devices attached localhost:6520 device
คุณต้องใช้ adb เวอร์ชันล่าสุดเพื่อตรวจหาโปรแกรมจำลอง เวอร์ชันที่มาพร้อมกับ Android Studio จะใช้งานได้ แต่ adb ที่มาพร้อมกับ Unity อาจไม่สามารถใช้งานได้ เวอร์ชันที่เข้ากันได้จะมาพร้อมกับโปรแกรมจำลอง ซึ่งดูได้ที่ C:\Program Files\Google\Play Games Developer Emulator\current\emulator
คุณอาจต้องติดตั้ง Android Studio และใช้เพื่อจัดการ Android SDK เพื่อประสบการณ์การใช้งานที่ดีที่สุดสำหรับนักพัฒนาซอฟต์แวร์
ถ้าโปรแกรมจำลองยกเลิกการเชื่อมต่อจาก adb ให้เชื่อมต่ออีกครั้งจากบรรทัดคำสั่งดังนี้
adb connect localhost:6520
4. กำหนดค่า Unity เพื่อสร้างและทำให้โปรแกรมจำลองใช้งานได้โดยตรง (ไม่บังคับ)
เวอร์ชันของ adb ที่มาพร้อมกับ Unity อาจใช้ไม่ได้กับโปรแกรมจำลอง ในการตรวจสอบ ให้เลือก ไฟล์ -> การตั้งค่าบิลด์ และตรวจสอบกล่องโต้ตอบเรียกใช้อุปกรณ์เพื่อดูว่ามีอยู่ในรายการหรือไม่
คุณอาจเลือกที่จะกำหนดค่า Unity ให้ใช้งานได้กับโปรแกรมจำลอง Google Play Games โดยตรง หรือสร้าง APK แล้วติดตั้งใช้งานด้วยตนเองด้วย adb install
ก็ได้ ทั้งนี้ขึ้นอยู่กับโปรเจ็กต์ ขั้นตอนการสร้าง และระดับความสะดวกใจ หากต้องการติดตั้งใช้งานด้วยตนเอง คุณต้องทำการเปลี่ยนแปลงน้อยที่สุด แต่ก็อาจทำให้รอบการทำซ้ำช้าลง
ติดตั้งใช้งานกับโปรแกรมจำลองโดยตรงด้วย 2 ขั้นตอนต่อไปนี้
- กำหนดค่า Unity ให้ใช้ Unity SDK อื่น แนะนำให้เป็น SDK ที่ติดตั้งโดย Android Studio
- อัปเดตเวอร์ชัน Build Tools เพื่อแก้ปัญหาข้อบกพร่องใน Unity
เนื่องจาก Android SDK เวอร์ชันที่มาพร้อมกับ Unity อาจไม่พบโปรแกรมจำลอง คุณจึงใช้ Android Studio เพื่อติดตั้ง SDK ที่ใหม่กว่าได้
- เปิด Android Studio แล้วเลือกแก้ไข -> ค่ากำหนด -> เครื่องมือภายนอก
- ยกเลิกการเลือก
Android SDK Tools Installed with Unity
แล้วระบุเส้นทางไปยังการติดตั้ง Android Studio (โดยปกติคือAppData/Local/Android/sdk
) ไม่ต้องแก้ไขตัวเลือกAndroid NDK
เมื่อรีเฟรชอุปกรณ์ที่เชื่อมต่อ คุณจะเห็น Google HPE device (localhost:6520)
ปรากฏในหน้าต่างบิลด์
คุณอาจต้องเปลี่ยนเวอร์ชันของเครื่องมือสร้างด้วย ทั้งนี้ขึ้นอยู่กับสถานะของข้อบกพร่องนี้และเวอร์ชัน Unity ของคุณ โดยตรวจสอบว่าคุณสร้าง mainTemplate.gradle
และ launcherTemplate.gradle
อยู่
- เปิดหน้าต่างการตั้งค่าโปรเจ็กต์ไปยังการตั้งค่าโปรแกรมเล่น และค้นหาส่วน
Publishing Settings
- เลื่อนลงไปที่ตัวเลือกบิลด์ แล้วเลือก "เทมเพลต Gradle หลักที่กำหนดเอง" และ "เทมเพลต Gradle ตัวเรียกใช้งานที่กำหนดเอง" ซึ่งจะสร้างไฟล์ Gradle ทั้ง 2 ไฟล์ภายใต้
Assets\Plugins\Android\
- แทนที่อินสแตนซ์ของสตริง
**BUILDTOOLS**
ด้วย30.0.0
ในทั้ง 2 ไฟล์ ส่วนของโค้ดควรเป็นข้อความดังนี้
android { compileSdkVersion **APIVERSION** buildToolsVersion '30.0.0'
5. ติดตั้งใช้งานใน Chromebook (ไม่บังคับ)
คุณเริ่มพัฒนาเกมสำหรับ Google Play Games ได้โดยไม่ต้องเข้าถึงโปรแกรมจำลอง Google Play Games โดยใช้อุปกรณ์ ChromeOS Chromebook คล้ายกับ Google Play Games บน PC ตรงที่มีแป้นพิมพ์และเมาส์ มีหน้าจอขนาดใหญ่ และพร้อมใช้งานในการกำหนดค่า x86 เราจะใช้ปลั๊กอิน Unity สำหรับ Android Logcat กับ Chromebook
- เปิด Package Manager และค้นหา
Android Logcat
ภายใต้Unity Registry
ทั้งนี้คุณจะต้องกำหนดค่า Chromebook สำหรับการพัฒนา Android ด้วย เริ่มด้วยการเปิดใช้ Linux
- เลือกการตั้งค่า -> นักพัฒนา -> Linux
จากนั้นเปิดใช้การแก้ไขข้อบกพร่อง ADB
- เลือกการตั้งค่า -> นักพัฒนาซอฟต์แวร์ -> สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ Linux -> พัฒนาแอป Android -> เปิดใช้การแก้ไขข้อบกพร่อง ADB
คุณจะต้องใช้ที่อยู่ IP ของ Chromebook ด้วย วิธีที่ง่ายที่สุดในการดำเนินการดังกล่าวคือ
- คลิกไอคอนข้อมูลเครือข่ายเพื่อรับที่อยู่ IP ของ Chromebook
- เลือกหน้าต่าง -> การวิเคราะห์ -> Android Logcat เพื่อเปิดหน้าต่าง Android Logcat
- เปิดรายการอุปกรณ์ แอปอาจอ่านว่า
No Device
หากไม่ได้เชื่อมต่ออยู่ในขณะนี้
- คลิกตัวเลือกการเชื่อมต่ออื่นๆ แล้วป้อนที่อยู่ IP ของ Chromebook
- คลิกเชื่อมต่อ จากนั้นคุณจะเห็นหน้าต่างสำเร็จ
ตอนนี้ Chromebook ของคุณจะปรากฏในรายการ "เรียกใช้อุปกรณ์" ของ Unity (คุณอาจต้องรีเฟรชหน้าจอก่อน):
ตอนนี้คุณสามารถทำให้เกมใช้งานได้ใน Chromebook รวมทั้งเริ่มการทดสอบและพัฒนาในฮาร์ดแวร์ที่มีลักษณะเหมือน PC ได้แล้ว
6. ทำให้บิลด์ทดสอบใช้งานได้
Google Play Games กําหนดให้คุณทำให้เกมเวอร์ชัน x86 ใช้งานได้ ซึ่งเป็นส่วนหนึ่งของวิธีที่เกมดังกล่าวมีประสิทธิภาพในเชิงเปรียบเทียบบนคอมพิวเตอร์เดสก์ท็อป LTS เวอร์ชันทั้งหมดของ Unity สามารถสร้างบิลด์ Android ที่เข้ากันได้ x86 และ x86-64 (ติดป้ายกำกับว่า "Chrome OS") ขณะที่ Unity เวอร์ชัน 2018 และเวอร์ชันก่อนหน้าจะสร้างบิลด์ x86 ได้ หากต้องการปลดล็อกสถาปัตยกรรมเหล่านี้ คุณต้องเปลี่ยนไปใช้แบ็กเอนด์การเขียนสคริปต์ IL2CPP ก่อน ซึ่งน่าจะดำเนินการแล้วในเวอร์ชันที่ใช้งานจริงเพื่อรับการสนับสนุน arm64
- เลือก File -> การตั้งค่าบิลด์ เพื่อเปิดหน้าต่างการตั้งค่าการสร้าง แล้วคลิกการตั้งค่าโปรแกรมเล่น
- ไปที่ส่วนการตั้งค่าอื่นๆ และเปลี่ยน
Scripting Backend
เป็นIL2CPP
คุณควรเปิดใช้การสนับสนุน x86 หรือ x86-64 ด้วย หากต้องการจัดส่งบนแพลตฟอร์ม Google Play Games คุณจะต้องรองรับ x86 เท่านั้น แต่เราแนะนำให้ใช้ x86-64
นอกจากนี้ เวอร์ชันของแพ็กเกจ Unity ของไลบรารี Frame Pacing ยังใช้ไม่ได้กับ Google Play Games และทำให้เกมขัดข้องเมื่อเปิดตัวด้วย
- หากต้องการปิดใช้ Frame Pacing จากหน้าต่างการตั้งค่าโปรแกรมเล่น ให้เปิดส่วนความละเอียดและการนำเสนอ แล้วยกเลิกการเลือกความเร็วในการกำหนดเฟรมที่เพิ่มประสิทธิภาพ
ตอนนี้คุณก็พร้อมสร้างแล้ว
- เปิดหน้าต่างการตั้งค่าบิลด์อีกครั้ง แล้วคลิกสร้างและเรียกใช้ เกมจะปรากฏในหน้าต่างโปรแกรมจำลอง
หากทำให้เกมใช้งานได้ไม่ได้ ให้ตรวจสอบว่า "อุปกรณ์ Google HPE (localhost:6520)" หรือไม่ ปรากฏขึ้นใน "Run Device" รายการ หากไม่มี ให้ตรวจสอบว่า HPE_Dev ทำงานอยู่และมองเห็นหน้าจอหลักของ Android หากยังไม่ปรากฏในรายการอุปกรณ์ ให้เรียกใช้ adb connect localhost:6520
ด้วย adb.exe
ที่คุณใช้อยู่ หากคุณใช้ปลั๊กอิน Android Logcat Unity ให้เลือกเครื่องมือ -> เปิดเทอร์มินัลเพื่อเปิดเทอร์มินัลไปยังไดเรกทอรีที่ adb.exe
Unity เดียวกันใช้อยู่
เปิดเทอร์มินัล" ไฮไลต์" style="width: 624.00px" src="img/9101ce3c95fb1aa2.png" 8 size="(max-width: 840px) 100vw, 856px">
7. ปรับเกมของคุณสำหรับ PC
เมื่อเป็นไปได้ ให้พยายามทำการเปลี่ยนแปลงเกมโดยอิงตามเมตริกที่เข้าใจได้โดยไม่จำเป็นต้องเข้าใจแพลตฟอร์ม หรือมีฟีเจอร์บางอย่างปรากฏอยู่ ตัวอย่างเช่น โปรแกรมเล่นใน Android สามารถต่อเมาส์และแป้นพิมพ์หรือต่อกับจอภาพได้ ดังนั้นการเปลี่ยนรูปแบบการควบคุมหรือองค์ประกอบ HUD ให้สอดคล้องกับการกำหนดค่าอุปกรณ์ช่วยให้คุณใช้ประโยชน์จาก Google Play Games บน PC ได้ในแพลตฟอร์มที่รองรับทั้งหมด
หากควรเปลี่ยนตรรกะโดยพิจารณาว่าผู้เล่นอยู่ใน Google Play Games หรือ ChromeOS หรือไม่ สคริปต์นี้จะช่วยให้คุณตรวจพบได้โดยการตรวจสอบฟีเจอร์ของระบบ HPE_EXPERIENCE
ดังนี้
using UnityEngine;
public class GoogleDeviceUtilities
{
#if UNITY_ANDROID && !UNITY_EDITOR
private static AndroidJavaObject PackageManager
{
get
{
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
return currentActivity.Call<AndroidJavaObject>("getPackageManager");
}
}
public static bool IsChromeOS => PackageManager.Call<bool>("hasSystemFeature", "org.chromium.arc");
public static bool IsGooglePlayGames =>
PackageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
public static bool HasKeyboard
{
get
{
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var resources = currentActivity.Call<AndroidJavaObject>("getResources");
var configuration = resources.Call<AndroidJavaObject>("getConfiguration");
var keyboard = configuration.Get<int>("keyboard");
return keyboard == 2; // Configuration.KEYBOARD_QWERTY
}
}
#else
public static bool IsChromeOS => false;
public static bool IsGooglePlayGames => false;
public static bool HasKeyboard => true;
#endif
}
พีซีมีจอแสดงผลขนาดใหญ่กว่าโทรศัพท์ Android ทั่วไป หากเป็นไปได้ เราขอแนะนำว่า HUD ใช้พื้นที่ไม่เกิน 20% ของหน้าจอ เนื่องจากเกมมือถือหลายเกมใช้ "ปรับขนาดด้วยขนาดหน้าจอ" และเปลี่ยนเป็น "ขนาดจริงคงที่" หรือ "ขนาดพิกเซลคงที่" ก็เป็นก้าวแรกที่ดีในการบรรลุเป้าหมายนี้
นอกจากนี้ คุณอาจต้องการตั้งค่าคุณภาพแบบไดนามิกโดยใช้คําสั่ง QualitySettings.SetQualityLevel
ระหว่างรันไทม์หากตรวจพบว่ากําลังทํางานใน Google Play Games โปรแกรมจำลอง Google Play Games ใช้ ANGLE เพื่อออกคำสั่ง DirectX หรือ Vulkan แบบดั้งเดิมจากการปล่อย OpenGL Unity ดังนั้นคุณมีแนวโน้มที่จะได้กราฟิกเสมือนจริงสูงกว่าที่มีในบิลด์เกมในอุปกรณ์เคลื่อนที่
8. การจัดการอินพุต
การจัดส่งเกมใน Google Play Games ควรสร้างขึ้นจากการป้อนข้อมูลด้วยเมาส์และแป้นพิมพ์ คุณจะต้องวางแผนเกี่ยวกับวิธีโต้ตอบกับเกมด้วยเมาส์และแป้นพิมพ์ ดังนั้นใช้เวลาตั้งแต่ตอนนี้เพื่อรับแพ็กเกจรวม Input SDK หากคุณไม่เห็นไฟล์ที่ดาวน์โหลดในหน้านั้น ให้ตรวจสอบว่าคุณได้ลงชื่อเข้าใช้ด้วยบัญชีในกลุ่ม play-mp-libs แล้ว
ในส่วนของการทดสอบ เกมหลายเกมจะสร้างการควบคุมด้วยเมาส์และแป้นพิมพ์ขั้นพื้นฐานสำหรับการพัฒนาในเครื่องมือแก้ไข คุณอาจต้องการเปิดใช้ฟีเจอร์เหล่านี้เมื่อเรียกใช้บนอุปกรณ์ ChromeOS หรือในโปรแกรมจําลอง Google Play Games
โดยค่าเริ่มต้น Google Play Games และ ChromeOS จะแปลงการป้อนข้อมูลด้วยเมาส์เป็นการแตะที่จำลองขึ้น หากคุณใช้ Input.GetTouch
และ Input.touchCount
เกมจะทำงานต่อไปตามที่คาดไว้ หากคุณใช้การป้อนข้อมูลด้วยมัลติทัช เช่น การควบคุมด้วยนิ้วมือแบบคู่หรือการบีบนิ้วเพื่อซูม คุณต้องแมปการทำงานกับการกดปุ่ม นอกจากนี้ คุณควรแมปการดำเนินการในเกมกับการกดแป้นด้วย เช่น การกด i เพื่อเปิดพื้นที่โฆษณา, Escape เพื่อปิดกล่องโต้ตอบ และ Enter เพื่อส่งข้อความในเกม
เกมแพลตฟอร์ม 2D แบบ 2D จะใช้ลูกศรเพื่อเคลื่อนที่และกระโดดโดยใช้ Space หากคุณใช้เกมของคุณเอง ให้ตรวจสอบว่าคุณได้เลือกแป้นลัดสำหรับขั้นตอนถัดไป
9. การผสานรวม SDK อินพุต
เมื่อตั้งค่าการควบคุมเมาส์และแป้นพิมพ์แล้ว คุณต้องเพิ่มการรองรับ Input SDK ซึ่งจะช่วยให้ผู้เล่นค้นพบอินพุตบน PC ของคุณด้วยป๊อปอัปที่แสนสะดวก ดังนี้
- หลังจากนำเข้า SDK ลงในโปรเจ็กต์แล้ว ให้สร้างไฟล์ชื่อ
InputMappingProviderBehaviour.cs
และเพิ่มเนื้อหาต่อไปนี้
using System.Collections.Generic; using Google.Play.InputMapping; using UnityEngine; using Input = Google.Play.InputMapping.Input; public class InputMappingProviderBehaviour : MonoBehaviour { private void Start() { Input.GetInputMappingClient().RegisterInputMappingProvider(new MyInputMappingProvider()); } private class MyInputMappingProvider : InputMappingProvider { public InputMap OnProvideInputMap() { return new InputMap { InputGroups = new List<InputGroup> { }, MouseSettings = new MouseSettings { InvertMouseMovement = false, AllowMouseSensitivityAdjustment = false } }; } } private enum ActionIds { } }
- กรอก
ActionIds
ด้วยรายการการกระทำที่คุณใช้ในเกม สำหรับ Microgame เกมแพลตฟอร์มแบบ 2 มิติ การทำงานคือ ซ้าย ขวา และกระโดด
private enum ActionIds { Left, Right, Jump }
- ใน
OnProvideInputMap
ให้สร้างInputAction
สำหรับการดำเนินการแต่ละรายการ สำหรับกรณีนี้ คุณจำเป็นต้องมีชื่อของการทำงาน อินพุต และปุ่มเมาส์หรือรหัสคีย์ที่จะเชื่อมโยงกับการทำงานดังกล่าว สำหรับเกมตัวอย่าง
var leftAction = new InputAction { ActionLabel = "Walk Left", UniqueId = (int)ActionIds.Left, InputControls = new InputControls { AndroidKeycodes = new[] { AndroidKeyCode.KEYCODE_DPAD_LEFT } } }; var rightAction = new InputAction { ActionLabel = "Walk Right", UniqueId = (int)ActionIds.Right, InputControls = new InputControls { AndroidKeycodes = new[] { AndroidKeyCode.KEYCODE_DPAD_RIGHT } } }; var jumpAction = new InputAction { ActionLabel = "Jump", UniqueId = (int)ActionIds.Jump, InputControls = new InputControls { AndroidKeycodes = new[] { AndroidKeyCode.KEYCODE_SPACE } } };
- ถัดไป ให้ใส่การดำเนินการป้อนข้อมูลเหล่านี้เป็นกลุ่ม
สำหรับเกมย่อยจะมีแค่กลุ่มเดียว แต่คุณสามารถสร้างกลุ่มได้มากเท่าที่ต้องการเพื่อช่วยให้ผู้เล่นค้นพบการดำเนินการที่ต้องการ เพิ่มใน OnProvideInputMap
:
var movementInputGroup = new InputGroup { GroupLabel = "Movement", InputActions = new List<InputAction> { leftAction, rightAction, jumpAction } };
- เพิ่มกลุ่มอินพุตทั้งหมดที่คุณสร้างขึ้นลงในแผนที่อินพุต แก้ไขข้อความการคืนสินค้าใน
OnProvideInputMap
ให้อ่านดังนี้
return new InputMap { InputGroups = new List<InputGroup> { movementInputGroup }, MouseSettings = new MouseSettings { InvertMouseMovement = false, AllowMouseSensitivityAdjustment = false } };
- สุดท้าย ให้เพิ่มสคริปต์ที่คุณสร้างไว้ลงในเกม โดยทำดังนี้
- เมื่อคุณทำให้เกมใช้งานได้อีกครั้ง ให้กด
Shift+Tab
เพื่อเปิดการวางซ้อนในเกม
- คลิกการควบคุมเพื่อดูการควบคุมที่คุณกำหนดค่าไว้
10. นำข้อมูลพร็อพเพอร์ตี้เว็บที่ฝังออก
คุณควรนำมุมมองเว็บแบบฝังออกเพื่อให้ผู้เล่นได้รับประสบการณ์ที่ยอดเยี่ยม การใช้มุมมองเว็บที่ฝังไว้ในการแสดงผลรายการต่างๆ เช่น นโยบายความเป็นส่วนตัวหรือข้อกำหนดในการให้บริการถือเป็นเรื่องปกติ แม้ว่าจะใช้ได้ใน Google Play Games แต่จะปรากฏใน "อุปกรณ์เคลื่อนที่" ที่ฝังอยู่ แทนที่จะเป็นเบราว์เซอร์บนเดสก์ท็อปที่ผู้เล่นต้องการ และอาจทำให้ผู้เล่น PC เกิดความสับสน ดังนั้นใน Unity หากคุณใช้ส่วนขยายเพื่อแสดงเบราว์เซอร์ที่ฝัง ให้กลับไปใช้ Application.OpenURL(url)
11. สิทธิ์และฟีเจอร์
มีฟีเจอร์และสิทธิ์ของ Android จำนวนหนึ่งที่ Google Play Games ไม่รองรับ หลักการทั่วไปคือบิลด์ PC ของคุณจะต้องไม่แสดงกล่องโต้ตอบการให้สิทธิ์ ข้อดีที่ต้องทำคือ เมื่อคุณมีบิลด์พร้อมแล้ว ดำเนินการติดตั้งใหม่ตามปกติและเขียนกล่องโต้ตอบที่คุณเห็นเพื่อเพิ่มลงใน "สิ่งที่ต้องทำ" สำหรับส่งเกมของคุณ
เกม Unity บางเกมขอสิทธิ์โดยใช้ Android.Permission API คุณควรรวมรายการเหล่านี้ไว้ในการตรวจสอบ if (GoogleDeviceUtilities.IsGooglePlayGames)
รายการและไปยังตรรกะแสดงความล้มเหลวโดยตรง (หากมี)
12. การเพิ่มประสิทธิภาพเดสก์ท็อป
Google Play Games มีความแตกต่างเล็กน้อยเมื่อเทียบกับโทรศัพท์ Android ทั่วไป และคุณอาจต้องการกำหนดค่าเกมให้สอดคล้องกัน
เปลี่ยนไปใช้ DXT เพื่อบีบอัดพื้นผิว รูปแบบพื้นผิว Android ทั่วไป เช่น ETC จะถอดรหัสในหน่วยความจำขณะรันไทม์หากส่งผ่านไปยัง GPU ของโปรแกรมเล่นโดยตรงไม่ได้ ASTC ให้ความเข้ากันได้กับเดสก์ท็อปที่ดีที่สุด แม้ว่าคุณจะต้องใช้เครื่องมือการทำโปรไฟล์ GPU บนเดสก์ท็อปเพื่อยืนยันลักษณะการทำงานที่คาดไว้สำหรับเกมของคุณ
เนื่องจากตอนนี้คุณกำลังทำงานบน GPU บนเดสก์ท็อป คุณอาจต้องเพิ่มคุณภาพกราฟิกของคุณด้วย คุณปรับเปลี่ยนได้โดยตรงในการตั้งค่าโครงการในส่วนคุณภาพ
13. ขอแสดงความยินดี
คุณมีทุกอย่างพร้อมแล้วสำหรับการเริ่มพัฒนาเกมสำหรับ Google Play Games คุณเริ่มทดสอบและทำซ้ำในเกมได้ อย่าลืมว่าแม้ว่าคุณจะสามารถเก็บฐานของโค้ดเดิมได้ แต่คุณก็ต้องปรับเปลี่ยนเกมของคุณให้ดูเหมือนกับเกม PC เดิมๆ
สิ่งที่ต้องทำต่อไป
ยังมีสิ่งที่ต้องทำอีกมากมายในการจัดส่งเกมใน Google Play Games ดังนี้
- ดูข้อมูลล่าสุดได้ที่การเริ่มต้นอย่างรวดเร็ว
- อัปเกรดเป็นการลงชื่อเข้าใช้บริการเกมของ Play เวอร์ชัน 2 เพื่อบันทึกผู้เล่นโดยอัตโนมัติเมื่อเปิดตัว และปฏิบัติตามข้อกำหนดด้านความต่อเนื่อง
- ใช้ Play Integrity API เพื่อประสบการณ์การใช้งานบน PC ของคุณจะปลอดภัยเท่ากับการใช้งานในอุปกรณ์เคลื่อนที่
สุดท้ายนี้ งานส่วนใหญ่ที่คุณทำมาจนถึงจุดนี้เพื่อสนับสนุน Google Play Games ยังช่วยให้คุณจัดจำหน่ายบน ChromeOS ด้วย และคุณควรพิจารณารองรับแพลตฟอร์มดังกล่าวควบคู่กับ PC