Wenn ich versuche Push-Benachrichtigungen zu senden bekomme ich diesen Fehler: "Verbindung abgelehnt", aber ich weiß nicht warum ... Ich habe meine Apns-Dev hochgeladen. pem im selben Verzeichnis wie auch im root-Verzeichnis, aber das wird auch nicht funktionieren.Push-Benachrichtigungen (iPhone) geben "111 Connection refused"
<?php
$payload['aps'] = array('alert' => 'This is the alert text', 'badge' => 1, 'sound' => 'default');
$payload = json_encode($payload);
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = 'apns-dev.pem';
$apnsPass = 'secret';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
stream_context_set_option($streamContext, 'ssl', 'passphrase', $apnsPass);
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 60, STREAM_CLIENT_CONNECT, $streamContext);
if (!$apns) {
echo "Error: $errorString ($error)";
}
// Do this for each
$deviceToken = '00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000';
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);
// End do
socket_close($apns);
fclose($apns);
?>
Weiß jemand, was ich falsch mache? Wenn ich die Passphrase entferne und sie nicht sende, funktioniert sie auch nicht ...
Wirklich danke, ich werde prüfen, ob das funktioniert. Meinst du den ftp-Pfad (/public-html/directory/file.pem) oder (http://www.server.com/directory/file.pem) durch absoluten Pfad? Ich bekomme diesen Fehler, bevor ich irgendwelche Daten sende, also ist es nicht das Gerät-Token, denke ich ... Dank: D! – elslooo
Es funktioniert nicht: (..., unten ist meine Antwort, um diesen Fehler zu verhindern. – elslooo