Open1
【PWA】Next.jsのAppRouterでiphoneのホーム画面にアプリとして追加できるようにする。

環境
Next.js:v15.1.6
PWAとは
PWA(プログレッシブウェブアプリ)とは、Webサイトをアプリのように利用できる技術や仕組みです。Webサイトとアプリの両方の利点を備えており、ネイティブアプリのような機能を使用することができます。
PWAのやり方
1.iPhoneでChromeを開く
2.右上の共有マーク
3.ホーム画面に追加
4.ホーム画面にアプリアイコンが追加される。
問題点
ただ、Next.jsで何も設定していないとアドレスバーが表示されてしまう。
アドレスバーが表示されなくなるとても簡単な方法を見つけた。
一番簡単な方法は、layout.tsxこの1行を追加するだけ。
さらに細かく設定するには
Next.jsはここら辺の設定がとても簡単にできるっぽい。
Appディレクトリ下にこのようなmanifest.tsを追加するだけでアプリ名やアイコンなどの細かい設定が可能に。
特に、画面遷移してもPWAを継続したい場合はこの方法でできた。
app/manifest.ts
import type { MetadataRoute } from 'next'
export default function manifest(): MetadataRoute.Manifest {
return {
name: 'Next.js PWA',
short_name: 'NextPWA',
description: 'A Progressive Web App built with Next.js',
start_url: '/',
display: 'standalone',
background_color: '#ffffff',
theme_color: '#000000',
icons: [
{
src: '/icon-192x192.png',
sizes: '192x192',
type: 'image/png',
},
{
src: '/icon-512x512.png',
sizes: '512x512',
type: 'image/png',
},
],
}
}
参考
公式ドキュメントによると、プッシュ通知の追加も簡単にできるとのこと。
まだ試していないが、もしかしたらiOSのプッシュ通知もできるかもしれない。