Laravel 5 如何在PHP中使用推送通知更新Apple Wallet pass

Laravel 5 如何在PHP中使用推送通知更新Apple Wallet pass,laravel-5,apple-push-notifications,passbook,wallet,Laravel 5,Apple Push Notifications,Passbook,Wallet,我在php中使用expiredate参数进行传递。我想使用Apple推送通知更新传递。根据存折文档,您需要使用Apple Push Notification Service从iOS设备触发pull以更新存折。这是我的PHP代码,用于将通知推送到APN。你可以参考 $apnsHost = 'gateway.push.apple.com'; $apnsPort = 2195; $apnsCert = base_path('certificates.pem'); $push_token = 'devi

我在php中使用expiredate参数进行传递。我想使用Apple推送通知更新传递。根据存折文档,您需要使用Apple Push Notification Service从iOS设备触发pull以更新存折。

这是我的PHP代码,用于将通知推送到APN。你可以参考

$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);
certificates.pem与您用于登录pass-in.p12扩展名的证书相同。因此,您需要使用以下代码将其导出到.pem

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

根据本教程。

如果您正在查找复制/粘贴代码,则说明您来错了地方。文档非常清楚,我建议你自己试试,如果你被卡住了,带着一个特定的编程问题回来。你在问什么?您的声明“根据存折文档,您需要使用Apple推送通知服务触发从iOS设备的拉取以更新存折。”是正确的。也有许多答案已经解决了您的问题。是的,但我感到困惑的是,通知会自动更新通行证,或者只是通知用户更新通行证以及在iOS端执行的其他操作。通知会触发手机呼叫您的WebServiceURL,该URL必须返回需要更新的序列号列表,然后,手机将发出第二个更新通行证的请求,服务器必须返回已编译的捆绑包。如前所述,and是非常清楚的。它当前是否在您的服务器上工作并通过push更新通行证?因为我试过了,但对我来说不起作用。有什么建议吗?@tahirwaseer抱歉,这不是正确答案。请试试这个