Próbuję dodać powiadomienia push do mojej aplikacji. Używam profilu ad hoc. Mój identyfikator aplikacji nie zawiera symbolu wieloznacznego. Używam następujący kod php ...Usługa powiadomień Apple Push Notification APNS - Powiadomienia nie nadchodzą
$deviceToken="****";masked
$time = time();
$apnsHost = 'gateway.sandbox.push.apple.com';
$apnsPort = 2195;
$apnsCert = 'apns-dev-maui.pem';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext);
if($apns)
{
echo "Connection Established<br/>";
$payload = array();
$payload['aps'] = array('alert' => 'It works!!', 'badge' => 1, 'sound' => 'default');
$payload = json_encode($payload);
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
print "sending message :" . $apnsMessage . "<br/>";
print "sending payload :" . $payload . "<br/>";
fwrite($apns, $apnsMessage);
}
else
{
echo "Connection Failed";
echo $errorString;
echo $error;
}
// socket_close($apns);
fclose($apns);
Brak połączenia błędy są generowane. Nic nie wydaje się pochodzić z kanału zwrotnego.
Dostałem deviceTokens z konsoli organizera i polecenia NSLog. Powiadomienia dla tej aplikacji są wyświetlane w menu ustawień.
Mam ATT 3G i stare 2G, które używam jako iPod. Ani praca.
Bez zbędnych błędów, nie mam pomysłów. Ktoś ma jakiś wgląd?
Jennifer
Czy możemy użyć dwóch różnych plików .pem (plików certyfikatów) do wysyłania powiadomień wypychanych? Czy to jest możliwe? –