Progressive Web App Shortcuts: 程序快速启动选单 (9)

什麽是 App Shortcuts

App Shortcuts 提供程序快速启动选单,透过这个捷径用户能够更快速的使用各式功能,让常用且关键的功能更容易被快速重复使用。

目前 PWA 快速启动选单仅限於安装完成的 Progressive Web App 相关的支援度如下

  • Android (Chrome 84): 透过长按桌面上的 Icon
  • Windows、macOS (Chrome 85 and Edge 85): 开始捷径列上的 Icon 按右键
  • Chrome OS (Chrome 92)

快速启动选单 (图片来源: https://web-dev)

App Shortcuts Menu 应用场景

那 PWA 快速启动选单 (App Shortcuts Menu) 解决了什麽问题?

选单中的每个列表其实都可以看成一项用户意图 (user intent),这个部分在 Web App 设计架构时就要将相关的 URL 一起设计进去整个 App 的 Scope 中,举几个适合的例子来说:

  • 第一层导航栏: 首页、最近的订单
  • 搜寻功能: 列车时刻就可以搭配个人常用起终点
  • 任务: 写一封新信、发一篇文章
  • 常用活动: 打开跟家人的聊天群组

App Shortcuts 配置

shortcuts 在 web app 的 manifest 中是选填栏位,manifest 这个档案是一个 JSON 配置档,浏览器就是透过这个档案将 Progressive Web App 安装到装置上。

shortcuts 会是一个阵列,阵列中会有每个启动选单的相关配置包含

  • name、short_name: 名称必填
  • url: 捷径连结必填
  • description: 描述选填
  • icons: 不同於主程序的 icon 选填

{
  "name": "Player FM",
  "start_url": "/",
  // … 其它配置
  "shortcuts": [
    {
      "name": "Open Play Later",
      "short_name": "Play Later",
      "description": "View the list of podcasts you saved for later",
      "url": "/play-later?utm_source=homescreen",
      "icons": [{ "src": "/icons/play-later.png", "sizes": "192x192" }]
    },
    {
      "name": "View Subscriptions",
      "short_name": "Subscriptions",
      "description": "View the list of podcasts you listen to",
      "url": "/subscriptions?utm_source=homescreen",
      "icons": [{ "src": "/icons/subscriptions.png", "sizes": "192x192" }]
    }
  ]
}

shortcuts 配置验证

要看快速启动选单 (App Shortcuts Menu) 有没有配置正确,最快的方式就是透过开发者工具中 Application Panel 里面的 Manifest 来查看,如下图。

shortcuts 配置验证 (图片来源: https://web-dev)

shortcuts 范例实做

整个架构就蛮简单的,稍微改写官方范例,如下所示根目录为彩色功能整合首页然後其它颜色的路径则为子功能。

原始档: https://github.com/LinYenCheng/pwa-app-shortcuts
Demo 站台: https://linyencheng.github.io/pwa-app-shortcuts/

├── blue/             
│  └── index.html     # 蓝色功能页
├── green/            
│  └── index.html     # 绿色功能页
├── red/              
│  └── index.html     # 红色功能页
├── yellow/           
│  └── index.html     # 黄色功能页
├── index.html        # 彩色功能整合首页
├── manifest.json     # Web App 配置档
└── sw.js             # Service Worker

App Shortcuts 顺序安排

由於不同的平台目前针对启动选单的数量有着不同的限制,所以会建议仔细思考并妥善安排捷径在配置档中阵列的顺序。

  • 10 笔: Windows 的 Chrome、Edge
  • 4 笔: Android 的 Chrome
  • 3 笔: Android 7 的 Chrome 92

<<:  Day 7 重新设计资讯架构 (IA面)

>>:  06 - TPM - Tmux Plugin Manager 与它的插件

JavaScript 语言和你 SAY HELLO!!

第十三天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,知...

Day2 将麦块农场的电脑「开机」吧!

上一篇文章我简介了 ComputerCraft: Tweaked 麦块模组 今天我要来将里头的电脑开...

第 27 型 - 路由 (Router) - 参数传递

上一篇利用 Angular 路由机制实作待办事项清单与表单页面的切换,这一篇将路由的参数或资料的定义...

[Day24] 谈谈写测试的好处:从为你自己写测试开始

前几周主要都在谈 TypeScript,对我来说 TypeScript 最重要的是能增加程序的可维护...

Day29

草莓正在奋力地练习之前学过的 JavaScript,熊熊刚下班急忙忙地跑过来。 「草莓啊不好意思,公...