ウェブアプリをパソコンに「インストール」する操作は、これまでブラウザ任せでした。アドレスバーの小さなアイコンやメニューの奥の項目を、利用者が自分で見つけるしかなかったのです。10月28日にベータ版になったChrome 158では、この入口をサイトの側で用意できる仕組みが入ります。安定版の予定日は11月17日とされています。
中身は二つあります。一つはJavaScriptから呼ぶ navigator.install()、Web Install APIと呼ばれるものです。もう一つは、HTMLに <install> 要素を一つ置くだけで、ブラウザがインストールのボタンを描いてくれる方法です。Chrome Platform Statusの項目では、Web Install APIはこの要素と並行して出すと説明されています。どちらも、いま開いているサイトだけでなく、別のサイトのウェブアプリもインストールの対象にできます。自社の複数のアプリを一覧ページに並べ、それぞれにボタンを付けるといった使い方が想定されています。
勝手に入るわけではない
サイトができるのは「インストールしませんか」と尋ねるところまでで、確認を出すのはブラウザ、決めるのは利用者です。<install> 要素はボタンの文言や見た目をブラウザが決めるため、利用者のクリックを本当の意思表示として扱える、というのがChrome for Developersの説明です。navigator.install() のほうは、クリックやタップといった利用者の操作の直後でないと呼べません。企業や学校では、WebAppInstallByUserEnabledというポリシーで利用者によるインストールを止めたり、web-app-installationという権限ポリシーで使えるサイトを絞ったりできるとされています。
実務で気になるのは準備の手間です。ウェブアプリのマニフェストに id の項目があれば、<install> 要素は一行で済みます。id がない場合は、開発者ツールのApplicationタブに出る計算済みのIDを別に指定します。対応していないブラウザでは要素の中に書いたHTMLがそのまま表示されるので、普通のリンクを入れておけば代わりの導線になります。
ほかのブラウザの足並みはそろっていません。OpenPWAがまとめたChrome Platform Statusの記録では、Web Install APIの対象はデスクトップ版のChromeで、Androidなどの時期は書かれていません。標準化への立場は、Mozillaが態度未表明、WebKitが反対です。<install> 要素はMicrosoft EdgeのチームがChromeのチームと共同で実装してきたもので、当面はChromium系のブラウザ向けの機能と考えておくのがよさそうです。
中小企業のサイトでウェブアプリまで用意している例はまだ多くありませんが、予約や会員向けの画面をアプリのように使ってもらいたい場面では、案内の手間が一段減ります。すでにマニフェストを置いているサイトなら、id が入っているかを確かめておくだけでも、試すための下準備としては十分です。













