Cent PWA小技巧

作为一个记账应用,Cent的愿景是尽可能地接近原生App的使用体验,成为PWA是最基础的一步,然而由于目前手机厂商的消极适配,PWA的使用体验在国内可谓一言难尽。为了尽可能提升Cent作为PWA的使用体验,有一些小技巧可以分享:

作为App安装

PWA的最大好处就是可以被安装到桌面上,像一个普通的app那样,独占全屏,并且单独的出现在任务管理页中。

桌面端

使用Chrome浏览器或者新版Edge浏览器都支持直接将网页作为App安装,打开Cent网页后即可在导航栏中看到安装图标,直接可以安装到程序列表中。注意Mac用户Safari目前尚不支持安装PWA,需要使用Chromium内核的浏览器。

Android

目前国内安卓手机厂商自带浏览器基本上都阉割了PWA安装功能,只能通过下载Chrome浏览器后进行安装,使用Chrome浏览器访问Cent网址后,在右上角网页设置中可以看到将站点作为App安装选项,点击即可安装,不过安装过程可能会有点坎坷,需要多尝试几次。

iOS & iPadOS

iOS 26 & iPadOS 26 已经全面支持将网页作为App安装(欧盟地区除外),其他更低的版本也基本上全都支持安装PWA,使用自带的Safari浏览器访问Cent网址后,点击分享图标,找到添加到主屏幕选项,即可安装至桌面。

小技巧:使用这个快捷指令可以将任意网页作为App安装,并且支持自定义图标

快捷记账

使用iOS 快捷指令可以快速打开App,同时执行一系列自动操作。在安装Cent到主屏幕后,可以通过下面的URL来快速打开Cent:

markdown
webapp://cent.linkai.work/

注意末尾的斜杠是必需的,否则会随机打开一个web app。

但是iOS对webapp协议做了限制,无法添加任何参数,这就意味着无法通过URL传参的方式来达成快速记账的功能,我尝试了很多方法都无法生效,最后只能使用一种极其抽象的方法,来实现快速进入记账页。

由于iOS浏览器对网页严格到变态的权限控制,web读取系统数据被限制得死死的,不是完全无法获取,就是需要用户手动授权,几乎锁死了快捷指令向PWA传输一丁点信息的可能,我最后唯一想到的方法,就是读取一些边边角角的系统设置,通过这些系统设置的变化规律来确定是否是由快捷指令触发的,例如,通过在一段时间内快速更改某些设置,这是正常打开应用时不会出现的变化,但是可以由快捷指令实现,从而可以识别出究竟是由用户手动打开,还是通过快捷指令打开。那么有什么设置可以做到呢?

有请“减弱动态效果”出场!这是一个隐藏在iOS系统设置中很多年的系统设置,它也是为数不多web应用可以无感读取的系统设置数据之一,即不需要用户手动授权,还能实时监听设置变化。类似的设置还有“低电量模式”,“深色模式”,但是这些对用户的打扰也比较大,通过快捷指令切换时,用户难免会看到系统界面的变化,体验不太好,而“减弱动态效果”几乎完全无感,于是,下面这个实验性功能开关出现了:

image.png

打开这个开关,再结合这个快捷指令日计PWA记账页,就可以实现通过快捷指令快速打开Cent并直接进入记账页了,原理就是在打开Cent后,连续快速地更改“减弱动态效果”的开关,让Cent监听到对应的变化,从而直接打开记账页。

不得不说,一个明明非常简单的功能,却硬生生变成了这样的实现方式,PWA的发展道路路阻且长啊。