現在、GCM は chrome と android でのみ動作します。同様に、Firefox や他のブラウザにも独自の API があります。
ここで、プッシュ通知を実装して、独自のバックエンドを持つすべての一般的なブラウザーで機能するようにする方法について質問します。
- クライアント側のスクリプト コード、つまり Service Worker,refer( Google プッシュ通知) が必要です。これは他のブラウザでも同じですが。
2.Ajax を使用してエンドポイントを取得したら、ブラウザ名とともに保存します。
3.必要に応じて、タイトル、メッセージ、アイコン、クリック URL のフィールドを持つバックエンドを作成する必要があります。通知の送信をクリックした後、関数 send_push() を呼び出します。この例では、さまざまなブラウザ用のコードを記述します
3.1. クローム用
$headers = array(
'Authorization: key='.$api_key(your gcm key),
'Content-Type: application/json',
);
$msg = array('to'=>'register id saved to your server');
$url = 'https://android.googleapis.com/gcm/send';
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($msg));
$result = curl_exec($ch);
3.2. モジラ用
$headers = array(
'Content-Type: application/json',
'TTL':6000
);
$url = 'https://updates.push.services.mozilla.com/wpush/v1/REGISTER_ID_TO SEND NOTIFICATION_ON';
$ch = curl_init();
// Set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
他のブラウザの場合は、Google で検索してください...