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 与 origin
和 scope
匹配时打开你的 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移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
还有 高级架构技术进阶脑图、Android开发面试专题资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
点击:
《Android架构视频+BAT面试专题PDF+学习笔记》即可免费获取~
50)]
点击:
《Android架构视频+BAT面试专题PDF+学习笔记》即可免费获取~
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。