Bagaimana untuk Menghantar Pemberitahuan Push Berbilang melalui APNS dalam PHP?

Linda Hamilton
Lepaskan: 2024-10-21 15:42:02
asal
690 orang telah melayarinya

How to Send Multiple Push Notifications via APNS in PHP?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!