แท็บเล็ต, อุปกรณ์พับได้, Android Auto, รถยนต์ที่ใช้ Android Automotive OS, อุปกรณ์ ChromeOS และ PC มีข้อกำหนดด้านคุณภาพพื้นฐานต่อไปนี้
| ข้อกำหนด | แท็บเล็ต อุปกรณ์แบบพับได้ | Android Auto | Android Automotive OS | ChromeOS | Google Play Games บน PC |
|---|---|---|---|---|---|
| x86-64 | ไม่จำเป็น | ไม่จำเป็น | แนะนำ | แนะนำ | ต้องระบุ |
| รองรับการปรับขนาด ขนาดหน้าต่าง และสัดส่วนภาพที่แตกต่างกัน | แนะนำให้รองรับการปรับขนาด | ต้องระบุ | ต้องรองรับแนวตั้งและแนวนอน | แนะนำให้รองรับการปรับขนาด | รองรับสัดส่วนภาพต่อไปนี้ทั้งหมดหรือบางส่วน: 16:9, 16:10, 3:2, 21:9 หรือสัดส่วนภาพแนวตั้ง 9:16 |
| รักษาสถานะเกมโดยไม่ต้องรีสตาร์ทเมื่อมีการเปลี่ยนแปลงการกำหนดค่า (เช่น ปรับขนาด หมุน หรือพับหรือกาง) | จำเป็น แนะนำให้รองรับท่าทางพับ |
ต้องระบุ | ต้องระบุ | ต้องดำเนินการ: ปรับขนาด หมุน เปลี่ยนแป้นพิมพ์ | ไม่มี |
| นำฟีเจอร์และสิทธิ์ที่ไม่รองรับออก | แนะนํา โดยเฉพาะอย่างยิ่ง หากต้องการเข้าถึงอุปกรณ์แท็บเล็ตให้ได้มากที่สุด คุณไม่จําเป็นต้องระบุสิ่งต่อไปนี้
|
ไม่มี | ต้องระบุ | ต้องระบุ | ต้องระบุ |
| การควบคุม ภาพ และประสิทธิภาพของเกมต้องไม่ลดทอนความสามารถในการเล่น (เช่น ไม่เบลอหรืออ่านไม่ได้ และ UI ทั้งหมดใช้งานได้) | ต้องระบุ | ต้องระบุ | ต้องระบุ | ต้องระบุ | ต้องระบุ |
| รองรับเมาส์และแป้นพิมพ์ | แนะนำ | ไม่บังคับ | ไม่บังคับ | ต้องระบุหากเล่นเกมด้วยการป้อนข้อมูลแบบสัมผัสเดียวไม่ได้ | ต้องระบุหากเล่นเกมด้วยการป้อนข้อมูลแบบสัมผัสเดียวไม่ได้ |
| การรองรับเกมคอนโทรลเลอร์ | แนะนำ | แนะนำให้ใช้ | แนะนำให้ใช้ | แนะนำ | แนะนำ |
| กราฟิกความละเอียดสูง | แนะนำ | แนะนำ | แนะนำ | แนะนำ | แนะนำ |
| Input SDK | ไม่มี | ไม่มี | ไม่มี | ไม่มี | ต้องระบุหากเกมต้องใช้คีย์บอร์ดในการเล่น |
| PGS v2 | ไม่จำเป็น | ไม่จำเป็น | แนะนำ | ไม่จำเป็น | ต้องระบุ |
รวมสถาปัตยกรรม ABI ของ x86-64
เพิ่มเวอร์ชัน ABI ที่เข้ากันได้กับ x86-64 ลงในไลบรารีทั้งหมดที่รวมอยู่ในเกมเพื่อให้มั่นใจถึงประสิทธิภาพและความเสถียรที่ดีที่สุดในอุปกรณ์รูปแบบต่างๆ เช่น รถยนต์ที่ใช้ Android Automotive OS, อุปกรณ์ ChromeOS และ Google Play Games บน PC
Google ได้ทำงานร่วมกับผู้ให้บริการเกมเอนจินและไลบรารีของบุคคลที่สามเพื่อให้มั่นใจว่าอุปกรณ์จะรองรับ คุณควรจะสามารถติดตั้งใช้งานเกมเวอร์ชัน x86_64 ได้โดยแทบไม่ต้องออกแรง
เมื่อใช้ Android App Bundle ไฟล์ x86-64 .so ที่เพิ่มขึ้นจะส่งผลต่อขนาดการอัปโหลดไปยัง Play Console เท่านั้น Play Store จะส่ง ABI ที่จำเป็นไปยังอุปกรณ์แต่ละเครื่อง ดังนั้นขนาดการดาวน์โหลดในอุปกรณ์เป้าหมายจึงไม่เปลี่ยนแปลง
ตรวจสอบไฟล์ Manifest ของ Android เพื่อให้มั่นใจว่ารูปแบบอุปกรณ์เข้ากันได้
ฟีเจอร์ฮาร์ดแวร์ทั่วไปบางอย่างของโทรศัพท์มือถือและแท็บเล็ต เช่น กล้องหรือตำแหน่งทางภูมิศาสตร์ จะไม่พร้อมใช้งานในรูปแบบอื่นๆ เกมที่มีข้อกำหนดของฟีเจอร์จะดาวน์โหลดและติดตั้งในอุปกรณ์รูปแบบต่างๆ ที่ไม่มีฟีเจอร์ดังกล่าวไม่ได้
คุณดูรายการฟีเจอร์ทั้งหมดที่พร้อมใช้งานได้ด้วยคำสั่ง ADB ต่อไปนี้
adb shell pm list features
หากต้องการให้เกมของคุณใช้ได้กับอุปกรณ์มากที่สุด ให้ทำตามสิ่งที่ควรและไม่ควรทำต่อไปนี้
- ทำเครื่องหมายฟีเจอร์เป็นไม่บังคับในไฟล์ Manifest โดยเพิ่ม
android:required="false"ลงในการประกาศ<uses-feature>ซึ่งจะมีผลกับฟีเจอร์ที่ประกาศไว้ในไฟล์ Manifest แล้วเท่านั้น ตรวจสอบว่าโค้ดไม่ได้ถือว่าฟีเจอร์นี้มีอยู่ - โปรดทราบข้อกำหนดของฟีเจอร์โดยนัยที่เกมของคุณอาจมี
- อย่าพยายามใช้ฟีเจอร์ที่ขาดหายไปในขณะรันไทม์
- อย่าขอสิทธิ์ Android ที่ไม่รองรับในรันไทม์
- ตรวจหาฟีเจอร์ที่พร้อมใช้งานในขณะรันไทม์และหลีกเลี่ยงเส้นทางโค้ดที่เฉพาะเจาะจงสำหรับรูปแบบของอุปกรณ์
ดูข้อมูลเพิ่มเติมเกี่ยวกับความเข้ากันได้ของไฟล์ Manifest ได้ที่หัวข้อต่อไปนี้
- Android Automotive OS: กำหนดค่าไฟล์ Manifest ของแอป
- ChromeOS: ความเข้ากันได้ของไฟล์ Manifest ของแอปสำหรับ Chromebook
- Google Play Games บน PC: ความเข้ากันได้ของ PC และการเพิ่มประสิทธิภาพสำหรับ Google Play Games บน PC
ความท้าทายที่พบบ่อยคือเกมจำนวนมากขอ android.hardware.wifi เพียงเพื่อตรวจสอบว่าผู้เล่นใช้เครือข่ายแบบคิดตามปริมาณการใช้งานหรือไม่ แต่สามารถใช้ ConnectivityManager API แทนได้โดยไม่ต้องขอสิทธิ์เพิ่มเติม (ดูตรวจสอบสถานะการเชื่อมต่อและการวัดการเชื่อมต่อ)
ใช้ Google Play Console เพื่อช่วยในการเผยแพร่
คุณสามารถใช้ Google Play Console เพื่อกรองเมตริกตามรูปแบบอุปกรณ์ ตรวจสอบความเข้ากันได้ของอุปกรณ์ในแคตตาล็อกอุปกรณ์ และจัดการแทร็กรุ่นของรูปแบบอุปกรณ์ได้
ตัวกรองรูปแบบของอุปกรณ์
ทีมสนับสนุนของ Play Console ใช้รูปแบบอุปกรณ์เป็นตัวกรองในตำแหน่งต่อไปนี้
- Android Vitals (ยกเว้น Android Automotive OS)
- การเข้าถึงและอุปกรณ์
- สถิติ
- คะแนนและรีวิว
เช่น คุณสามารถกรอง "Chromebook" ใน Android Vitals เพื่อดูอัตราการขัดข้องและ ANR ในอุปกรณ์ ChromeOS ทั้งหมด จากนั้นเพิ่มประสิทธิภาพเกมด้วยเป้าหมายที่ชัดเจน
แคตตาล็อกอุปกรณ์
แคตตาล็อกอุปกรณ์เป็นเครื่องมือที่มีประโยชน์ในการค้นหาอุปกรณ์ที่รองรับและอุปกรณ์ที่ไม่รองรับสำหรับเกมของคุณ ใช้ตัวกรองรูปแบบของอุปกรณ์เพื่อดูว่าอุปกรณ์ใดไม่รองรับและเพราะเหตุใด หลังจากไปที่หน้ารายละเอียดอุปกรณ์นี้แล้ว ให้คลิกแสดงเพิ่มเติมเพื่อดูเหตุผลที่แน่นอนว่าทำไมอุปกรณ์บางรุ่นจึงไม่รองรับเกมของคุณ เช่น
- ABI ที่ไม่รองรับ
- ฟีเจอร์และสิทธิ์ที่ไม่รองรับ
- API กราฟิกที่ไม่รองรับ
การแก้ไขข้อกำหนดจะช่วยให้ผู้เล่นในอุปกรณ์เหล่านั้นค้นหาเกมของคุณใน Google Play Store ได้
แทร็กรูปแบบของอุปกรณ์
คุณจัดการการตั้งค่ารูปแบบของอุปกรณ์ได้ผ่านการตั้งค่า > การตั้งค่าขั้นสูง > รูปแบบของอุปกรณ์ใน Play Console อุปกรณ์เคลื่อนที่ แท็บเล็ต อุปกรณ์พับได้ และ ChromeOS จะเชื่อมโยงกับแทร็กเริ่มต้น การจัดการผลงานจะง่ายขึ้นเสมอเมื่อใช้ชิ้นงานผลงานเดียวเพื่อแสดงผลในอุปกรณ์ทุกรูปแบบ
คุณเลือกสร้างแทร็กการเผยแพร่เฉพาะเพื่อจัดการรุ่นของ Google Play Games บน PC (หากคุณอยู่ในโปรแกรมเบต้า), Android Automotive OS หรือ Android TV ได้ หากต้องการบิลด์แยกต่างหากเพื่อจัดการฟีเจอร์ เมื่อใช้แทร็กแยกต่างหากเพื่อจัดการรุ่นของอุปกรณ์รูปแบบต่างๆ คุณจะมีสิทธิ์เข้าถึงอุปกรณ์รูปแบบต่างๆ ผ่านแทร็กเวอร์ชันที่ใช้งานจริงและแทร็กทดสอบ
ใช้ Android App Bundle เพื่อจัดการฟีเจอร์ต่างๆ
Android App Bundle เป็นรูปแบบการเผยแพร่ที่มีโค้ดและทรัพยากรที่คอมไพล์แล้วทั้งหมดของแอป และเลื่อนการสร้างและลงนาม APK ไปยัง Google Play
การรองรับรูปแบบของอุปกรณ์ที่แตกต่างกันมักต้องใช้ ABI, ชิ้นงาน, ไลบรารี หรือเส้นทางโค้ดที่เฉพาะเจาะจงสำหรับรูปแบบของอุปกรณ์ที่แตกต่างกัน คุณสามารถใช้ประโยชน์จากการนำส่งฟีเจอร์ Play ซึ่งช่วยให้คุณเพิ่มโมดูลฟีเจอร์ลงในโปรเจ็กต์ได้ โมดูลประกอบด้วยฟีเจอร์และทรัพยากรที่จะรวมไว้กับแอปของคุณเท่านั้นตามเงื่อนไขที่คุณระบุ หรือพร้อมให้ดาวน์โหลดในภายหลังที่รันไทม์โดยใช้ไลบรารี Play Core
นอกจากนี้ คุณยังใช้การนำส่งเนื้อหา Play ซึ่งเป็นโซลูชันของ Google Play สำหรับการนำส่งเนื้อหาเกมจำนวนมากด้วยวิธีการนำส่งที่ยืดหยุ่นและมีประสิทธิภาพสูงได้ด้วย