Konyを使って特定のデバイスにPushの送信テストする方法

##目次
1. はじめに
2. Push送信テスト手順
3. まとめ


##はじめに
前回↓の記事でPush送信機能を実装するための記事を作成しましたが、
リリース前にPushがちゃんと送信できるか確認したい時があると思います。
[EngagementServiceを使いiOSデバイスでPush通知を送信 Part1](https://qiita.com/Kony_Team/items/2e5cafb73481bf4179e0)

そんな時に役立てるように、
この記事では、特定のID向けにPushを送信するためのテスト方法をご紹介します。

##Push送信テスト手順
### Engagement Serverに証明書をアップロード
こちらの記事の、[②Engagement Serverに証明書をアップロード](https://qiita.com/Kony_Team/items/2e5cafb73481bf4179e0#engagement-server%E3%81%AB%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89)  まで完了している方は、Engagement ServiceのAppメニューを開いた時に、開発したアプリが表示されているかと思いますので、このステップは飛ばしてもOKです。
![スクリーンショット_2020-10-13_16_14_31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/e9a73c63-db93-01b7-4051-d083a043bc9c.png)

もし、Engagement Serverでアプリがまだ表示されていない方は、上の記事を読んで②までの手順を参考にしてみてください。

### アプリ側でPush通知許可
Engagement Serverにアプリが表示されたら、
実機に対象のアプリをインストールして、Pushの通知を許可してあげてください。
![IMG_1886.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/f101fe84-e5c9-f7a9-0694-c79b3056e500.png)


実機でのPush通知を許可すると、Engagement ServerのSubscribersに自分のIDが登録されます。
左メニューのSubscribersを選択するとPushを許可したユーザーの一覧が表示されますので、
後ほど特定のデバイスのみPush通知を送るために、
ご自身のデバイスを探して、INSTALLED APPS列のアプリ名の下の情報をコピーしてどこかにメモしておいてください。

![subscriber.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/3628848c-8f2a-269d-e3a3-956830035e67.png)

もし同じ環境に別アプリが複数あり、ユーザー数が多くて探し切れない場合は適宜、
日付やアプリ名でソートして検索を行ってみてください。
![スクリーンショット 2020-10-13 14.54.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/1c9ff2b4-a117-2a73-8744-26d258f5fa5a.png)

### 対象のID向けにPushを送信
対象のIDを取得したら、左メニュのAdhocを開きます。  
![スクリーンショット_2020-10-13_15_30_20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/4a0f20f0-4377-8005-6037-46dd6232cc6a.png)

Adhocを開くと、このような画面が開きますので、
以下の項目をそれぞれ選択してください。
ここでは、いますぐPush通知を送信したかったので、Send Messageの項目をNowに選択しています。
![スクリーンショット_2020-10-13_15_34_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/37182225-8fbd-1b68-fb22-fa58dca60dad.png)

もし特定の日付でPushを送信したい場合は、
laterを選択して、開始と終了の日時を設定してください。
![スクリーンショット 2020-10-13 15.36.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/caa105c4-3a15-d3a2-8779-9fbe9cc93fe6.png)

完了したら、「NEXT」をクリック

次のSelect Userタブで先ほどコピーしておいたIDを指定します。
Subscribers of アプリ名　を選択すると、Push許可したユーザーが一覧表示されます。
特定のIDにPushを送りたいので、検索ボックスに先ほどコピーしておいたIDを検索してください。

![スクリーンショット_2020-10-13_15_39_46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/9efbfe19-a8ed-ab48-9ea0-663556a2fcf9.png)

対象のデバイスが表示されたら、ボックスにチェックをつけてNEXT!
![スクリーンショット_2020-10-13_15_43_18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/9f932e8a-068e-c09e-f704-a972384665c7.png)

Define Messageで、Pushを送る際のメッセージについて記載します。
今回は、テストのため以下のように設定しました。
ここまで設定完了したら、最後にSENDボタンをクリック:point_up:
![スクリーンショット_2020-10-13_15_47_19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/69bc4345-da72-2abc-8da4-a883f1363da2.png)

実機でPushがちゃんと届いたか確認してみましょう！
![pushテスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/592264/a9a862e7-ccd8-5908-a398-533eb508953c.png)


無事タイトルもメッセージも設定した内容で、Pushの受信ができました:relaxed:

もしここでPush通知の受信ができない場合は、
アプリを作成したときの証明書と相違がないかや
アプリをビルドしたときの環境が誤っていないかなど確認してみてください。

##まとめ
今回は、Push通知を特定のデバイス向けにテストする方法を説明しました。
アプリにPush機能を入れている開発者の方は是非試してみてくださいね:clap: