本页面介绍了在使用 Play Asset Delivery 的 Unity Android 应用程序中,资源包的工作原理。
您可以配置 Unity 以生成 Android App Bundle (AAB),其中包含拆分为基础模块和资源包的应用程序:
除了 Unity 自动生成的资源包,您还可以创建自己的自定义资源包。这有助于控制资源包中包含的资源。Unity 将您的自定义资源包添加到最终的 Android 应用包中。有关更多信息,请参阅自定义资源包。
资源包具有下载大小限制。为了解决这个问题,Unity 会根据附加资源的大小,调整资源包的生成方式:
install-time 交付模式。如果您未创建任何自定义资源包,设备将在应用安装过程中下载该资源包,并在用户首次启动应用时,所有资源即可使用。install-time 交付模式。install-time 资源包,其中包含公共资源和第一个场景所需的资源。定向纹理压缩不会影响流媒体资源,因此如果使用流媒体资源并启用定向纹理压缩,Unity 始终会将流媒体资源打包到名为 UnityStreamingAssetPack 的单独资源包中。无论您的额外资源是否超过 1.5GB,Unity 都会执行此操作。对于 Unity 自动生成的资源包,Unity 不支持更改交付模式。如果您想更改资源包的交付模式,请使用您的资源创建自定义资源包。
重要提示:如果任何一个资源包的大小超过 1.5GB,Unity 会显示警告,但不会导致构建失败。在构建过程中,Unity 会单独检查 Unity 生成的资源包的大小,因此请确保此类资源包和基础模块的总大小小于 Google Play 商店的限制 (4GB)。此外,Unity 不会对自定义资源包执行大小验证。这意味着,如果自定义资源包与 Unity 自动生成的资源包组合后,总大小超出 Google Play 商店的限制,Unity 不会显示警告或错误。但是,如果在 Android Player 设置中启用了 App Bundle 大小警告,则可以根据 Google Play 最大大小限制对生成的发布版 App Bundle 执行完整大小验证。
如果要控制特定资源包中包含哪些非代码资源,可以创建自定义资源包。与 Unity 生成的资源包不同,您可以为自定义资源包设置交付模式。如果您创建自定义资源包,请注意 Google Play 应用商店对资源包的大小和数量限制。有关限制的信息,请参阅 Google Play 最大大小限制。
要将自定义资源包与 Addressables 结合使用,可使用 Addressables for Android 资源包。