プッシュ通知を作成する際には、何らかの条件を使って配信対象を絞り込めます。アプリのバージョンや、独自のデータをInstallationクラスに付与して絞り込むこともできますが、社内のデータベースから対象を抽出して、条件に指定したいという場合もあるでしょう。
今回はそうしたワークフローで利用できるツールを作成したので、使い方を紹介します。
プッシュ通知を作成する
まず管理画面でプッシュ通知を作成します。その際、絞り込み条件として applicationName = TEMPLATE
として作成してください。もちろんそのようなアプリ名ではないと思いますので、配信対象は0件になるでしょう。また、配信日時は未来の日時としてください。
このプッシュ通知データがテンプレートになります。
ツールを立ち上げる
プッシュ通知用ツールを立ち上げます。コードは ncmb-push-manager にありますので、任意のWebサーバーやローカルでHTTPサーバーを立ち上げてアクセスします。
設定は一カ所変更します。 js/config.json
を開いて、アプリケーションキーとクライアントキーを設定してください。
{ "applicationKey": "YOUR_APPLICATION_KEY", "clientKey": "YOUR_CLIENT_KEY" }
そして、このツールのURL http://localhost などにアクセスします。
対象となるプッシュ通知を選択
ツールを開くと、上記の作成したプッシュ通知を一覧表示されます。この時の検索条件は applicationName が TEMPLATE と指定されているデータです。
利用するプッシュ通知を選択します。
CSVをアップロードする
選択したプッシュ通知のタイトルとメッセージが出るので、内容が問題ないか確認してください。
続いてCSVファイルをアップロードします。このファイルの内容はInstallationクラスのobjectIdが並んだファイルになります。以下のような形です。ヘッダー行は不要です。
Fhokngl2mCjUrXHl LUCBto8SHCMjEuE2 Xa87mVgYAZytZZ2d NpOWxRFVUk8FlkQb NpOWxRFVUk8FlkQb zetBJgErdBDrGHdN T2MutseJ8KarePQM ftxtjVeGIgWifhqT rooRoK24eePuGDAX
プッシュ通知を作成する
保存するボタンを押すと、プッシュ通知が作成されます。テンプレートになるプッシュ通知をベースとして、上記CSVファイルに並んだ文字列をobjectIdの検索文字列として適用します。
この時、objectIdは5,000個ごとに区切って別なプッシュ通知にします。検索条件にinを用いているためにシステム負荷が大きくなる懸念があるためです。5,000件程度であれば問題ありませんので、5,000件をマックスとしてプッシュ通知を分けています。
例えば57,000件のデータがあった場合、12件のプッシュ通知(5,000件が11データ、2,000件が1データ)作成されます。
他の条件(メッセージや配信日時など)は元のプッシュ通知の内容をそのままコピーしています。元のプッシュ通知は検索条件がマッチしないものになっていますので、配信対象が0件として配信完了します。
注意点
SDKからのプッシュ通知操作を許可してください
プッシュ通知は設定でAPI操作できない指定ができます。今回の場合、API操作が拒否されているとプッシュ通知が作成できなくなりますので必ず許可してください。また、プッシュ通知のパーミッション設定もご注意ください。
Webサーバーが必要です
今回のシステムでは何らかのWebサーバーが必要です。特にプログラム(PHPなど)が動作する必要はありません。
利用しないテンプレートは削除してください
最初に作ったテンプレート用のプッシュ通知は、利用しない場合は後ほど削除してください。 テンプレート用のプッシュ通知が複数あった場合、それぞれ配信が行われます。
まとめ
このツールを使うことで、自社データベースと連携するプッシュ通知の作成が容易になるはずです。もちろん、SDKを使ってコードで自動化することもできるでしょう。しかし、そうした開発が難しかったり、CSVで連携する方が楽な場合もあるかと思います。
本ツールでプッシュ通知の運用を楽にしてください。