APNS 및 PHP를 사용하여 여러 푸시 알림을 어떻게 구현합니까?

Linda Hamilton
풀어 주다: 2024-10-21 15:55:02
원래의
493명이 탐색했습니다.

How do you implement multiple push notifications with APNS and PHP?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿