Реализация облачного обмена сообщениями FCM в Guzzle PHP: подробное руководство

FCM (Firebase Cloud Messaging) – мощная платформа для отправки push-уведомлений на мобильные устройства. В этой статье мы рассмотрим, как интегрировать облачные сообщения FCM в ваше PHP-приложение с помощью клиентской библиотеки HTTP Guzzle. Мы предоставим вам различные методы и примеры кода, которые помогут вам начать работу.

Метод 1: отправка базового уведомления

use GuzzleHttp\Client;
$client = new Client();
$response = $client->post('https://fcm.googleapis.com/fcm/send', [
    'headers' => [
        'Authorization' => 'Bearer YOUR_SERVER_KEY',
        'Content-Type' => 'application/json',
    ],
    'json' => [
        'to' => 'DEVICE_TOKEN',
        'notification' => [
            'title' => 'Hello',
            'body' => 'This is a test notification.',
        ],
    ],
]);
echo $response->getBody();

Метод 2. Отправка уведомления с полезными данными

use GuzzleHttp\Client;
$client = new Client();
$response = $client->post('https://fcm.googleapis.com/fcm/send', [
    'headers' => [
        'Authorization' => 'Bearer YOUR_SERVER_KEY',
        'Content-Type' => 'application/json',
    ],
    'json' => [
        'to' => 'DEVICE_TOKEN',
        'notification' => [
            'title' => 'New Message',
            'body' => 'You have received a new message.',
        ],
        'data' => [
            'messageId' => '123',
            'senderId' => '456',
            'message' => 'Hello, how are you?',
        ],
    ],
]);
echo $response->getBody();

Метод 3. Отправка уведомления на несколько устройств

use GuzzleHttp\Client;
$client = new Client();
$response = $client->post('https://fcm.googleapis.com/fcm/send', [
    'headers' => [
        'Authorization' => 'Bearer YOUR_SERVER_KEY',
        'Content-Type' => 'application/json',
    ],
    'json' => [
        'registration_ids' => [
            'DEVICE_TOKEN_1',
            'DEVICE_TOKEN_2',
            'DEVICE_TOKEN_3',
        ],
        'notification' => [
            'title' => 'New Update',
            'body' => 'A new update is available.',
        ],
    ],
]);
echo $response->getBody();

Метод 4. Отправка уведомления с настраиваемыми параметрами

use GuzzleHttp\Client;
$client = new Client();
$response = $client->post('https://fcm.googleapis.com/fcm/send', [
    'headers' => [
        'Authorization' => 'Bearer YOUR_SERVER_KEY',
        'Content-Type' => 'application/json',
    ],
    'json' => [
        'to' => 'DEVICE_TOKEN',
        'notification' => [
            'title' => 'Special Offer',
            'body' => 'Check out our latest offers.',
        ],
        'android' => [
            'priority' => 'high',
            'ttl' => '3600s',
            'data' => [
                'discountCode' => 'SUMMER2024',
            ],
        ],
    ],
]);
echo $response->getBody();

Интеграция облачных сообщений FCM в ваше PHP-приложение с использованием Guzzle PHP — это простой процесс. В этой статье мы рассмотрели различные методы с примерами кода, которые помогут вам отправлять уведомления на мобильные устройства. Если вам нужно отправлять базовые уведомления, включать полезные данные, настраивать таргетинг на несколько устройств или настраивать параметры уведомлений, Guzzle PHP упрощает взаимодействие с API FCM.

Внедрив FCM Cloud Messaging, вы сможете повысить вовлеченность пользователей и информировать их о важных обновлениях и событиях.