APNS と PHP を使用した複数のプッシュ通知の送信
インスタント プッシュ通知が重要である PHP ベースのメッセージング システムでは、次の機能が必要です。登録された iOS デバイスに複数のプッシュ メッセージを送信することが必須になります。
生徒が質問を投稿するか教師が返信すると、対応するユーザーはプッシュ通知を受信する必要があります。これには、複数のデバイス トークンの管理と、信頼性の高いメッセージ配信を保証するためのエラー条件の処理が含まれます。
プッシュ通知を送信するための PHP コード
提供されたコード スニペットは、送信のための簡単なソリューションを提供します。個々のプッシュ メッセージ:
<code class="php">// Establish a secure connection using the iOS Push Notification service $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); // Check for a successful connection if (!$fp) exit("Failed to connect: $err $errstr" . PHP_EOL); // Prepare the push notification payload $body['aps'] = array( 'badge' => +1, 'alert' => $message, 'sound' => 'default' ); $payload = json_encode($body); // Create the binary notification $msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload; // Send the message to the device $result = fwrite($fp, $msg, strlen($msg)); // Check the message delivery status if (!$result) echo 'Message not delivered' . PHP_EOL; else echo 'Message successfully delivered: '.$message. PHP_EOL; // Close the connection to the APNS server fclose($fp);</code>
エラー管理
このコードは、fwrite 関数の結果をチェックすることでエラー状態を管理します。メッセージが配信されない場合は、エラー メッセージが表示されます。それ以外の場合は、成功メッセージが記録されます。
スケーラビリティ
このコード スニペットを使用すると、受信者ごとにプロセスを繰り返すことで、複数のプッシュ メッセージを送信できます。スケーラビリティを最適化するには、Laravel のキュー システムや PHP の pcntl 関数などの非同期フレームワークを使用して、複数のプッシュ通知を並行して処理することを検討してください。
以上がAPNS と PHP を使用して複数のプッシュ通知を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。