【Google Play】App Bundle 使用详解 ( 按条件分发 | 国家地区 | SDK 版本 | 设备功能 | 按需分发 | 资源分发 )

简介: 【Google Play】App Bundle 使用详解 ( 按条件分发 | 国家地区 | SDK 版本 | 设备功能 | 按需分发 | 资源分发 )

文章目录

Google Play 上架完整流程 系列文章目录

一、App Bundle 定制化分发

1、按条件分发

3、按需分发

4、资源分发

一、App Bundle 定制化分发



1、按条件分发


按条件分发 : 为不同类型的用户 , 分发不同的功能 ; 如 : 会员 和 非会员 , 选择设定偏好不同的用户 等用户分类 , 分发不同的内容 ;


开发者可以指定一些条件 , 只有在这些条件都满足的情况下 , 才触发安装某个功能模块 ; 如 : 用户充值 , 买了会员 , 则推送高级会员功能给用户 ;

普通会员 用户没有付费 , 不用提供高级功能 , 下载时只下载普通功能 , 这样可以优化安装包大小 ;



Google Play 支持的分发条件 :


国家 / 地区 : 指定功能对应的国家或地区 ;

最小支持 SDK 版本 : 只有高于指定版本的手机才会安装对应功能 ;

设备功能 : 指定设备功能 , 如是否支持 VR , AR ;

配置按 最小支持 SDK 版本 / 设备功能 条件分发代码示例 : 下面的配置中配置了 , 设备功能 需要支持 AR 功能 , 最低 API 版本是 24 2424 ;

如果 <dist:install-time> 为空 , 或者没有该节点 , 则该配置对应的模块将会无条件安装 ;


image.png


配置按 国家 / 地区 条件分发代码示例 : 可以指定排除某些国家或地区 , 也可以指定多个国家或地区 ; 用户的国家是根据用户填写的账单地址决定的 ;


image.png



上述的条件安装 , 可以非常灵活的组合使用不同的安装条件 , 所有 安装条件 都被满足时 , 才会安装相应功能模块 ;

在应用中 , 可以调用 SplitInstallManager.getInstalledModules() 获取当前用户安装了哪些模块 ;

开发者进而依据当前安装的模块 , 避免用户非法访问没有权限的模块 ;


SplitInstallManager.getInstalledModules()


应用安装完成后 , 在使用过程中可以再次请求继续安装满足条件的模块 , 不一定必须在应用初次安装时一次性安装完毕所有模块 ;



3、按需分发


按需分发 : 在用户需要的时候为用户分发 , 如 : 用户点击应用内某个按钮 , 启用一个功能 , 此时才触发更新 , 类似于组件化 ;


根据用户的使用偏好 或 使用频率 , 灵活的 安装 / 删除 某些模块 ;



按需分发示例 : 某些功能使用频率很低 , 大多数用户使用频率是 0 00 次 ~ 1 11 次 , 对于这种应用 , 默认初始不安装该模块 , 如果用户使用到该模块后 , 临时为该用户动态地下载安装该模块 , 用户使用完毕后 , 如果觉得空间紧张 , 可以再次删除该模块 ;


image.png


还有一种常用的情景就是新手入门 , 应用的新手入门中有大量的图片 , 视频资源等 , 非常占用空间 ;

用户在初次进入应用时 , 启动新手入门功能 , 等用户使用完毕后 , 将新手入门删除即可 , 不用继续占用如此多的控件 ;



按需分发代码示例 : 该模块在 AndroidManifest.xml 清单文件中 , 设置的安装条件是无条件安装 ;

当用户完成新手入门流程后 , 可以使用 SplitInstallManager.deferredUninstall(“onboarding”) 代码移除新手入门模块 ;


SplitInstallManager.deferredUninstall("onboarding")

image.png




4、资源分发


资源分发 : 将程序的代码 , 资源 打包到 aab 文件中 ;

在 Android 应用中 , 占用空间最多的就是资源文件 , 代码的占用空间一般都很少 ;

许多应用的资源达到数百 MB , 甚至 1GB , 初次下载时下载的很慢 ;



资源包 : 为了支持上述使用场景 , Google Play 引入了 Assets Pack 资源包工具 , 资源包中只能包含资源 , 不能包含代码 ; 资源包可以达到 1GB ;



资源包在打包时 , 与游戏的代码一起打包到 App Bundle 中 , 开发者只需要将该 AAB 上传到 Google Play 即可 ;

Google Play 会自动优化该 App Bundle ;


image.png


这样所有的资源可以一次性安装到设备上 , 不受 Android App Bundle 150MB 大小的限制 ;

也不需要再使用 APK 扩展文件 ;


image.png

目录
相关文章
|
编解码 iOS开发 开发者
App上架Apple App Store和Google Play流程
App上架Apple App Store和Google Play流程
577 2
|
9月前
|
API 开发工具 网络架构
【Azure Service Bus】使用Python SDK创建Service Bus Namespace资源(中国区)
本文介绍了如何使用Python SDK创建Azure Service Bus Namespace资源。首先,通过Microsoft Entra ID注册应用获取Client ID、Client Secret和Tenant ID,完成中国区Azure认证。接着,初始化ServiceBusManagementClient对象,并调用`begin_create_or_update`方法创建资源。
242 29
|
安全 数据安全/隐私保护 Android开发
【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
【05】2025年1月首发完整版-篇幅较长-苹果app如何上架到app store完整流程·不借助第三方上架工具的情况下无需花钱但需仔细学习-优雅草央千澈详解关于APP签名以及分发-们最关心的一篇来了-IOS上架app
2654 75
|
10月前
|
Linux
【Function App】记录一次 "OSError: Could not find a suitable TLS CA certificate bundle" 错误
错误信息:We get an error in function app. Exception: OSError: Could not find a suitable TLS CA certificate bundle, invalid path: /home/site/wwwroot/.python_packages/lib/site-packages/certifi/cacert.pem This issue happened by chance. This appears to be a platform issue with Function Apps running on Linux
263 6
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
830 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
11月前
|
存储 文件存储 Android开发
仿第八区APP分发下载打包封装系统源码
该系统为仿第八区APP分发下载打包封装系统源码,支持安卓、iOS及EXE程序分发,自动判断并稳定安装。智能提取应用信息,自动生成PLIST文件和图标,提供合理的点数扣除机制。支持企业签名在线提交、专属下载页面生成、云端存储(阿里云、七牛云),并优化签名流程,支持中文包及合并分发,确保高效稳定的下载体验。 [点击查看源码](https://download.csdn.net/download/huayula/90463452)
698 22
|
测试技术 Android开发 开发者
【03】优雅草央千澈详解关于APP签名以及分发-上架完整流程-第三篇安卓APP上架华为商店后面的步骤-华为应用商店相对比较麻烦一些-华为商店安卓上架
【03】优雅草央千澈详解关于APP签名以及分发-上架完整流程-第三篇安卓APP上架华为商店后面的步骤-华为应用商店相对比较麻烦一些-华为商店安卓上架
263 16
|
Android开发
解决Flutter上架Google Play提示Version code 1 has already been used. Try another version code.
解决Flutter上架Google Play提示Version code 1 has already been used. Try another version code.
473 3
|
Android开发
将AAB(Android App Bundle)转换为APK
将AAB(Android App Bundle)转换为APK
906 1
|
开发工具 Android开发
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
421 1

热门文章

最新文章

推荐镜像

更多