ความเข้ากันได้กับ PC และการเพิ่มประสิทธิภาพสำหรับ Google Play Games บน PC

Google Play Games บน PC กำหนดให้คุณต้องทําการเปลี่ยนแปลงเกมเพื่อให้เข้ากันได้กับ PC และเพิ่มประสิทธิภาพ การเปลี่ยนแปลงเหล่านี้จะช่วยให้เกมของคุณทำงานบน PC ได้และเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้สำหรับแพลตฟอร์ม

นอกจากนี้ Google Play Games บน PC ยังมีข้อกำหนดด้านกราฟิก อินพุตของอุปกรณ์ และการเล่นเกมข้ามอุปกรณ์ ดูข้อมูลเพิ่มเติมได้ที่คู่มือเริ่มต้นใช้งาน

เมื่อทำการเปลี่ยนแปลงความเข้ากันได้กับ PC และการเพิ่มประสิทธิภาพ (นอกเหนือจากการรองรับ x86-64) คุณสามารถตั้งค่าเกมให้ตรวจหา Google Play Games บน PC แล้วปิดหรือเปิดใช้ฟีเจอร์เฉพาะแพลตฟอร์มได้ ซึ่งจะช่วยให้คุณใช้ APK หรือ App Bundle เดียวกันสำหรับรุ่นอุปกรณ์เคลื่อนที่และ PC ของ Android ได้

ข้อมูลสรุปเกี่ยวกับข้อกำหนดและคำแนะนำในหน้านี้มีดังนี้

รวมสถาปัตยกรรม ABI ของ x86-64

ต้องระบุตามกระบวนการเผยแพร่

ไลบรารีทั้งหมดที่รวมอยู่ในเกมต้องใช้เวอร์ชันที่เข้ากันได้กับ x86-64 ABI เพื่อประสิทธิภาพและความเสถียรที่ดีที่สุดบนแพลตฟอร์ม

หากเกมของคุณไม่สามารถจัดส่งไฟล์ปฏิบัติการ x86 64 บิตได้เนื่องจากข้อจำกัดทางเทคนิค คุณต้องติดต่อทีมตรวจสอบเพื่อขอรับข้อยกเว้น เกมของคุณไม่สามารถได้รับการรับรองอย่างเต็มรูปแบบโดยมีข้อยกเว้น แต่สามารถอยู่ในแคตตาล็อกเป็นเกมที่ "เล่นได้"

คอลเล็กชันในคลัง

อย่าใช้ชุดคำสั่ง Atom เมื่อคอมไพล์ไลบรารีเพื่อให้มั่นใจว่าโปรเซสเซอร์ x86-64 จะใช้งานร่วมกันได้มากที่สุด เช่น เมื่อใช้ gcc ให้หลีกเลี่ยงการใช้ -march=atom และใช้ -march=x86-64 แทน

สถาปัตยกรรมเป้าหมายใน Unity

Unity 2019 และ 2020 บางเวอร์ชันไม่รองรับสถาปัตยกรรม x86-64 ใน Android ตรวจสอบว่าคุณใช้ Unity 2019.4.31f1, 2020.3.19f1 ขึ้นไป

หากเกมของคุณใช้เครื่องมือเกม Unity เวอร์ชันที่เข้ากันได้ ให้ทําดังนี้เพื่อเปิดใช้เป้าหมาย Android x86-64

  1. ไปที่การตั้งค่าผู้เล่น > การตั้งค่าอื่นๆ > การกําหนดค่า > แบ็กเอนด์การเขียนสคริปต์ แล้วเลือก IL2CPP จากเมนูแบบเลื่อนลงเพื่อเปิดใช้แบ็กเอนด์การเขียนสคริปต์ IL2CPP

  2. เปิดใช้เป้าหมาย Android x86-64 สำหรับ Unity เวอร์ชันของคุณโดยทำดังนี้

    • Unity 2018 และเวอร์ชันก่อนหน้า: ไปที่การตั้งค่า Player > การตั้งค่าอื่นๆ > สถาปัตยกรรมเป้าหมาย แล้วเลือกช่องทําเครื่องหมาย x86 เนื่องจาก Unity 2018 รองรับเฉพาะเป้าหมาย x86 คุณจะสร้าง x86-64 ไม่ได้ บิลด์นี้จะต้องได้รับข้อยกเว้นจากทีมตรวจสอบ โปรดติดต่อตัวแทนของ Google เพื่อขอข้อยกเว้นสำหรับ x86

    • รุ่น 2019 ของ Unity เวอร์ชัน LTS ขึ้นไป: ไปที่การตั้งค่า Player > การตั้งค่าอื่นๆ > สถาปัตยกรรมเป้าหมาย และเปิดใช้ x86-64 (ChromeOS)

ตรวจหา Google Play Games บน PC

คุณสามารถตรวจหาแพลตฟอร์ม Google Play Games บน PC ขณะรันไทม์ ซึ่งจะช่วยให้คุณเปิดหรือปิดใช้ฟีเจอร์เฉพาะแพลตฟอร์มในเกมได้

ตรวจสอบฟีเจอร์ของระบบ com.google.android.play.feature.HPE_EXPERIENCE เพื่อดูว่าเกมของคุณทำงานบนแพลตฟอร์ม Google Play Games บน PC หรือไม่

Kotlin

    var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

Java

    PackageManager pm = getPackageManager();
    boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

C#

var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
  

จัดการเหตุการณ์ในวงจรของ Android

คุณต้องจัดการเหตุการณ์ onPause (c++) ในสภาพแวดล้อม Google Play Games บน PC เกมจะปรากฏขึ้นเมื่อผู้เล่นเปิดใช้งานการวางซ้อนโปรแกรมจำลอง ดังนั้นการไม่ฟังเหตุการณ์ onPause อาจทำให้ผู้ใช้ได้รับประสบการณ์ที่ไม่ดี

อัปเดต UI

องค์ประกอบ UI และท่าทางสัมผัสบางอย่างไม่เหมาะกับ PC และควรได้รับการอัปเดต

ต้องดำเนินการ

  • แทนที่การดําเนินการ UI ที่ต้องใช้นิ้วอย่างน้อย 2 นิ้ว (ท่าทางสัมผัสแบบหลายจุด) เช่น คุณควรแทนที่การบีบนิ้วเพื่อซูมและท่าทางสัมผัสแบบหลายจุดอื่นๆ ด้วยการใช้เมาส์และแป้นพิมพ์ โปรดดูรายละเอียดเกี่ยวกับการเปลี่ยนแปลงอินพุตของอุปกรณ์ที่หัวข้อการรองรับอินพุต

แนะนำ

  • ข้อความที่ผู้ใช้มองเห็นทั้งหมดควรใช้คำว่า "คลิก" แทน "แตะ"
  • รายการที่เลื่อนได้ควรมีแถบเลื่อน
  • พื้นที่ที่ผู้ใช้สามารถเลื่อนควรมีแถบเลื่อนหรือวิธีอื่นๆ ในการเลื่อนไปยังส่วนต่างๆ ได้อย่างรวดเร็ว
  • ไม่แสดงแป้นพิมพ์ที่คลิกได้บนหน้าจอสำหรับการป้อนข้อความ
  • ข้อความทั้งหมดควรอยู่ภายในขอบเขตของช่องข้อความ
  • การคลิกองค์ประกอบที่มองเห็นได้ควรมีลักษณะดังนี้
    • ยอมรับการคลิกที่ใดก็ได้ภายในขอบเขตที่มองเห็นได้ขององค์ประกอบ
    • ไม่ยอมรับการคลิกในพื้นที่นอกองค์ประกอบที่มองเห็นได้
  • กล่องโต้ตอบควรมีปุ่มปิดที่มองเห็นได้ ไม่ตรวจหาการคลิกนอกขอบเขตของกล่องโต้ตอบ

ปิดใช้กล่องโต้ตอบสิทธิ์ส่วนใหญ่

Google Play Games บน PC จะไม่แสดงกล่องโต้ตอบสิทธิ์ ยกเว้นสิทธิ์เข้าถึงไมโครโฟนและสิทธิ์การแจ้งเตือน คุณจึงไม่ควรพยายามแสดงกล่องโต้ตอบดังกล่าวหรือขอสิทธิ์ในรันไทม์ หากคุณแสดงกล่องโต้ตอบสิทธิ์ก่อนหน้านี้ คุณควรอัปเดตเกมเพื่อไม่ให้แสดงกล่องโต้ตอบดังกล่าวใน PC อีกต่อไป

ฟีเจอร์และสิทธิ์ของ Android ที่ไม่รองรับ

ต้องระบุตามกระบวนการเผยแพร่

ฟีเจอร์ฮาร์ดแวร์ทั่วไปบางอย่างในโทรศัพท์มือถือและแท็บเล็ตจะใช้ใน PC ไม่ได้ ซึ่งรวมถึงฟีเจอร์ฮาร์ดแวร์ เช่น กล้องหรือตำแหน่งของผู้เล่น เกมที่ต้องใช้ฟีเจอร์ที่ขาดหายไปจะไม่สามารถดาวน์โหลดและติดตั้งใน PC ของผู้เล่นได้ คำขอฟีเจอร์ที่ขาดหายไปใน PC จะดำเนินการไม่สำเร็จโดยอัตโนมัติ

คุณดูรายการฟีเจอร์ทั้งหมดที่มีได้โดยพิมพ์คำสั่งต่อไปนี้

adb shell pm list features

คุณต้องทําการเปลี่ยนแปลงต่อไปนี้เพื่อให้เกมของคุณเข้ากันได้กับ PC

  • ทำเครื่องหมายฟีเจอร์เป็น "ไม่บังคับ" ในไฟล์ Manifest ของแอปโดยเพิ่ม android:required="false" ลงในประกาศ <uses-feature> การดำเนินการนี้จะมีผลกับฟีเจอร์ที่ประกาศไว้ในไฟล์ Manifest ของแอปเท่านั้น

  • อย่าพยายามใช้ฟีเจอร์ที่ขาดหายไปในรันไทม์ หากคุณใช้ APK เดียวกันทั้งในแทร็กอุปกรณ์เคลื่อนที่และแทร็ก PC ให้ตรวจหาสภาพแวดล้อม PC ที่รันไทม์และหลีกเลี่ยงเส้นทางโค้ดที่เกี่ยวข้อง

  • อย่าขอสิทธิ์ Android ที่ไม่รองรับขณะรันไทม์ หากคุณใช้ APK เดียวกันทั้งในแทร็กอุปกรณ์เคลื่อนที่และ PC ให้ตรวจหาสภาพแวดล้อม PC ที่รันไทม์และหลีกเลี่ยงเส้นทางโค้ดที่เกี่ยวข้อง คุณไม่จำเป็นต้องอัปเดตไฟล์ Manifest

ดูข้อมูลเพิ่มเติมเกี่ยวกับความเข้ากันได้ของไฟล์ Manifest ของแอปได้ที่คู่มือความเข้ากันได้ของไฟล์ Manifest ของแอป Chromebook

ข้อกำหนดการทดสอบฟังก์ชันการทำงาน

นำฟีเจอร์ฮาร์ดแวร์เหล่านี้ออกก่อนส่งบิลด์ทดสอบแรกไปยัง Google Play Console

  • android.hardware.wifi
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.location

ฟีเจอร์บางอย่างเหล่านี้อาจแสดงว่ารองรับเมื่อเรียกใช้ pm list features เพื่อเหตุผลด้านความเข้ากันได้ แต่ไม่ได้ติดตั้งใช้งานอย่างเต็มรูปแบบ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีนำฟีเจอร์ android.hardware.wifi ออกได้ที่ตรวจสอบสถานะการเชื่อมต่อและการวัดการเชื่อมต่อ ดูรายการฟีเจอร์ทั้งหมดที่ไม่รองรับได้ที่คู่มือความเข้ากันได้ของไฟล์ Manifest ของแอปสำหรับ Chromebook

ข้อกำหนดในการทดสอบคุณภาพ

ฟีเจอร์ฮาร์ดแวร์ที่ใช้กันโดยทั่วไปเหล่านี้ใช้ร่วมกับ PC ไม่ได้ คุณจึงต้องนำฟีเจอร์เหล่านี้ออกก่อนส่งข้อมูลครั้งสุดท้ายไปยัง Google Play Console

  • android.hardware.audio.pro
  • android.hardware.bluetooth
  • android.hardware.camera
  • android.hardware.consumerir
  • android.hardware.location
  • android.hardware.nfc
  • android.hardware.sensor.light
  • android.hardware.sensor.accelerometer
  • android.hardware.sensor.barometer
  • android.hardware.sensor.compass
  • android.hardware.sensor.gyroscope
  • android.hardware.sensor.proximity
  • android.hardware.telephony
  • android.hardware.touchscreen
  • android.hardware.usb.accessory
  • android.hardware.usb.host
  • android.hardware.wifi
  • android.software.midi

สิทธิ์ที่ไม่รองรับ

สิทธิ์ที่ใช้กันโดยทั่วไปต่อไปนี้ไม่รองรับใน PC ดังนั้นเกมของคุณจึงต้องปิดใช้สิทธิ์ดังกล่าวสำหรับ Google Play Games บน PC

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.BLUETOOTH
  • android.permission.CAMERA
  • android.permission.FOREGROUND_SERVICE
  • android.permission.GET_ACCOUNTS
  • android.permission.INSTALL_PACKAGES
  • android.permission.READ_CONTACTS
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.USE_CREDENTIALS
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.WRITE_SETTINGS
  • com.google.android.gms.permission.ACTIVITY_RECOGNITION

เว็บไซต์ภายนอกและ WebView

Intent ของเบราว์เซอร์จะโหลดในเว็บเบราว์เซอร์เริ่มต้นของ PC แทนที่จะโหลดในสภาพแวดล้อมของ Google Play Games บน PC นี่เป็นประสบการณ์ที่เหมาะสำหรับผู้เล่นในสถานการณ์ส่วนใหญ่

Google Play Games บน PC รองรับ WebView เพื่อให้พอร์ตได้ง่ายขึ้น เนื่องจากจะเปิดในสภาพแวดล้อม Google Play Games บน PC จึงจะไม่มีเบราว์เซอร์เดสก์ท็อปทั่วไป หากก่อนหน้านี้คุณใช้ WebView เพื่อแชร์ข้อกำหนดในการให้บริการ นโยบายความเป็นส่วนตัว หรือเนื้อหาอื่นๆ ที่คล้ายกัน คุณควรเรียกใช้ Intent ของเบราว์เซอร์แทน

ปิดใช้ API บริการ Google Play ที่ระบบไม่รองรับ

ต้องระบุตามกระบวนการเผยแพร่

Google Play Games on PC จะมาพร้อมกับตัวแปร Google Play Services ของตัวเองซึ่งมีเพียง API ของ Google Play Services บางส่วนเท่านั้น คุณต้องยืนยันว่าแอปพลิเคชันของคุณไม่ได้ใช้โมดูลที่ละเว้นหรือระบบไม่รองรับใน PC โปรดทราบว่าโมดูลบางอย่างอาจพร้อมใช้งาน แต่ระบบอาจไม่รองรับฟังก์ชันการทำงานในบางกรณี ตัวอย่างเช่น Firebase Cloud Messaging จะไม่ทำงานเมื่อ Google Play Games บน PC ปิดอยู่

โมดูลที่รองรับ

ปัจจุบัน Google Play Games บน PC รองรับและให้บริการโมดูลต่อไปนี้ โดยมีแผนที่จะรองรับฟีเจอร์เพิ่มเติม

รองรับแบบจำกัด

โมดูลต่อไปนี้ทํางานได้บางส่วน เราจะพยายามอย่างเต็มที่เพื่อรองรับเกมเหล่านี้ใน Google Play Games บน PC แต่ไม่สามารถรับประกันฟังก์ชันการทำงานของเกมได้

ไม่รองรับ

Google Play Games บน PC ไม่รองรับข้อบังคับเหล่านี้ แต่จะไม่ก่อให้เกิดปัญหาใน Google Play Games บน PC เมื่อข้อบังคับไม่ผ่าน

เสียหาย

ต้องระบุตามกระบวนการเผยแพร่

คุณต้องใช้ข้อบังคับเหล่านี้ใน PC ไม่ได้เนื่องจากอาจทำให้เกิดลักษณะการทำงานที่ไม่คาดคิดใน Google Play Games บน PC

เปิดใช้พื้นที่เก็บข้อมูลแบบจำกัดขอบเขต

ต้องระบุตามกระบวนการเผยแพร่

ส่วนนี้จะมีผลหากเกมอ่านหรือเขียนไปยังที่จัดเก็บข้อมูลภายนอก จำเป็นต้องใช้การบังคับใช้พื้นที่เก็บข้อมูลระดับขอบเขตเป็นวิธีอื่นในการอ่านและเขียนไปยังพื้นที่เก็บข้อมูล ซึ่งจะช่วยลดความจำเป็นในการแจ้งให้ผู้เล่นขอสิทธิ์ที่มีความละเอียดอ่อนต่อไปนี้

  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.WRITE_EXTERNAL_STORAGE

ดูข้อมูลเพิ่มเติมเกี่ยวกับพื้นที่เก็บข้อมูลแบบจำกัดได้ที่

ข้อมูลวิเคราะห์

ผลิตภัณฑ์ Google Analytics รุ่นเดิมไม่ทำงานใน Google Play Games บน PC หากกรณีนี้เกิดขึ้นกับเกมของคุณ คุณควรย้ายข้อมูลไปยัง Google Analytics 4

การดำเนินการนี้ควรส่งผลต่อเกมของคุณเฉพาะในกรณีที่คุณใช้ Google Analytics 360 อยู่ หากคุณใช้ Firebase SDK เพื่อติดตามเหตุการณ์การวิเคราะห์ในเกมและเห็นเกมเป็นพร็อพเพอร์ตี้ในคอนโซล Google Analytics ก็ไม่จำเป็นต้องดําเนินการใดๆ เพิ่มเติม