このすみノート

Webエンジニアが技術や趣味を書くブログです。

業務でiOSのWebpush対応を実装した

仕事でiOSのWebpush対応を実装しました。 と言っても、既にブラウザ向けのWebpush対応が実装済みのサービスだったため、実質manifest.jsonを置くくらいしかやっていないのですが。

念のためメモします。

詳細な対応方法について

  • インターネットに知見がたくさんあるので、参考にしました。
  • ねりけしさんの記事が、とくに参考になりました。

zenn.dev

実装のポイント

manifest.jsonが必須となる

  • manifest.jsonはPWA関連の技術なのですが、iOSでWebpushに対応するにはmanifest.jsonが必須です。
  • "display": "standalone" または`"display": "fullscreen" 以外ではうまく動きませんでした。

Service Workerの実装

  • Weppushをユーザーに促すためには、通知を許可してもらう必要があります。
  • Service Workerで処理させ、ユーザーアクションによってAPI経由で通知情報を保存します。
  • なお、私の環境では既にブラウザ向けのWebpush対応が実装済みだったので、何もしませんでした。

ホーム画面に追加してもらうための工夫

  • これが一番重要です。アプリホームのアイコン経由で開いてもらわないと、Weppush可になりません。
  • ホーム画面に追加は、A2HSと呼ばれることを最近知りました。

developer.mozilla.org

あとがき

  • メモ書きなので記事内容が雑なのですが、後日清書したいと思っております。
  • 仕事用のJSコードなので簡単に掲載できないのですが、ブログ用に加工してもうちょっと詳細に書きたい。