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つ目が致命的だと思っていて、同じ通知を複数回送りたいケースはよくあるので再送機能がないと使う気になれない。。
まとめ
今のところは使い勝手が悪く、しばらくは今まで通りサードパーティー製のツールに頼ることになりそうです。
ただ、ログが見れる機能は便利なので、”テスト通知がなぜか届かない!”みたいなときはコンソールを使ってログを見ると原因が分かるかもしれません。