美文网首页
Google Play的分包(APK扩展文件obb)

Google Play的分包(APK扩展文件obb)

作者: 忆中异 | 来源:发表于2021-03-24 21:04 被阅读0次

    APK 扩展文件(obb)

    Google Play 要求用户下载的压缩后 APK 大小不超过 100 MB。 对于大多数应用而言,这个空间足够存放应用的所有代码和资产。 不过,有些应用需要更多空间存放高保真图形、媒体文件及其他大型资产。 以前,如果应用的压缩后下载大小超过 100 MB,您必须自行托管这些额外的资源并在用户打开应用时下载这些资源。托管和传送额外文件的成本可能并不低,而且用户体验通常也不太理想。为简化这一过程并改善用户体验,Google Play 现在允许您附加两个大型扩展文件以补充您的 APK。
    Google Play 可以免费为您的应用托管这些扩展文件并将这些文件传送到设备。扩展文件保存在设备的共享存储位置(SD 卡或 USB 挂载分区;也称为“外部”存储空间),您的应用可以在此处访问扩展文件。在大多数设备上,Google Play 会同时下载扩展文件和 APK,因此当用户首次打开您的应用时,所需的一切都已准备就绪。不过在某些情况下,您的应用必须在启动时从 Google Play 下载这些文件。

    概述

    每当您使用 Google Play 管理中心上传 APK 时,您都可以选择向 APK 添加一个或两个扩展文件。每个文件的大小上限为 2 GB, 也就是说整个app包括扩展文件在内最大不能超过4.1GB(两个2GB的扩展文件 + 一个100MB的apk文件)。
    * 主扩展文件是应用必需的额外资源所在的主要扩展文件。
    * 补丁扩展文件是可选的,用于为主扩展文件提供小规模的更新。
    两个扩展文件下载下来后的文件名是固定的,main扩展文件的文件名是main.<expansion-version>.<package-name>.obb,patch扩展文件的文件名是patch.<expansion-version>.<package-name>.obb。<expansion-version>表示该obb文件上传时所关联的apk文件的版本号(apk中AndroidManifest.xml中配置的android:versionCode字段的值),是一个整数值。<package-name>是apk的包名(apk中AndroidManifest.xml中配置的package字段的值)。扩展名始终为obb。文件名是上传时由Google Play自动重命名的,不需要开发者自己修改要上传文件的文件名。

    存储位置

    把apk安装到Android设备,然后将对应obb文件改名为:
    main.<Bundle Version Code>.<包名>.obb
    并拷贝到Android设备的“/android/obb/<包名>/ ”路径下。

    下载流程

    大多数情况下,Google Play 在将 APK 下载到设备上的同时会下载并保存您的扩展文件。不过,在某些情况下(Google Play SD卡权限未打开),Google Play 可能无法下载扩展文件,或者用户删除了以前下载的扩展文件。为应对这些情况,您的应用必须能够在主 Activity 启动时,使用 Google Play 提供的网址自行下载这些文件。

    下载流程大致如下所示:

    1. 用户选择通过 Google Play 安装您的应用。
    2. 如果 Google Play 能够下载扩展文件(在大部分设备上都是如此),就会同时下载扩展文件和 APK。
      如果 Google Play 无法下载扩展文件,就会仅下载 APK。
    3. 当用户启动您的应用时,应用必须检查扩展文件是否已保存在设备上。
      a) 如果已保存,就说明应用已准备就绪。
      b) 如果未保存,您的应用必须通过 HTTP 协议从 Google Play 下载扩展文件。在这种情况下,您的应用必须使用 Google Play 的应用许可服务向 Google Play 客户端发送请求,以获得包含每个扩展文件的名称、文件大小和网址的响应。有了这些信息,您就可以下载文件并将其保存到适当的存储位置。(就是在MainActivity启动的时候需要去请求下载obb,并下载到指定文件夹)

    Unity打包obb

    image.png

    unity的分包只要勾选如图的split application binary就可以进行分包了,产生出apk和对应的obb数据包文件

    相关文章

      网友评论

          本文标题:Google Play的分包(APK扩展文件obb)

          本文链接:https://www.haomeiwen.com/subject/igfkhltx.html