Google Play Games บน PC กำหนดให้คุณต้องทำการเปลี่ยนแปลงความเข้ากันได้และการเพิ่มประสิทธิภาพสำหรับ PC ในเกม การเปลี่ยนแปลงเหล่านี้จะช่วยให้มั่นใจได้ว่าเกมของคุณจะทำงานบน PC ได้และประสบการณ์ของผู้ใช้ได้รับการเพิ่มประสิทธิภาพสำหรับแพลตฟอร์ม
นอกจากนี้ Google Play Games บน PC ยังมีข้อกำหนดด้านกราฟิก อินพุตของอุปกรณ์ และการเล่นข้ามอุปกรณ์ด้วย ดูข้อมูลเพิ่มเติมได้ในคู่มือเริ่มต้นใช้งาน
เมื่อทำการเปลี่ยนแปลงความเข้ากันได้และการเพิ่มประสิทธิภาพสำหรับ PC (นอกเหนือจากการรองรับ x86-64 ) คุณสามารถตั้งค่าเกมให้ตรวจหา Google Play Games บน PC แล้วปิดหรือเปิดใช้ฟีเจอร์เฉพาะแพลตฟอร์มได้ ซึ่งจะช่วยให้คุณใช้ APK หรือ App Bundle เดียวกัน สำหรับการเปิดตัวบน Android Mobile และ PC ได้
ต่อไปนี้เป็นข้อมูลสรุปข้อกำหนดและคำแนะนำในหน้านี้
- รวม ABI ของ x86-64 (ต้องระบุ)
- ตรวจหา Google Play Games ที่รันไทม์ (แนะนำ)
- จัดการเหตุการณ์ onPause (แนะนํา)
- อัปเดตองค์ประกอบ UI (ต้องระบุ)
- ปิดใช้กล่องโต้ตอบสิทธิ์ของแอป Android (ต้องระบุ)
- ปิดใช้ฟีเจอร์และสิทธิ์ของ Android ที่ไม่รองรับ (ต้องดำเนินการ)
- แทนที่ WebView ด้วย Intent ของเบราว์เซอร์ (แนะนำ)
- ปิดใช้ API ของบริการ Google Play ที่ไม่รองรับ (ต้องดำเนินการ)
- เปิดใช้พื้นที่เก็บข้อมูลที่จำกัดขอบเขต (ต้องระบุ)
- ย้ายข้อมูลไปยัง 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 และเวอร์ชันก่อนหน้า: ไปที่การตั้งค่าเพลเยอร์ > การตั้งค่าอื่นๆ > สถาปัตยกรรมเป้าหมาย แล้วเลือกช่องทำเครื่องหมาย x86 เนื่องจาก Unity 2018 รองรับเฉพาะเป้าหมาย x86 คุณจึงจะสร้าง x86-64 ไม่ได้ บิลด์นี้จะต้องมีข้อยกเว้นจากทีมตรวจสอบ โปรดติดต่อตัวแทนของ Google เพื่อขอยกเว้น x86
Unity 2019 Long Term Support (LTS) ขึ้นไป: ไปที่ Player Settings > Other Settings > Target Architectures แล้วเปิดใช้ 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.wifiandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.location
ฟีเจอร์บางอย่างเหล่านี้อาจแสดงว่ารองรับเมื่อเรียกใช้ pm list features ด้วยเหตุผลด้านความเข้ากันได้ แต่ยังไม่ได้ใช้งานอย่างเต็มรูปแบบ ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีนำฟีเจอร์ android.hardware.wifi ออกได้ที่ตรวจสอบสถานะการเชื่อมต่อและการวัดการเชื่อมต่อ ดูรายการฟีเจอร์ที่ไม่รองรับทั้งหมดได้ที่คู่มือความเข้ากันได้ของไฟล์ Manifest ของแอป
สำหรับ Chromebook
ข้อกำหนดในการทดสอบคุณภาพ
ฟีเจอร์ฮาร์ดแวร์ที่ใช้กันโดยทั่วไปเหล่านี้ใช้ร่วมกันไม่ได้กับ PC ดังนั้นคุณต้อง นำออกก่อนส่งครั้งสุดท้ายไปยัง Google Play Console
android.hardware.audio.proandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.consumerirandroid.hardware.locationandroid.hardware.nfcandroid.hardware.sensor.lightandroid.hardware.sensor.accelerometerandroid.hardware.sensor.barometerandroid.hardware.sensor.compassandroid.hardware.sensor.gyroscopeandroid.hardware.sensor.proximityandroid.hardware.telephonyandroid.hardware.touchscreenandroid.hardware.usb.accessoryandroid.hardware.usb.hostandroid.hardware.wifiandroid.software.midi
สิทธิ์ที่ไม่รองรับ
สิทธิ์ที่ใช้กันโดยทั่วไปต่อไปนี้ไม่รองรับใน PC ดังนั้นเกมของคุณ ต้องปิดใช้สิทธิ์เหล่านี้สำหรับ Google Play Games บน PC
android.permission.ACCESS_COARSE_LOCATIONandroid.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_WIFI_STATEandroid.permission.BLUETOOTHandroid.permission.CAMERAandroid.permission.FOREGROUND_SERVICEandroid.permission.GET_ACCOUNTSandroid.permission.INSTALL_PACKAGESandroid.permission.READ_CONTACTSandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.READ_PHONE_STATEandroid.permission.RECEIVE_BOOT_COMPLETEDandroid.permission.REQUEST_INSTALL_PACKAGESandroid.permission.SYSTEM_ALERT_WINDOWandroid.permission.USE_CREDENTIALSandroid.permission.WRITE_EXTERNAL_STORAGEandroid.permission.WRITE_SETTINGScom.google.android.gms.permission.ACTIVITY_RECOGNITION
เว็บไซต์และ WebView ภายนอก
Intent ของเบราว์เซอร์ จะโหลดในเว็บเบราว์เซอร์ดั้งเดิมของ PC แทนที่จะโหลดใน สภาพแวดล้อมของ Google Play Games บน PC ซึ่งเป็นประสบการณ์ที่เหมาะสำหรับผู้เล่นใน สถานการณ์ส่วนใหญ่
Google Play Games บน PC รองรับ WebView เพื่อให้การพอร์ตง่ายขึ้น
เนื่องจาก
เกมนี้เปิดในสภาพแวดล้อมของ Google Play Games บน PC จึงไม่มี
เบราว์เซอร์เดสก์ท็อปทั่วไป หากก่อนหน้านี้คุณใช้ WebView เพื่อแชร์ข้อกำหนดในการให้บริการ นโยบายความเป็นส่วนตัว หรือเนื้อหาอื่นๆ ที่คล้ายกัน คุณควรเรียกใช้ Intent ของเบราว์เซอร์แทน
ปิดใช้ Google Play Service API ที่ไม่รองรับ
ต้องระบุตามกระบวนการเผยแพร่
Google Play Games บน PC จะจัดส่ง Google Play Services เวอร์ชันของตัวเองซึ่ง มีเฉพาะชุด API ของ Google Play Services บางส่วนเท่านั้น คุณต้องยืนยัน ว่าแอปพลิเคชันของคุณไม่ได้ขึ้นอยู่กับโมดูลที่ถูกละเว้นหรือ ไม่รองรับใน PC โปรดทราบว่าโมดูลบางอย่างอาจพร้อมใช้งาน แต่ฟังก์ชันการทำงานของโมดูลเหล่านั้นอาจไม่รองรับตลอดเวลา เช่น Firebase Cloud Messaging จะไม่ทำงานเมื่อปิด Google Play Games บน PC
โมดูลที่รองรับ
ปัจจุบันโมดูลเหล่านี้พร้อมใช้งานและรองรับโดย Google Play Games บน PC โดยมีแผนที่จะรองรับฟีเจอร์เพิ่มเติมดังนี้
- การลงชื่อเข้าใช้ด้วย Google (ไม่รวมการโอนบัญชี, SmartLock, การยืนยันทาง SMS, การคำนวณความซับซ้อนของรหัสผ่าน)
- Cronet
- บริการเกมของ Google Play
- Tasks
- การมองเห็น
- Google Pay
รองรับแบบจำกัด
โมดูลต่อไปนี้ใช้งานได้บางส่วน เราจะพยายามอย่างเต็มที่เพื่อรองรับ เกมเหล่านี้ใน Google Play Games บน PC แต่ไม่สามารถรับประกันฟังก์ชันการทำงานของเกมได้
- การรับส่งข้อความในระบบคลาวด์ของ Google (เลิกใช้งานแล้ว ให้ใช้ 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_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE
ดูข้อมูลเพิ่มเติมเกี่ยวกับพื้นที่เก็บข้อมูลที่จำกัดขอบเขตได้ที่
ข้อมูลวิเคราะห์
ผลิตภัณฑ์ Google Analytics รุ่นเดิมจะใช้งานใน Google Play Games บน PC ไม่ได้ หาก เกมของคุณเป็นไปตามข้อกำหนดนี้ คุณควรย้ายข้อมูลไปยัง Google Analytics 4
การเปลี่ยนแปลงนี้จะส่งผลต่อเกมของคุณก็ต่อเมื่อคุณใช้ Google Analytics 360 อยู่ในปัจจุบัน หากคุณใช้ Firebase SDK เพื่อติดตามเหตุการณ์วิเคราะห์ในเกมและเห็นเกมเป็นพร็อพเพอร์ตี้ในคอนโซล Google Analytics คุณก็ไม่ต้องดำเนินการใดๆ เพิ่มเติม