Ciao a tutti,
sul mio spazio vorrei mettere su un servizio che mi permette di inviare le notifiche di Apple (APNS), tramite uno script del genere:
Il certificato ck.pem è presente e corretto; lo script, eseguito, restituisce il messaggio "Connected to APNS Message successfully delivered", ma non arriva la notifica, che invece arriva correttamente quando provo lo stesso script da un mio server locale... Per questo vorrei sapere se sui server di altervista c'e' qualche problema o impedimento per l'esecuzione di uno script del genere... per la connessione ssl o su quella porta... o non so...Codice:<?php // Put your device token here (without spaces): $deviceToken = '9dbfd12ab2c3eb90f9b324ec4af7436cd3cb07b1eb3dd87efb648ea4b218d9ee'; // Put your private key's passphrase here: $passphrase = 'mypassword'; // Put your alert message here: $message = 'My First Notification!'; //////////////////////////////////////////////////////////////////////////////// $ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); // Open a connection to the APNS server $fp = stream_socket_client( 'ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx); if (!$fp) exit("Failed to connect: $err $errstr" . PHP_EOL); echo 'Connected to APNS' . PHP_EOL; // Create the payload body $body['aps'] = array( 'alert' => $message, 'sound' => 'default' ); // Encode the payload as JSON $payload = json_encode($body); // Build the binary notification $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload; // Send it to the server $result = fwrite($fp, $msg, strlen($msg)); if (!$result) echo 'Message not delivered' . PHP_EOL; else echo 'Message successfully delivered' . PHP_EOL; // Close the connection to the server fclose($fp);
Grazie per qualunque eventuale chiarimento.
Ciao

LinkBack URL
About LinkBacks
