ความเข้ากันได้กับ 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 เดียวกันได้ สำหรับอุปกรณ์เคลื่อนที่ Android และ PC รุ่นต่างๆ

ต่อไปนี้คือสรุปข้อกำหนดและคำแนะนำในหน้านี้

รวมสถาปัตยกรรม ABI แบบ x86-64

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

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

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

วิดีโอรวมคลิปจากห้องสมุด

อย่าใช้อะตอมเพื่อความเข้ากันได้ของโปรเซสเซอร์ 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 และรุ่นก่อนหน้า: ไปที่การตั้งค่าโปรแกรมเล่น > การตั้งค่าอื่นๆ > Target Architecture แล้วเลือกช่องทำเครื่องหมาย x86 เนื่องจาก Unity 2018 รองรับเฉพาะเป้าหมาย x86 คุณจะไม่สามารถสร้าง x86-64 ได้ บิลด์นี้จะต้องมีข้อยกเว้นจากทีมตรวจสอบ โปรดติดต่อผู้ติดต่อของ Google เพื่อขอการยกเว้น x86

    • การสนับสนุนระยะยาว (LTS) ของ Unity 2019 ขึ้นไป: ไปที่โปรแกรมเล่น การตั้งค่า > การตั้งค่าอื่นๆ > สถาปัตยกรรมเป้าหมาย และเปิดใช้ 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 เดียวกันทั้งในแทร็กบนอุปกรณ์เคลื่อนที่และพีซีตรวจหาสภาพแวดล้อมของพีซีที่ รันไทม์และหลีกเลี่ยง เส้นทางโค้ดได้

  • อย่าขอสิทธิ์ Android ที่ไม่รองรับในระหว่างรันไทม์ หากคุณกำลังใช้ APK เดียวกันทั้งในแทร็กบนอุปกรณ์เคลื่อนที่และพีซีตรวจหาสภาพแวดล้อมของพีซีที่ รันไทม์และหลีกเลี่ยง เส้นทางโค้ดได้ คุณไม่จำเป็นต้องอัปเดตไฟล์ 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 บน PC จะส่งเวอร์ชันบริการ Google Play ของตัวเองซึ่ง มี API บริการ Google Play เพียงบางส่วน คุณต้องยืนยัน แอปพลิเคชันของคุณไม่จำเป็นต้องใช้โมดูลที่ละเว้น หรือ ไม่รองรับบน PC พิจารณาว่าบางโมดูลอาจมีอยู่ แต่ ฟังก์ชันการทำงานไม่ได้รับการสนับสนุนตลอดเวลา เช่น Firebase Cloud การรับส่งข้อความจะไม่ทำงานเมื่อปิด 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 เพื่อ ติดตามเหตุการณ์ Analytics ในเกมของคุณ และสามารถดูเกมของคุณในฐานะพร็อพเพอร์ตี้ใน คอนโซล Google Analytics คุณไม่จำเป็นต้องมี เพื่อดำเนินการต่อ