R
RDunst
Neues Mitglied
- 0
Hallo,
ich habe ein Problem mit dem GCM Pushing.
Wie kann ich den Response verarbeiten?
Damit ich die "falschen" ID's aus der Datenbank löschen kann, ich hab zwar schon gegooglet und einen link gefunden, nur hilft mir der leider nicht weiter
hier den Link den ich gefunden habe:
http://stackoverflow.com/questions/...-invalid-registration-id-from-server-with-php
Leider sind keine ID's im array $remove_ids gespeichert, auch wenn ich "falsche ID's" in der Datenbank gespeichert habe!
Vielleicht kann mir ja jemand helfen.
Dankeschön.
Liebe Grüße,
Roland
ich habe ein Problem mit dem GCM Pushing.
Wie kann ich den Response verarbeiten?
Damit ich die "falschen" ID's aus der Datenbank löschen kann, ich hab zwar schon gegooglet und einen link gefunden, nur hilft mir der leider nicht weiter

hier den Link den ich gefunden habe:
http://stackoverflow.com/questions/...-invalid-registration-id-from-server-with-php
Code:
function PushAndroid($message)
{
//Android - Push Notification Variables
$apiKey = 'xxxxxxxxx';
//Android - Push Notification Service
$registrationIDs = array();
$abfrage = "SELECT id, registrationId, active FROM `push-android` WHERE active = 'true'";
$ergebnis = mysql_query($abfrage) or die(mysql_error());
while($row = mysql_fetch_object($ergebnis))
{
$id = $row->id;
$registrationIDs[] = $row->registrationId;
}
$url = 'https://android.googleapis.com/gcm/send';
$fields = array(
'registration_ids' => array($registrationIDs),
'data' => array( "message" => $message ),
);
$headers = array(
'Authorization: key='.$apiKey,
'Content-Type: application/json'
);
// Open connection
$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_POSTFIELDS, json_encode( $fields ) );
// Execute post
$result = curl_exec($ch);
// Close connection
curl_close($ch);
//$obj = json_decode($result);
$jsonArray = json_decode($result);
print_r($jsonArray);
$remove_ids = array();
for($i=0; $i<count($jsonArray->results);$i++){
if(isset($jsonArray->results[$i]->error)){
if($jsonArray->results[$i]->error == "NotRegistered"){
$remove_ids[$i] = "'".$registration_ids[$i]."'";
}
}
}
print_r($remove_ids);
}
Leider sind keine ID's im array $remove_ids gespeichert, auch wenn ich "falsche ID's" in der Datenbank gespeichert habe!
Vielleicht kann mir ja jemand helfen.
Dankeschön.
Liebe Grüße,
Roland