本页面包含有关特定于 Google Play 的交付要求和注意事项的信息。
有关如何在 Google Play 上发布应用程序的信息,请参阅 Google Play。
Google Play 对应用程序在发布之前有特定要求。本部分介绍了 Google Play 的具体要求以及如何满足这些要求。
Google Play 要求新应用为 Android App Bundle (AAB) 而不是__ APK__Unity 输出的 Android 包格式。选择文件 (File) > 构建并运行 (Build & Run) 时,APK 会被自动部署到设备。更多信息
See in Glossary。有关原因,请参阅 Android App Bundles 的未来。
要将应用程序配置为 AAB:
在 Publishing Settings 部分中,启用 Split Application Binary。
在菜单中选择 File > Build Settings。
在平台 (Platform) 面板的平台列表中,选择 Android。
启用 Build App Bundle (Google Play)。如果要导出项目并在 Android Studio 中构建项目,请启用 Export Project,然后启用 Export for App Bundle。
注意:仅当禁用 Export Project 设置时,Build App Bundle (Google Play) 设置才可见。
现在,当您构建应用程序时,Unity 将应用程序构建为 AAB。
Google Play 对应用程序的安装大小有限制。下表描述了 Google Play 对每种应用程序类型的大小限制:
| 应用程序类型 | 大小限制 |
|---|---|
| APK | 如果拆分应用程序二进制文件或使用自定义扩展文件,APK 必须小于 100MB,扩展文件必须小于 2GB。否则,APK 必须小于 100MB。 |
| AAB | 如果拆分应用程序二进制文件或使用自定义资源包,AAB 中的基础模块必须小于 200MB,并且资源包必须符合 Android 的下载大小限制文档中描述的文件大小。否则,AAB 必须小于 200MB。 |
有关如何优化应用程序的安装大小的更多信息,请参阅优化分发大小。
Google Play 对符号包的大小或 Android App Bundle 中的嵌入符号大小有限制。如果符号文件的文件大小超过此限制,可能会被拒绝。如果您的符号包大小超过 Android Player Settings 中的 Symbols size threshold 设置值,Unity 会显示警告。
定向纹理压缩是 Android App Bundle 的一项功能,可帮助 Google Play 为不同设备生成并提供优化的 APK。如果启用此属性,Unity 会在其构建的任何 Android App Bundle 中包含以不同压缩格式格式化的纹理资源。当设备从 Google Play 安装应用程序时,设备会收到使用最佳纹理压缩格式的 APK。
定向纹理压缩还会自动启用拆分应用二进制文件功能,并生成名为 UnityTextureCompressionsAssetPack 的安装时资源包。此资源包包含第一个场景所需的公共资源和资产。禁用定向纹理压缩时,Unity 会将这些资源打包到基础模块中。这意味着启用纹理压缩目标可以减小基础模块的大小。这对于基础模块的 200MB 大小限制尤为重要。有关 Unity 如何配置资源包的更多信息,请参阅 Unity 资源包。
要启用定向纹理压缩:
PlayerSettings.Android.textureCompressionFormats API 来分配所需的纹理压缩格式。注意:启用纹理压缩目标后,Unity 会禁用并忽略 Texture Compression 的 Android Build Settings,因此无法使用此设置覆盖构建的纹理压缩格式。
如果未启用 Android App Bundle 并将应用程序导出或构建为 APK,Unity 仅使用 Texture Compression Formats 列表中的第一种纹理压缩格式。
如果希望某些纹理资源使用特定的纹理压缩格式,则可以覆盖其纹理压缩格式。为单个纹理设置的值会覆盖默认纹理压缩格式和 Google Play 为特定目标设备选择的最佳格式。有关如何更改单个纹理的纹理格式的信息,请参阅纹理导入器。
Google Play 要求应用程序支持 64 位架构。有关更多信息,请参阅支持 64 位架构。要使应用程序支持 64 位架构:
Google Play 要求应用程序支持最低目标 API 级别。有关当前最低目标 API 级别的更多信息,请参阅满足 Google Play 的目标 API 级别要求。
要更改应用程序的目标 API:
Google Play 可以检查应用程序使用的 Package Manager 和__ Asset Store__由 Unity 和社区成员创建的免费和付费的资产库,其规模处于不断壮大中。提供各种资产,涵盖了从纹理、模型和动画到完整项目示例、教程和编辑器扩展等类型。更多信息
See in Glossary 资源包是否存在已知的认证失败。此检查会在您将应用程序上传到 Play Store 后、主认证流程开始前自动进行。这有助于在不运行完整认证流程的情况下快速识别应用程序依赖项的问题。如果 Google Play 发现问题,它会通过 Play Store 控制台向您报告问题,并详细说明问题以及如何在再次提交应用程序之前解决这些问题。
要报告依赖项:
Google Play 要求应用程序必须经过签名。有关如何对应用程序进行签名的信息,请参阅 Android Keystore Manager。
本部分包含在将应用程序发布到 Google Play 之前需要注意的特定于 Google Play 的事项。
为了帮助成功启动 Android 应用程序,Android 的文档中包含了一份最佳实践流程清单。请参阅启动检查清单。
如果您的应用程序在设备上崩溃,Google 可以使用符号包在 Android Vitals 仪表板上将原生堆栈跟踪转换为可读格式。最佳做法是为应用程序生成公共符号包并将其上传到 Google Play。有关如何执行此操作的信息,请参阅生成符号包。
与符号文件类似,如果对应用程序构建应用了代码混淆,Unity 可以生成解混淆文件。有关应用压缩的更多信息,请参阅 Android Player Settings。解混淆文件会自动在应用程序构建的同一位置生成为映射文件。
如果应用了代码混淆,最佳实践是在 Google Play 上发布应用程序时上传解混淆文件。解混淆文件可以解析堆栈跟踪中的方法名称,帮助您识别和解决应用程序崩溃的确切原因。有关更多信息,请参阅 Google 文档的解混淆或符号化解析崩溃堆栈跟踪。