Bir RSS beslemesi dayalı müşterilerine bildirimleri göndermek için bir itme bildirim hizmeti kurmak. Ben yeni bir yazı yem eklendi görmek için her dakika çalışan bir hizmeti var. Eğer öyleyse, hizmeti tüm müşterilerine bir bildirim gönderir. Ancak, bazı insanlar herhangi bir push bildirimleri almıyor söyleyerek şikayetçi olmuştur. İşte ben iletileri göndermek için kullanmak işlevi:
function _sendMessages($tokens, $message) {
$payload['aps'] = array('alert' => $message, 'sound' => 'default');
$payload = json_encode($payload);
$context = stream_context_create();
stream_context_set_option($context, 'ssl', 'local_cert', $this->certificate);
stream_context_set_option($context, 'ssl', 'passphrase', '*********');
$apns = stream_socket_client('ssl://' . $this->server . ':' . $this->port, $error, $errorString,60, STREAM_CLIENT_CONNECT, $context);
foreach($tokens as $row) {
$apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $row->device_token)) . chr(0) . chr(strlen($payload)) . $payload;
$fwrite = fwrite($apns, $apnsMessage);
if (!$fwrite) echo 'push error';
else echo 'push success';
}
fclose($apns);
}
Yanlış bir şey yapıyor muyum? Bağlantısı üzerinden süreleri ve akış mesajları döngü bu binlerce geçiyor işlemez PHP miyim?