Senden Push-Benachrichtigung an mehrere Geräte ist die gleiche wie wir auf einzelne Gerät zu senden. Speichern Sie einfach das Registrierungs-Token aller registrierten Geräte auf Ihrem Server. Und beim Aufruf der Push-Benachrichtigung mit curl (ich nehme an, Sie verwenden PHP als Server-Seite) Legen Sie alle Registrierungs-ID in einem Array. Dies ist ein Beispielcode
<?php
//Define your GCM server key here
define('API_ACCESS_KEY', 'your server api key');
//Function to send push notification to all
function sendToAll($message)
{
$db = new DbOperation();
$tokens = $db->getAllToken();
$regTokens = array();
while($row = $tokens->fetch_assoc()){
array_push($regTokens,$row['token']);
}
sendNotification($regTokens,$message);
}
//function to send push notification to an individual
function sendToOne($email,$message){
$db = new DbOperation();
$token = $db->getIndividualToken($email);
sendNotification(array($token),$message);
}
//This function will actually send the notification
function sendNotification($registrationIds, $message)
{
$msg = array
(
'message' => $message,
'title' => 'Android Push Notification using Google Cloud Messaging',
'subtitle' => 'www.simplifiedcoding.net',
'tickerText' => 'Ticker text here...Ticker text here...Ticker text here',
'vibrate' => 1,
'sound' => 1,
'largeIcon' => 'large_icon',
'smallIcon' => 'small_icon'
);
$fields = array
(
'registration_ids' => $registrationIds,
'data' => $msg
);
$headers = array
(
'Authorization: key=' . API_ACCESS_KEY,
'Content-Type: application/json'
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://android.googleapis.com/gcm/send');
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($fields));
$result = curl_exec($ch);
curl_close($ch);
$res = json_decode($result);
$flag = $res->success;
if($flag >= 1){
header('Location: index.php?success');
}else{
header('Location: index.php?failure');
}
}
In dem obigen Code, den wir die Registrierungstoken aus der MySQL-Tabelle sind holen. Um an alle Geräte zu senden, benötigen wir alle Token. Um ein einzelnes Gerät zu senden, benötigen wir nur Token für dieses Gerät.
Quelle: Google Cloud Messaging Example
möglich Duplikat [Do alten GCM Token weiterleben, auch nach einer deinstallation?] erscheinen (http://stackoverflow.com/questions/17328654/do-old-gcm- Tokens-live-on-even-nach-einer-Deinstallation –