更新时间:2022-11-03 22:40:35
尝试此示例代码并针对您的环境进行修改.
Try this example code and modify for your environment.
$apnsHost = '<APNS host>';
$apnsPort = <port num>;
$apnsCert = '<cert>';
$streamContext = stream_context_create();
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert);
$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 60, STREAM_CLIENT_CONNECT, $streamContext);
$payload['aps'] = array('alert' => 'some notification', 'badge' => 0, 'sound' => 'none');
$payload = json_encode($payload);
// Note: $device_tokens_array has list of 5 devices' tokens
for($i=0; $i<5; $i++)
{
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $device_tokens_array[i])) . chr(0) . chr(strlen($payload)) . $payload;
fwrite($apns, $apnsMessage);
}?>
本文有助于验证断开连接和连接状态:Apple 推送通知: 发送大量消息
This article helps verifying drop connection and connection status: Apple Push Notification: Sending high volumes of messages
其他参考链接: