仕事でiOSのWebpush対応を実装しました。 と言っても、既にブラウザ向けのWebpush対応が実装済みのサービスだったため、実質manifest.jsonを置くくらいしかやっていないのですが。
念のためメモします。
詳細な対応方法について
- インターネットに知見がたくさんあるので、参考にしました。
- ねりけしさんの記事が、とくに参考になりました。
実装のポイント
manifest.jsonが必須となる
- manifest.jsonはPWA関連の技術なのですが、iOSでWebpushに対応するにはmanifest.jsonが必須です。
"display": "standalone"
または`"display": "fullscreen"
以外ではうまく動きませんでした。
Service Workerの実装
- Weppushをユーザーに促すためには、通知を許可してもらう必要があります。
- Service Workerで処理させ、ユーザーアクションによってAPI経由で通知情報を保存します。
- なお、私の環境では既にブラウザ向けのWebpush対応が実装済みだったので、何もしませんでした。
ホーム画面に追加してもらうための工夫
- これが一番重要です。アプリホームのアイコン経由で開いてもらわないと、Weppush可になりません。
- ホーム画面に追加は、A2HSと呼ばれることを最近知りました。
あとがき
- メモ書きなので記事内容が雑なのですが、後日清書したいと思っております。
- 仕事用のJSコードなので簡単に掲載できないのですが、ブログ用に加工してもうちょっと詳細に書きたい。