2016-09-08 1 views
2

Je faisais un passage en php avec le paramètre expired.Je veux mettre à jour passe en utilisant la notification push Apple. Selon les documents du livret, vous devez utiliser le service de notification push Apple pour déclencher un retrait de l'appareil iOS afin de mettre à jour le livret.Comment mettre à jour Apple Wallet passer en utilisant la notification push en PHP

+0

Si vous recherchez un code de copier/coller, vous êtes au mauvais endroit. Les documents sont très clairs, je vous suggère d'essayer par vous-même et de revenir avec une question de programmation spécifique si vous êtes coincé. – PassKit

+0

Que demandez-vous? Votre déclaration "Selon les documents du livret, vous devez utiliser le service de notification push Apple pour déclencher une extraction à partir de l'appareil iOS afin de mettre à jour le livret." est correct. – PassKit

+0

Il existe déjà de nombreuses réponses à votre question. http://stackoverflow.com/questions/15877496/how-to-make-a-push-notification-for-a-pass, http://stackoverflow.com/questions/34310956/update-passes-of-passbook. – PassKit

Répondre

0

Ceci est mes codes PHP pour envoyer une notification à APNS. Vous pouvez vous référer.

$apnsHost = 'gateway.push.apple.com'; 
$apnsPort = 2195; 
$apnsCert = base_path('certificates.pem'); 
$push_token = 'device token'; 
$passIdentify = 'pass indentify'; 

$payload = '{}'; 
$msg = chr(0) . pack('n', 32) . pack('H*', $push_token) . pack('n', strlen($payload)) . $payload . pack('n', strlen($passIdentify)) . $passIdentify; 

$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); 

fwrite($apns, $msg); 

@socket_close($apns); 
fclose($apns); 

Le certificates.pem est le même certificat que vous utilisez pour signer votre passage dans .p12 l'extension. Donc, vous devez l'exporter vers .PEM en utilisant les codes suivants

$ cd ~/Desktop 
$ openssl pkcs12 -in WenderCastPush.p12 -out WenderCastPush.pem -nodes -clcerts 

Selon ce tutoriel https://www.raywenderlich.com/123862/push-notifications-tutorial#comments.

+0

travaille-t-il actuellement sur votre serveur et met à jour les passes via push? Parce que j'ai essayé ça et ça ne marche pas de mon côté. Aucune suggestion? –

+0

@tahirwaseer Désolé, ce n'est pas la bonne réponse. S'il vous plaît essayez ceci http://stackoverflow.com/questions/39849883/cant-push-notification-to-apns-to-update-my-pass-in-apple-wallet?noredirect=1#comment66998009_39849883 –

+0

merci @Hoang Trung . Je vais essayer ça. –