Sto usando this tutorial per imparare la notifica push.Notifica push non ricevuta su iphone
<?php
// Put your device token here (without spaces):
$deviceToken = '1675ba8bb005740bb514222227f861c30230a81e6eed6bb6b8f353c57831341d';
// Put your private key's passphrase here:
$passphrase = '111134';
// Put your alert message here:
$message = 'My first push 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));
echo 'result =' . $result. PHP_EOL;
if (!$result)
echo 'Message not delivered' . PHP_EOL;
else
echo 'Message successfully delivered' . PHP_EOL;
// Close the connection to the server
fclose($fp);
Ho anche configurato l'app per la notifica push. Dopo aver configurato per push, ho anche ricreato i profili di provisioning, il precedente ne cancella uno, installa il nuovo profilo. Eseguo l'app che mi fornisce id del dispositivo e quindi collego sia la sandbox del server che la produzione per inviare notifiche push con i relativi profili push ma non riesco ancora a ricevere notifiche push sul mio dispositivo.
Inoltre installo ipusher sul mio dispositivo e controllo la notifica push. vengono da quella applicazione.
Una cosa strana che noto è che cambio il mio identificatore dell'applicazione e utilizzare qualsiasi altra applicazione id poi gettone dispositivi rimangono stesso
Ora il mio problema è che non ricevo la notifica push sul mio dispositivo.
Il problema non è nelle mie profili. Può essere che l'errore è il codice php che sto usando perché quando uso gli apns facili sul server remoto, quindi invia le notifiche push. Le notifiche ricevute erano da 6 a 7 ore. Penso che questo sia dovuto a problemi di rete sul mio dispositivo. Ma ora funziona bene dopo 2 giorni sul profilo di produzione. Ora la notifica non richiede tempo per la consegna sul mio dispositivo, ma ci sono da 30 secondi a 5 minuti su alcuni dispositivi.
Non ci può essere un problema di più se non si ricevono notifiche push sul dispositivo da altre applicazioni troppo, allora si dovrebbe verificare il DNS per la connessione.
Questa parte di implementazione lato server riguarda la parte dell'applicazione iPhone. Puoi controllare questo tutorial http://mobiforge.com/developing/story/programming-apple-push-notification-services http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part- 12 – iamsult
seguo il raywenderlich per l'implementazione iphone. per ottenere il token del dispositivo –
Il problema non è nei miei profili. Può essere che l'errore è il codice php che sto usando perché quando uso gli apns facili sul server remoto, quindi invia le notifiche push. Le notifiche ricevute hanno avuto un tempo compreso tra 6 e 7 ore. Penso che questo sia dovuto a problemi di rete sul mio dispositivo. Ma ora funziona bene dopo 2 giorni sul profilo di produzione. Ora la notifica non richiede tempo per la consegna sul mio dispositivo, ma ci sono da 30 secondi a 5 minuti su alcuni dispositivi. –