【Google Play】App Bundle 使用详解 ( 简介 | 应用内更新 | 即时更新 | 灵活更新 )

简介: 【Google Play】App Bundle 使用详解 ( 简介 | 应用内更新 | 即时更新 | 灵活更新 )

文章目录

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

一、App Bundle 简介

二、App Bundle 定制化分发

1、应用内更新

①、即时更新

②、灵活更新

参考 Create and set up your app 文档 , 创建 Google Play 中要上架的应用 ;






一、App Bundle 简介


App Bundle 是 Android 提供的新的应用分发格式 , 用于取代之前传统的 APK 分发格式 ;


Android App Bundle 文件不能直接用于下载 , Google Play 会从该 App Bundle 中提取必要文件 , 自动生成一个匹配用户的 APK 文件 ; 这些优化的 APK 文件 , 比传统的单一 APK 文件体积小很多 ;


如 : 用户使用的是 arm64 芯片的 xxhdpi 手机 , 当前语言环境是英文的 , Google Play 就会按照如下要求生成新的 APK 文件 ;


动态库方面 : 删除 armeabi-v7a , x86 , x86_64 的动态库 , 只保留 arm64-v8a 动态库 ;

资源文件方面 : 删除除 xxhdpi 之外的资源文件 , 只保留 xxhdpi 资源文件 ;

国际化资源方面 : 只保留英文国际化资源 ;

APK 进行了上述优化 , 肯定会一定程度上减少了应用体积 ;


开发者上传 单一的 App Bundle , 由 Google Play 进行 动态分发 , 比上传多个 APK 更易于维护 ;



下图是官方提供的演示效果 , 左侧是传统 APK 打包过程 , 将所有资源打包到 APK 文件中 ; 右侧是使用 App Bundle 后 , Google Play 为下载应用的用户生成的定制 APK 包 , 删减了很多不必要的资源 ;

image.png



使用 App Bundle 可以实现定制化的灵活的分发 , 可以灵活的决定 分发内容 , 分发目标群体 , 分发时间 等分发要素 ;






二、App Bundle 定制化分发



1、应用内更新


应用内更新 : 可以在应用内直接启用更新机制 ; 类似于热修复 ;


Google Play 自带自动更新功能 , 不是所有的用户都会自动更新 , 如果 用户没有联网 , 连接的是运营商 3/4/5G 按流量收费网络 , 用户设置不自动更新 , 则该用户不会收到 App Bundle 推送的 自动更新 ;


对于开发者来说 , 用户无法更新到最新功能 , 可能会带来一些问题 ; 如 : 修复了重大 BUG , 添加了重要功能 , 都无法推送给用户 ; 多人游戏中 , 所有用户的使用版本必须一致 , 如果用户没有更新 , 则带来各种问题 ;



应用内更新的更新时机 :


即时更新 : 马上触发更新流程 , 不需要开发者有大量的开发 , 整个更新过程由 Google Play 实现 ;

灵活更新 : 开发者需要开发细粒度的更新流程 , 收到 Google Play 的更新推送后 , 选择一个合适的时机进行更新 ;


①、即时更新


即时更新示例 : 用户进入应用后 , 收到 Google Play 推送的更新 , 并显示本次更新内容 , 下载的更新包大小 ; 用户点击更新后 , 开始下载更新 , 并实时显示更新进度条 , 更新完成之后 , 扔留在应用中 , 继续使用 ;


整个下载流程都由 Google Play 控制 ;


开发者只需要触发更新 , 之后的工作都是 Google Play 负责 ;


image.png



即时更新代码示例 : 先创建 AppUpdateManager 对象 , 检查是否有更新 , 如果有则触发即时更新 , 或者像上面的示例一样 , 弹出一个界面 , 显示是否更新按钮 , 让用户触发即时更新 ;

image.png



②、灵活更新


灵活更新示例 : 用户使用应用时 , 提示用户当前有最新软件可用 ; 在界面中显示一个更新图标 ;

用户点击图标后 , 弹出对话框 , 让用户选择是否更新 ;


如果用户选择否 , 则直接退出当前界面 , 继续使用 ;

如果用户选择更新 , 则开始更新 , 更新的同时 , 用户可以继续使用该应用 ;

下载更新包并安装完成后 , 提示用户重启 , 并使用最新的应用功能 ;

image.png

目录
相关文章
|
19天前
|
Java Android开发
Rockchip系列之CAN APP测试应用实现(4)
Rockchip系列之CAN APP测试应用实现(4)
24 1
|
2月前
|
监控 安全 数据可视化
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
【教程】为什么要为 App 应用加固 ?如何为 App 应用加固 ?
|
3月前
|
JavaScript 前端开发 API
Google Earth Engine(GEE)扩展——制作的GEE app的误区
Google Earth Engine(GEE)扩展——制作的GEE app的误区
41 0
|
3月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
110 0
|
15天前
|
搜索推荐 前端开发 JavaScript
【专栏】从网页轻松转换为应用越来越便捷
【4月更文挑战第27天】本文介绍了将网页转换为移动应用的在线生成App过程,包括原理(封装网页内容,添加移动特性)、优势(便捷高效,节省成本,快速上线)以及具体步骤(选择工具,准备内容,配置选项,生成测试,发布推广)。同时,注意版权、兼容性和用户体验问题。通过案例分析和实践经验分享,帮助读者深入了解如何通过在线工具实现App梦想,强调了网页优化、用户界面设计和个性化定制的重要性。
|
2天前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
|
11天前
|
缓存 移动开发 前端开发
【专栏:HTML与CSS前端技术趋势篇】HTML与CSS在PWA(Progressive Web Apps)中的应用
【4月更文挑战第30天】PWA(Progressive Web Apps)结合现代Web技术,提供接近原生应用的体验。HTML在PWA中构建页面结构和内容,响应式设计、语义化标签、Manifest文件和离线页面的创建都离不开HTML。CSS则用于定制主题样式、实现动画效果、响应式布局和管理字体图标。两者协同工作,保证PWA在不同设备和网络环境下的快速、可靠和一致性体验。随着前端技术进步,HTML与CSS在PWA中的应用将更广泛。
|
12天前
|
前端开发 Android开发 开发者
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
【4月更文挑战第30天】本文探讨了使用Flutter开发混合应用的方法。混合应用结合Web技术和原生容器,提供快速开发和低成本维护。Flutter,一款现代前端框架,以其插件系统和高性能渲染引擎支持混合应用开发。通过创建Flutter项目、添加平台代码、使用WebView、处理平台间通信以及发布应用,开发者可构建跨平台混合应用。虽然混合应用有性能和用户体验的局限,但Flutter的跨平台兼容性和丰富的插件生态降低了开发成本。开发者应根据项目需求权衡选择。
【Flutter前端技术开发专栏】Flutter中的混合应用(Hybrid Apps)开发
|
25天前
|
Android开发 UED 开发者
解释Android App Bundle是什么,它的优势是什么?
Android App Bundle是Google开发的优化应用分发技术,它打包应用及资源以减少下载大小,加快加载速度,节省用户流量。App Bundle支持离线使用,简化更新过程,提升用户体验。开发人员借此能更高效地构建和分发Android应用。
13 0
|
25天前
tauri-app生成应用的图标
tauri-app生成应用的图标
9 0