Menghantar Berbilang Pemberitahuan Tekan iPhone: Menguasai APNS dengan PHP
Dalam senario di mana PHP mengendalikan komunikasi pengguna melalui tapak web dan aplikasi iPhone, keperluan timbul untuk menghantar pemberitahuan tolak kepada pengguna berdaftar. Artikel ini menyelidiki pelaksanaan penyelesaian berasaskan PHP untuk menghantar berbilang pemberitahuan tolak.
Prasyarat: Pastikan anda telah menyimpan token peranti untuk setiap pengguna semasa pendaftaran.
Membina Fungsi Pemberitahuan Tolak Teguh:
<code class="php">function sendNotification($deviceToken, $message, $passphrase) { $ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', 'ckipad.pem'); stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase); $fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT | STREAM_CLIENT_PERSISTENT, $ctx); if (!$fp) { echo "Failed to connect: $err $errstr" . PHP_EOL; return false; } $body = [ 'aps' => [ 'badge' => +1, 'alert' => $message, 'sound' => 'default' ] ]; $payload = json_encode($body); $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload; $result = fwrite($fp, $msg, strlen($msg)); if (!$result) { echo 'Message not delivered' . PHP_EOL; return false; } else { echo 'Message successfully delivered: ' . $message . PHP_EOL; return true; } fclose($fp); }</code>
Penggunaan:
Untuk menghantar pemberitahuan tolak kepada pengguna tertentu, cuma hubungi fungsi sendNotification dengan token dan mesej peranti yang sesuai. Contohnya:
<code class="php">if ($teacherReply) { sendNotification($studentDeviceToken, "New response from teacher", $passphrase); } else { sendNotification($teacherDeviceToken, "New question from student", $passphrase); }</code>
Pengendalian Ralat:
Fungsi sendNotification termasuk mekanisme pengendalian ralat untuk memaklumkan anda sekiranya penghantaran gagal. Ia mengembalikan nilai boolean yang menunjukkan kejayaan atau kegagalan.
Dengan memanfaatkan kod ini, anda boleh melaksanakan berbilang pemberitahuan tolak dengan lancar, memastikan pengguna anda menerima kemas kini tepat pada masanya tentang perbualan dan balasan.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Pemberitahuan Push Berbilang melalui APNS dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!