Maison  >  Article  >  développement back-end  >  Comment envoyer plusieurs notifications push via APNS en PHP ?

Comment envoyer plusieurs notifications push via APNS en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-21 15:42:02691parcourir

How to Send Multiple Push Notifications via APNS in PHP?

Envoi de plusieurs notifications push iPhone : maîtriser APNS avec PHP

Dans un scénario où PHP gère la communication des utilisateurs via un site Web et une application iPhone, le il est nécessaire d'envoyer des notifications push aux utilisateurs enregistrés. Cet article se penche sur la mise en œuvre d'une solution basée sur PHP pour l'envoi de plusieurs notifications push.

Prérequis : Assurez-vous d'avoir enregistré les jetons d'appareil pour chaque utilisateur lors de l'inscription.

Créer une fonction de notification push robuste :

<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>

Utilisation :

Pour envoyer une notification push à un utilisateur spécifique, appelez simplement le fonction sendNotification avec le jeton de périphérique et le message appropriés. Par exemple :

<code class="php">if ($teacherReply) {
    sendNotification($studentDeviceToken, "New response from teacher", $passphrase);
} else {
    sendNotification($teacherDeviceToken, "New question from student", $passphrase);
}</code>

Gestion des erreurs :

La fonction sendNotification comprend des mécanismes de gestion des erreurs pour vous alerter en cas d'échec de livraison. Il renvoie une valeur booléenne indiquant le succès ou l'échec.

En exploitant ce code, vous pouvez mettre en œuvre de manière transparente plusieurs notifications push, garantissant ainsi que vos utilisateurs reçoivent des mises à jour en temps opportun sur les conversations et les réponses.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn