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 (ต้องระบุ)
- ตรวจหา Google Play Games ขณะรันไทม์ (แนะนำ)
- จัดการเหตุการณ์ onPause (แนะนำ)
- อัปเดตองค์ประกอบ UI (ต้องระบุ)
- ปิดใช้กล่องโต้ตอบสิทธิ์ของแอป Android (ต้องระบุ)
- ปิดใช้ฟีเจอร์และสิทธิ์ที่ไม่รองรับของ Android (ต้องระบุ)
- แทนที่ WebView ด้วย Intent ของเบราว์เซอร์ (แนะนำ)
- ปิดใช้ Google Play Service API ที่ไม่รองรับ (ต้องระบุ)
- เปิดใช้พื้นที่เก็บข้อมูลแบบจำกัด (ต้องระบุ)
- ย้ายข้อมูลไปยัง Google Analytics 4 (แนะนํา)
รวมสถาปัตยกรรม 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
ไปที่การตั้งค่าผู้เล่น > การตั้งค่าอื่นๆ > การกําหนดค่า > แบ็กเอนด์การเขียนสคริปต์ แล้วเลือก IL2CPP จากเมนูแบบเลื่อนลงเพื่อเปิดใช้แบ็กเอนด์การเขียนสคริปต์ IL2CPP
เปิดใช้เป้าหมาย 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 Sign-In (ไม่รวมการโอนบัญชี, SmartLock, การยืนยันทาง SMS, การคํานวณความซับซ้อนของรหัสผ่าน)
- Cronet
- บริการ Google Play Games
- Tasks
- วิสัยทัศน์
- Google Pay
รองรับแบบจำกัด
โมดูลต่อไปนี้ทํางานได้บางส่วน เราจะพยายามอย่างเต็มที่เพื่อรองรับเกมเหล่านี้ใน Google Play Games บน PC แต่ไม่สามารถรับประกันฟังก์ชันการทำงานของเกมได้
- Google Cloud Messaging (เลิกใช้งานแล้ว ให้ใช้ Firebase Cloud Messaging)
- การตรวจสอบสิทธิ์ Firebase (การตรวจสอบสิทธิ์ด้วยหมายเลขโทรศัพท์ใช้งานไม่ได้)
- Firebase Cloud Messaging
- คลังแบบทั่วไปของ Firebase
- Firebase ML
- การกําหนดค่าระยะไกลของ Firebase
- Firebase Analytics
ไม่รองรับ
Google Play Games บน PC ไม่รองรับข้อบังคับเหล่านี้ แต่จะไม่ก่อให้เกิดปัญหาใน Google Play Games บน PC เมื่อข้อบังคับไม่ผ่าน
- Google Analytics (เลิกใช้งานแล้ว ให้ใช้ Firebase Analytics)
- Google Cast
- Awareness API
- ไดรฟ์ (เลิกใช้งานแล้วและจะนำออกในเร็วๆ นี้)
- FIDO
- ฐานข้อมูลเรียลไทม์ของ Firebase
- Firestore
- Firebase A/B Testing
- Google Fit
- Address API
- Instant Apps API
- Location API
- Google Maps SDK
- ใกล้เคียง
- พาโนรามา
- สถานที่
- Google+
- SafetyNet (เลิกใช้งานแล้ว โปรดกรอกแบบฟอร์มแสดงความสนใจเพื่อเลือกใช้ Play Integrity API ที่กำลังจะเปิดตัว)
- Google Tag Manager
- Wear OS
เสียหาย
ต้องระบุตามกระบวนการเผยแพร่
คุณต้องใช้ข้อบังคับเหล่านี้ใน 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 ก็ไม่จำเป็นต้องดําเนินการใดๆ เพิ่มเติม