让你的游戏兼容所有形态因素

平板电脑、折叠屏手机、ChromeOS设备和PC具有以下基线质量要求

要求 平板电脑和折叠屏手机 ChromeOS PC上的Google Play游戏
x86-64 不需要 推荐 需要
支持可调整大小、不同的窗口大小和纵横比 建议支持可调整大小 建议支持可调整大小 支持以下任何或所有纵横比:16:9、16:10、3:2、21:9或9:16的纵向纵横比
在配置更改(例如,调整大小、旋转或折叠或展开)时保持游戏状态而无需重新启动 需要
建议支持折叠姿势
需要:调整大小、旋转、键盘更改 不适用
删除不受支持的功能和权限 推荐
特别是,为了最大限度地覆盖平板电脑设备,不要要求
  • android.hardware.camera.autofocus
  • android.hardware.camera.flash
  • android.hardware.location.gps
需要 需要
游戏控件、视觉效果、性能不会影响可玩性(例如,不模糊或无法阅读,所有UI都可用) 需要 需要 需要
鼠标和键盘支持 推荐 如果游戏无法通过单点触控输入进行游戏,则需要 如果游戏无法通过单点触控输入进行游戏,则需要
游戏手柄支持 推荐 推荐 推荐
高分辨率图形 推荐 推荐 推荐
输入 SDK 不适用 不适用 如果游戏需要键盘才能玩,则需要
PGS v2 不需要 不需要 需要

包含x86-64 ABI架构

将x86-64 ABI兼容版本添加到游戏包含的所有库中,以确保在ChromeOS设备等设备类型上获得最佳性能和稳定性,以及PC上的Google Play游戏

Google已与游戏引擎和第三方库提供商合作,以确保设备支持。您应该能够以最少的精力实现游戏的x86_64版本。

使用Android App Bundle,增加的x86-64 .so 文件仅影响上传到Play控制台的大小。Play商店会将必要的ABI交付到每个设备,因此目标设备类型上的下载大小保持不变。

审核Android清单以确保设备类型兼容性

某些常见的手机和平板电脑硬件功能(例如相机或地理位置)在其他设备类型上不可用。具有功能要求的游戏无法在缺少这些功能的设备类型设备上下载和安装。

您可以使用以下ADB命令查看可用功能的完整列表

adb shell pm list features

为了使您的游戏与尽可能多的设备兼容,请遵循以下操作和注意事项

  • 在清单中将功能标记为可选,方法是在<uses-feature>声明中添加android:required="false"。这仅适用于清单中已声明的功能。确保您的代码不假定功能存在。
  • 请勿尝试在运行时使用缺少的功能。
  • 请勿在运行时请求不受支持的Android权限。
  • 在运行时检测可用的功能,并避免设备类型特定的代码路径。

有关清单兼容性的更多信息,请参阅以下内容

一个常见的挑战是,许多游戏请求android.hardware.wifi只是为了检查玩家是否在计费网络上,但可以使用ConnectivityManager API而无需请求任何额外的权限(请参阅监控连接状态和连接计费)。

使用Google Play开发者控制台来帮助分发

设备类型过滤器

Play控制台支持在以下位置使用设备类型作为过滤器

  • Android Vitals
  • 覆盖范围和设备
  • 统计信息
  • 评分和评论

例如,您可以在Android Vitals中过滤“Chromebook”,以找出您在所有ChromeOS设备上的崩溃率和ANR。然后使用明确的目标优化您的游戏。

设备目录

设备目录是查找游戏兼容设备和不支持设备的有用工具。使用设备类型过滤器找出哪些设备不受支持以及原因。转到设备详细信息页面后,点击“显示更多”以检查游戏在某些设备上不受支持的确切原因,例如

  • 不支持的ABI
  • 不支持的功能和权限
  • 不支持的图形API

修复这些要求可以使这些设备上的玩家在Google Play商店中找到您的游戏。

设备类型跟踪

您可以通过Play控制台中的“设置>高级设置>设备类型”来管理您的设备类型设置。手机、平板电脑、折叠屏手机和ChromeOS绑定到您的默认跟踪。当使用单个发布工件为所有设备类型提供服务时,管理发布始终更容易。

您可以选择创建一个专用的发布跟踪来管理您在PC上的Google Play游戏(如果您参与测试版计划)或Android TV发布,如果您需要单独的构建来管理功能。选择此选项后,您将无法将其更改回。当您使用单独的跟踪来管理设备类型发布时,您可以通过生产和测试跟踪访问不同的设备类型。

使用Android App Bundle来管理不同的功能

Android App Bundle是一种发布格式,其中包含您应用的所有已编译代码和资源,并将APK生成和签名延迟到Google Play。

支持不同的设备类型通常需要针对不同设备类型使用特定的ABI、资产、库或代码路径。您可以利用Play Feature Delivery,它允许您向项目添加功能模块。这些模块包含仅根据您指定的条件包含在应用中的功能和资源,或者稍后在运行时使用Play Core库下载。

您还可以使用Play Asset Delivery,这是Google Play用于交付大量游戏资产的解决方案,它具有灵活的交付方式和高性能。