こんばんは!
FF16プレイ中の @peka3 と申します
iOS16.4から、ついにiOSでもWebPushが使えるようになりました
今までGameWithアプリではプッシュ通知を活用していましたが、Webにおいても、ユーザーからのアクションを待つだけではなく、こちらからアクションを仕掛けられるプッシュ通知は大きな武器になります
うまく活用できれば、例えば
- ポケモン交換掲示板でレスがついたらプッシュ通知でわかる
- モンストマッチングしたらプッシュ通知でわかる
- ツールの更新がプッシュ通知でわかる
などを、ユーザーが受動的に知ることが出来ます
ということで、iOSでのWebPushを試してたんですが、
実情色々厳しいところがあったので、その共有の記事となります
結論から言うと
iOSのWebPushは制限が多く、活用が難しそうでした
以下にその詳細を書きます
iOSではPWAとして起動した場合のみ、WebPushが使える
- まず、PWAとしてインストールしてもらうには、WebサイトをPWAとしての体裁を整えた上で、ユーザーに「ホーム画面に追加」をして貰う必要があります
- さらにその後、インストールしたPWAのほうからWebPushの購読をして貰う必要があるので、Webからアプリに移行するのとそう変わらない作業をユーザーに強いる必要があります
プッシュ通知が来ても音がならない
- 通知を許可すると、iOSの「設定」で、他にアプリと同じようにPWAの設定画面が出てきますが、そこの「通知設定」でサウンドの設定がありません
- 通知が来ても音がなりません。
- プッシュ通知によって こちらからユーザーにアクションする という意味合いが、かなり薄くなってしまいます
PWA自体のUI設計も考慮が必要
- iOSでアプリとして認識させるにはウェブアプリマニフェストで
display: standalone
にする必要があるのですが- この設定にするとアプリのようなUIになるので、URLバーが非表示になります
- Safariではないので「戻る・進む」ボタンがありません
URLを意識しないUI構成、外部リンクを外すなど、考慮する必要がありそうです
※ ウェブアプリマニフェストはWebサイトをPWAとしてインストール可能であることを、ブラウザに知らせるためのjsonファイルです
SafariとPWAでcookieなどのストレージが別扱い
- PWAとしてインストールした瞬間、Safariと別のストレージが作られるようです
- localStorageも別になります
- GameWithIDもアプリ側で再ログインが必要
まとめ
WebPushによるプッシュ通知は、アプリのプッシュ通知と比較して機能に制限がある上に、PWA対応も必要で導入コストが高く感じました
今は登場したてで制約が多く使いにくいですが、今後の発展に期待したいと思います!
iOSでWebPushを使ってみたいと思った方の参考になれば幸いです!
GameWithでは現在エンジニアを絶賛募集中です!
サーバーエンジニアやフロントエンジニアの方、AIに興味がある方や、Unityでの開発に興味がある方もお気軽にカジュアル面談をお申し込みください!