Отправляйте push-уведомления iOS с помощью PHP с примерами кода

Чтобы отправлять push-уведомления iOS с помощью PHP, вы можете использовать различные методы. Вот несколько примеров кода:

  1. Использование APN (службы push-уведомлений Apple) HTTP/2 API:

    // Set the device token and message
    $deviceToken = 'DEVICE_TOKEN_HERE';
    $message = 'Hello, iOS push notification!';
    // Provide the path to your certificate and passphrase
    $certificateFile = '/path/to/certificate.pem';
    $passphrase = 'CERTIFICATE_PASSPHRASE';
    // Provide the URL of the APNs server based on the environment (sandbox or production)
    $apnsUrl = 'https://api.push.apple.com/notifications'; // production
    // $apnsUrl = 'https://api.sandbox.push.apple.com/notifications'; // sandbox
    // Create the payload
    $payload = [
    'aps' => [
        'alert' => $message,
        'sound' => 'default',
        'badge' => 1
    ]
    ];
    $payload = json_encode($payload);
    // Create the headers
    $headers = [
    'apns-topic: YOUR_BUNDLE_IDENTIFIER',
    'authorization: bearer ' . base64_encode($certificateFile . ':' . $passphrase)
    ];
    // Send the request
    $ch = curl_init($apnsUrl);
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_SSLCERT, $certificateFile);
    curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $passphrase);
    curl_exec($ch);
    curl_close($ch);
  2. Использование сторонних библиотек, таких как apns-php:

    // Include the library
    require_once 'apns-php/autoload.php';
    // Set the device token and message
    $deviceToken = 'DEVICE_TOKEN_HERE';
    $message = 'Hello, iOS push notification!';
    // Create a new APNS message
    $apnsMessage = new ApnsPHP_Message($deviceToken);
    // Set the message payload
    $apnsMessage->setText($message);
    // Create a new APNS service
    $apnsService = new ApnsPHP_Push(ApnsPHP_Abstract::ENVIRONMENT_SANDBOX, 'PATH_TO_YOUR_CERTIFICATE.pem');
    // Add the message to the service
    $apnsService->add($apnsMessage);
    // Send the push notifications
    $apnsService->send();
    // Disconnect from the APNS server
    $apnsService->disconnect();
  3. Использование Firebase Cloud Messaging (FCM) с библиотекой fcm:

    // Include the library
    require_once 'vendor/autoload.php';
    // Set the device token and message
    $deviceToken = 'DEVICE_TOKEN_HERE';
    $message = 'Hello, iOS push notification!';
    // Initialize the Firebase Cloud Messaging client
    $firebase = new \Firebase\Firebase();
    // Set the API key
    $firebase->setApiKey('YOUR_API_KEY');
    // Create the notification payload
    $notification = new \Firebase\Notification\Notification();
    $notification->setTitle('Notification Title');
    $notification->setBody($message);
    // Send the push notification
    $firebase->sendNotification($deviceToken, $notification);