プッシュ通知を送信する場合、管理画面からビジュアル的に行う方法とAPI経由で送信する方法の二種類があります。一回送信するだけであれば管理画面から行うので十分ですが、自動化しようと思ったらAPI経由で行う方が効率的です。
サーバからプッシュ通知を送る場合、プログラミング言語は多彩に選択できます。今回はWebアプリケーションで最もよく使われているPHPを使う方法を紹介します。
PHP SDKのインストール
非公式ですがPHP SDKを提供していますのでこれを使うのが最も簡単です。まずPHPのライブラリ管理として一般的なcomposer用のファイル composer.json
を用意します。
{ "require" : { "ncmbmania/php-ncmb": "*" } }
そしてライブラリをインストールします。
$ composer install
これでインストール完了です。
コードについて
初期化処理
まずアプリケーションキー、クライアントキーを使った初期化処理です。 $applicationKey
および $clientKey
はそれぞれ自分のものを適用してください。そして NCMB::initialize
を実行して初期化します。
require("vendor/autoload.php"); use Ncmb\NCMB; NCMB::initialize($applicationKey, $clientKey);
プッシュ通知の送信
プッシュ通知を送信する場合には Ncmb\Push
を使います。
use Ncmb\Push;
そして Push::Send
に対して条件を指定します。
Push::Send(array( "immediateDeliveryFlag" => true, "target" => array('ios', 'android'), "message" => "Hello NCMB" ));
これでプッシュ通知が送信できます。
Fatal error: Uncaught Error: [] operator not supported for stringsが出る場合
送信しようとして Fatal error: Uncaught Error: [] operator not supported for strings
というエラーが出る場合には vendor/ncmbmania/php-ncmb/src/Ncmb/ApiClient.php
を修正します。
// 元 $encoded_params = ''; // 修正後 $encoded_params = [];
これでエラーが出なくなるはずです。
PHP SDKはParse SDKに似たAPIとなっています。PHP Developers Guide | Parse が参考になるはずです。細かな操作についてはソースコードを見てもらう方が早いかも知れません。