WWDC 2023のセッション「Meet Push Notifications Console」にて、プッシュ通知のテストができるコンソールが紹介されていたので早速触ってみました。
何がうれしい?
- ログの機能がついたので、通知が届かない場合の調査がしやすくなった。
- 今までAPNs経由でプッシュ通知を飛ばすには、curlコマンドを叩いたり、サードパーティー製のツールを使う必要があったが、今後それらが不要になる(はずだった。。 ※後述)
Push Notifications Consoleの使い方
まずは、Push Notifications Consoleにアクセス。
通知を新規作成するときのコンソールはこんな感じです。(左上のメモのアイコンから新規作成できます)

JSON ViewをONにすると、直接JSONで書くこともできます。

右上のGet cURL Commandからcurlコマンドを生成してくれる機能もあります。

NameとDevice Token以外はデフォルト値が入っているので、この2つを入力してSendを押すと通知を送信することができます。
通知の受信に成功すると、successfully delivered to the target deviceというLogが表示されます。

試しに端末の電源を切った状態で通知を送信したら、discarded as device was offlineとなりました。(今まで使っていたサードパーティ製のツールだとsuccessとしか出なかったので、ログによってより詳細な情報が分かりそうです)

こんな感じで使い方はとても簡単でした。
Push Notifications Consoleへの不満
このコンソールによってサードパーティー製のツールが不要になるかと思いきや、まだ微妙な点が。。
-
送信履歴から同じ通知を再送する機能がない(全く同じ内容の通知データをコピペで作らないといけない)(追記: 再送信機能が追加されました👏) - 送信履歴の削除・順番の入れ替えができなく、通知の種類ごとのテンプレートをまとめることができない
とくに1つ目が致命的だと思っていて、同じ通知を複数回送りたいケースはよくあるので再送機能がないと使う気になれない。。
まとめ
今のところは使い勝手が悪く、しばらくは今まで通りサードパーティー製のツールに頼ることになりそうです。
ただ、ログが見れる機能は便利なので、”テスト通知がなぜか届かない!”みたいなときはコンソールを使ってログを見ると原因が分かるかもしれません。
