ホームページ  >  記事  >  バックエンド開発  >  PHP で APNS 経由で複数のプッシュ通知を送信するにはどうすればよいですか?

PHP で APNS 経由で複数のプッシュ通知を送信するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-21 15:42:02798ブラウズ

How to Send Multiple Push Notifications via APNS in PHP?

複数の iPhone プッシュ通知の送信: PHP を使用した APNS のマスター

PHP が Web サイトと iPhone アプリケーションを介したユーザー通信を処理するシナリオでは、登録ユーザーにプッシュ通知を送信する必要がある場合。この記事では、複数のプッシュ通知を送信するための PHP ベースのソリューションの実装について詳しく説明します。

前提条件: 登録時に各ユーザーのデバイス トークンを保存していることを確認してください。

堅牢なプッシュ通知機能の作成:

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

使用法:

特定のユーザーにプッシュ通知を送信するには、単に適切なデバイス トークンとメッセージを使用して sendNotification 関数を実行します。例:

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

エラー処理:

sendNotification 関数には、配信が失敗した場合に警告するエラー処理メカニズムが含まれています。成功または失敗を示すブール値を返します。

このコードを利用すると、複数のプッシュ通知をシームレスに実装でき、ユーザーが会話や返信に関する最新情報をタイムリーに受信できるようになります。

以上がPHP で APNS 経由で複数のプッシュ通知を送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。