スマホアプリならではの機能として利用されるプッシュ通知ですが、プッシュ通知を送るサーバーが必要です。アプリ実装はほぼ完了時点になってはじめて、プッシュ通知の配信テストを行う事が多く、後回しになりがちです。
- 「ローンチギリギリまでテストに時間をまわせない」
- 「とりいそぎ、この検証端末に配信ができるか確認したい」
- 「本番配信前にプッシュ通知のイメージを確認したい」
などということは配信直前によくある場面だと思います。そこで、開発時にテストを見積もるために、プッシュ通知のテストパターン~開発編~としてご紹介します。
1)開発前:とりあえずできるのか配信テストしてみたい
まず開発前の段階では、プッシュ通知はどうやって実現するのか、仕組みを確認した上で、動作テストする必要があります。
デバイストークンが取得できているかの確認
プッシュ通知を配信する大前提として必要なのが「デバイストークン」です。メール配信で言えば「メールアドレス」に相当するものがプッシュ通知で言う「デバイストークン」です。まずはアプリの中で端末のデバイストークンを取得するところから作りこんでいく必要があります。取得したデバイストークンを確認するには3段階あります。
- アプリの中でデバイストークンが取得できているか
- アプリ内で取得したデバイストークンをどこかのサーバにおけるか
- サーバーに置いたデバイストークンが使えるものか
そのデバイストークンで配信ができるか
晴れて、サーバーにデバイストークンが置ければ、いよいよプッシュ通知の配信テストができます。サーバーに置いたデバイストークンと、トークンを紐解く証明書を組み合わせて、とりあえず登録された全端末に配信テストをしてみましょう。
プッシュ通知のテスト配信ダミーデータイメージはこのような感じです
タイトル:「テスト配信 」 本文:test 12345678901234567890本日は晴天なり!
デバイストークンの取得と全配信するまでの一連の流れをニフクラ mobile backend を使った流れを下記に紹介しておきますので、試してみたい方は配信テストまで試してみて下さい。
2)開発中:ジャンルやOS別の検証をするプッシュ通知テスト
次に、開発にとりかかった段階では、登録された全端末ではなく、開発者が取り扱っている特定の検証端末にプッシュ通知ができるのかどうかのテストをしたくなります。あるいは、AndroidとiOSで文字数やアイコンの扱いの違いでプッシュ通知の見た目がどう違うのかなど、OSごとの配信テストもしたくなるでしょう。
AndroidやiOS毎の検証端末OS別テスト配信
この場合のAndroidでのプッシュ通知のテスト配信イメージはこのような感じです
タイトル:「テスト配信 Android機」 本文:Androidでの見た目はどうなるのかtest12345678901234567890本日は晴天なり! 配信端末:Android
この場合、AndroidやiOSでの表示の違いをプレビューしたり、適切な文字数を参考に確認しておいたり、タイトル、本文、アイコンの取扱をサンプルにとっておきます。
チャンネル毎の配信ができるか確認テスト
1つのアプリで複数のジャンルのプッシュ通知を配信する「チャンネル」という方法があります。
例えば、ニュースアプリであれば「芸能ニュース」「海外ニュース」「スポーツニュース」などのジャンルがあった際に、ユーザが「芸能ニュース」のチャンネルを選択するとします。すると「芸能ニュース」チャンネルが設定されたプッシュ通知のみがそのユーザに届くようになる考え方です。
この場合の「芸能ニュース」と「スポーツニュース」チャンネルのプッシュ通知のテスト配信イメージはこのような感じです
タイトル:「【Channel:geinou】芸能ニュース テスト配信」 本文:芸能ニュース:白鳥アヒル子が電撃入籍! Channel:geinou タイトル:「【Channel:sports】スポーツニュース テスト配信」 本文:スポーツニュース:横浜アヒージョがハットトリック弾! Channel:sports
この場合、「芸能ニュース」「スポーツニュース」などのチャンネル毎の配信をテストして、ユーザの設定したチャンネル通りに届くのかを確認しておいたり、チャンネルごとの配信イメージをサンプルにとっておきます。
グループ配信でチャンネルを絞り込んで配信するために ニフクラ mobile backend を使った手順を下記に紹介しておきますので、試してみたい方はチャレンジしてみて下さい。
プッシュ通知を起点にしてアプリの挙動を変えるテスト
「チャンネル」よりもう少し高度なプッシュ通知の方法として「リッチプッシュ」や「ペイロード」を使った配信方法があります。これはプッシュ通知の文言とは別に「URL」や「メッセージ番号」や「アプリ画面番号」のように、プッシュ通知だけでは伝えきれない情報を届ける仕組みです。例えば、「別のWeb画面」や「ディープリンク」をアプリ内で開かせたり、「別のシステムの情報」を引き当てるための「メタ情報」をプッシュ通知に乗せて送ることが出来ます。
実際に「メタ情報」がアプリ側でハンドリングできるか、またハンドリングしたデータを元に画面や挙動が設計したとおりに動くか、テストをします。
さいごに
いかがだったでしょうか。この記事を参考にして、開発見積の際にどういう段取りでテスト配信をする必要があるか、テスト工程を見積もってみて下さい。また、アプリをローンチした後の運用中のプッシュ通知テスト配信のために、プッシュ通知のテストパターン~運用編~としてまとめましたので併せてご覧いただければと思います。
アプリ開発の前に事前にプッシュ通知を試してみたい、フィージビリティスタディの為にプッシュ通知を学んでおきたいという方は今回ご紹介したチュートリアルやハンズオンセミナーに参加して手軽にためすことができますので、是非トライしてみて下さい。