[译] PWA 再进化,可以生成一个安卓原生的 WebAPK 了,Android自学资料

android:host=“example.com”
android:pathPrefix=“/” />

如果用户在某个应用程序中点击了一个跳转到 https://example.com/read 的链接,这一行为将会被 intent 捕捉到,并且在对应的 PWA 中打开该链接。

注意:从地址栏里直接跳转到 https://example.com/app/ 和从带有该消息传递对象(intent)过滤器的原生应用里打开这个链接是一样的。Chrome 会认为用户是有意识地想要访问这个地址并且打开它。

使用 scope 限制 intent filters

如果你不想要你的 PWA 处理网站上所有的链接,你可以添加 scope 属性到 manifest 中。scope 属性会告诉安卓系统只在 URL 与 originscope 匹配时打开你的 PWA,并且规定哪些 URL 应该在 PWA 中被开打以及哪些 URL 应该在浏览器中被打开。当你的应用与其他非应用内容在同一个域名下时,scope 非常有帮助。

让我们看看下面这个 manifest.json 文件的片段,当它从程序启动器中被调用时,它将会以一个独立应用程序的形式启动 https://example.com/app/,并且不需要任何浏览器。

“scope”: “/app/”,
“start_url”: “/”,
“display”: “standalone”,

和之前一样,生成的 WebAPK 将会包括 intent filters,但它会修改 APK 中 AndroidManifest.xml 里的 android:pathPrefix 属性:

让我们看几个简单的例子:
https://example.com/app/ — 在/app/路径下
https://example.com/app/read/book — 在 /app/路径下
https://example.com/help/ — 不在 /app/路径下
https://example.com/about/ — 不在 /app/路径下

如果你不想设置 scope 属性,或者想知道如何定义 PWA 的 scope,更多内容请参考 scope

权限管理

权限管理的运作和其他网络应用是一样的,它们需要在运行的时候请求而不是在安装的时候请求。理想的情况是只在你需要它们的时候请求。比如说,不要在一开始加载的时候就请求相机的权限,而是在用户准备拍照的时候再请求。

注意:通常情况下,安卓系统会马上授予刚安装的应用发送通知的权限,但这并不适用于通过 WebAPK 安装的应用。因此,你需要在运行的时候发起通知权限的请求。

管理储存空间和应用状态

虽然 PWA 是通过 APK 安装的,Chrome 会使用当前的配置文件存储数据,并且不会将它们隔离开。这为浏览器和应用程序之间交互提供了数据共享的体验。在这里,缓存是共享且活跃的,任何客户端的储存空间都是可以被访问的。与此同时,服务器端也是安装好并且随时可以运行的。

不过,这在用户清除他们的 Chrome 配置文件或者网站数据时会出现问题。

常见问题

如果用户已经安装了该网站的原生应用怎么办?

就像 PWA 安装横幅一样,用户可以添加任何独立于原生应用的网站到主屏幕。如果你期望用户同时安装这两者,我们建议你用不同的图标或者名字来区别你的网站和应用。

当用户通过安装了的 PWA 打开某个站点时,Chrome 在运行吗?

是的,一旦该站点通过主屏幕被打开,主要的活动依旧在 Chrome 下运行。缓存、权限以及所有的浏览器状态将会被两者共享。

如果用户清除了浏览器缓存,已安装的 PWA 的储存空间会被清除吗?

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节

还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。

一线互联网面试专题

379页的Android进阶知识大全

379页的Android进阶知识大全

点击:

Android架构视频+BAT面试专题PDF+学习笔记》即可免费获取~

50)]

点击:

Android架构视频+BAT面试专题PDF+学习笔记》即可免费获取~

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值