【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

目录
相关文章
|
2月前
|
小程序 视频直播 数据安全/隐私保护
如何在1v1视频直播交友APP中实现防录屏防截屏功能?
婚恋交友市场快速增长,1v1社交应用海外投放增86.49%,中东、东南亚及北美需求旺盛。用户偏好私密高效交流,国内“云相亲”兴起。开发需合规备案、实名认证,并防范诈骗。本文详解原生APP防录屏技术:Android通过MediaProjection检测,iOS监听UIScreen状态,结合动态水印、远程销毁等增强防护,平衡体验与安全。
|
2月前
|
JavaScript API 开发工具
如何在原生App中调用Uniapp的原生功能?
如何在原生App中调用Uniapp的原生功能?
553 139
|
3月前
|
移动开发 小程序 Android开发
基于 uni-app 开发的废品回收类多端应用功能与界面说明
本文将对一款基于 uni-app 开发的废品回收类多端应用,从多端支持范围、核心功能模块及部分界面展示进行客观说明,相关资源信息也将一并呈现。
156 0
|
2月前
|
存储 自然语言处理 算法
参照Yalla、Hawa等主流APP核心功能,开发一款受欢迎的海外语聊需要从哪些方面入手
海外语聊APP开发需结合Yalla、Hawa等主流产品,聚焦多语言支持、实时音视频、社交互动与安全合规。兼顾技术架构、本地化运营与法律风险,避免劣质成品代码,平衡创新与成本,打造差异化出海产品。(239字)
|
4月前
|
存储 Java PHP
轻量化短视频电商直播带货APP源码全解析:核心功能与设计流程​
在电商直播热潮下,开发专属直播带货APP成为抢占市场关键。本文详解原生开发轻量化APP的核心功能与全流程设计,涵盖用户登录、商品浏览、直播互动、购物车、订单及售后功能,并介绍安卓端Java、苹果端Object-C、后台PHP的技术实现,助力打造高效优质的直播电商平台。
|
6月前
|
数据库
《仿盒马》app开发技术分享-- 回收订单页功能完善(45)
上一节我们实现了订单的待取件、已取消状态展示,并且成功实现了修改订单状态后的列表刷新,实现了云端数据的修改,这一节我们来实现订单页剩下的两个板块的业务逻辑,分别是运输中、已完成状态下的列表展示以及订单状态的修改
141 1
|
5月前
|
存储 移动开发 监控
App Trace功能实战:一键拉起、快速安装与免提写邀请码的应用实践
App Trace系统通过一键拉起、快速安装和免提写邀请码三大功能,显著提升用户转化率、安装成功率和邀请注册率。结合深度技术实现与优化,助力公司用户增长,成为移动端核心基础设施。
|
6月前
|
UED
《仿盒马》app开发技术分享-- 扫一扫功能(35)
随着app的逐渐完善,我们现在需要在细节处做更多的打磨,在首页我们添加了很多静态的按钮和组件,现在我们开始对这些组件进行功能的添加,这次首先实现的是首页头部的扫一扫功能,扫一扫我们实现扫码后跳转商品详情页
153 0
|
6月前
|
存储 数据库
《仿盒马》app开发技术分享-- 购物车功能完善(14)
上一节我们实现了购物车商品列表的状态切换,已添加商品数量的增减,已添加商品滑动删除,已添加商品在选中情况下的价格计算。这一节我们在这些功能的基础上实现云端记录,因为我们现在只有数据的查询是从云端获取的,其他的操作虽然都实现了相对应的功能,但是当我们操作完,关闭app,再打开不会有对应的记录,有的同学可能会说,那我们把数据用首选项或者数据库的形式存储就可以了吧? 那如果我更换了另一个设备那这些添加的数据是不是就又不能使用了?所以我们的每个操作,最好都是提交到云端,这样我们在其他设备,在退出应用,切换账号这些情况下都能很好的保存我们操作后的购物车状态。
116 0
|
6月前
|
前端开发
《仿盒马》app开发技术分享-- 购物车基础功能实现(13)
上一节我们实现了加入购物车和购物车列表的简单展示。对一个电商类的应用来说,这很显然是不够的,我们的购物车内容应该更加的丰富,他需要用户能自主的去选择想要结算的商品,删除一些不需要的商品,或者取消掉一些本次不结算的商品,同时根据选择的不同,我们需要把相对应的价格和选择的数量等信息传递给用户,帮助用户节省更多的时间。
121 0

热门文章

最新文章