PHPプログラムからPush7のAPIで通知を送信するには
「WebPush」によるChromeやFirefoxなどのブラウザへの通知送信を手軽に自分のサイトで利用できるサービス「Push7」には、自作プログラムから通知送信を実行させるためのAPIも用意されている。HTTPSで特定のURLにアクセスしてパラメータを送信する一般的な方式なので、様々なプログラミング言語で簡単に利用できるぞ。「WordPress」などで使われている「PHP」言語の場合、「curl」系関数を利用すればいいだろう。
APIを利用するときに躓きやすいのが、パラメータの形式だ。POSTメソッドを使ってJSON形式で送ることになっているので、パラメータ名と値のペアを列挙した配列を「json_encode」関数でエンコードしたものを「CURLOPT_POSTFIELDS」オプションでセットするのだが、加えて「Content-Type: application/json」ヘッダで形式を明示しないとエラーになってしまう。
また、手動などでの通知送信時には省略できるアイコン画像の指定が必須となっているのも厄介だ。通知ごとに用意するのは面倒だし、HTTPSでなければならないので、自分のサイトがHTTPSに対応していない場合は用意するのが難しい。手動などでの送信時に未指定の場合はPush7のサイト設定で登録したアイコンが使われるので、APIでもこちらを指定するといいだろう。この画像は、管理画面の右上のサイト切り替えボタンなどに使われているので、右クリックメニューからURLをコピーして使えばいいぞ。
以上の点を押さえておけば、数行のプログラムで簡単に通知を送れるので、ぜひ活用して思い通りの通知送信を行おう。
APIの利用に必要な「App Number」と「API Key」は、Push7管理画面の「API」のページで確認できる。
Push7に登録されたアイコンのURLは、管理画面右上のアイコンの右クリックメニューからコピーすればいいぞ。
PHPのcurl系関数群でPush7のAPIから通知を送信する基本的なコードは以下のようになる。curlの動作を制御するために指定できる他のオプションは、「curl_setopt」関数の説明ページで確認できるぞ。
$curl=curl_init('https://api.push7.jp/api/v1/'.$appno.'/send');
curl_setopt_array($curl,array(
CURLOPT_POSTFIELDS=>json_encode(array(
'title'=>$title,
'body'=>$body,
'icon'=>$icon,
'url'=>$url,
'apikey'=>$apikey,
)),
CURLOPT_HTTPHEADER=>array('Content-Type: application/json'),
));
curl_exec($curl);
curl_close($curl);


全世界1,000万以上ダウンロード超え!水分補給サポートアプリ最新作『Plant Nanny 2 - 植物ナニー2』が11/1より日本先行配信開始中
たこ焼きの洞窟にかき氷の山!散歩を習慣化する惑星探索ゲーム『Walkr』がアップデート配信&6/28までアイテムセール開始!
【まとめ】仮想通貨ビットコインで国内・海外問わず自由に決済や買い物ができる販売サイトを立ち上げる
自分のサイトに超簡単に通知機能を搭載できる「Push7」
WordPressで本文中のiframeなどのタグが消えちゃって困る
作業中もTwitterの新着を超速でチェックできるWin版「Growl」
GrowlでGmailやGoogleリーダーの新着チェック「GWatchman」
Mastodon(マストドン)のインストール手順を解説!ConoHaのVPSでインスタンスを運用する
WordPressのプラグインインストールでFTPアカウントの入力を不要にできないの?
