Методы отправки уведомлений на Android с PHP: Firebase, OneSignal, Pusher

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

  1. Firebase Cloud Messaging (FCM):
    FCM – это популярный сервис Google, который позволяет отправлять уведомления на устройства Android. Чтобы использовать FCM, вам необходимо настроить проект Firebase и интегрировать Firebase SDK в свое приложение для Android. Затем вы можете отправлять уведомления с помощью API Firebase Cloud Messaging со своего PHP-сервера. Вот пример отправки уведомления FCM с использованием PHP:
<?php
// FCM API endpoint
$url = 'https://fcm.googleapis.com/fcm/send';
// FCM server key
$serverKey = 'YOUR_SERVER_KEY';
// Device registration token
$deviceToken = 'DEVICE_REGISTRATION_TOKEN';
// Notification payload
$message = [
    'title' => 'Notification Title',
    'body' => 'Notification Body',
    'icon' => 'your-icon',
    'click_action' => 'your-action'
];
// Prepare the notification
$notification = [
    'to' => $deviceToken,
    'notification' => $message
];
// Set headers
$headers = [
    'Authorization: key=' . $serverKey,
    'Content-Type: application/json'
];
// Send the notification
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($notification));
$result = curl_exec($ch);
curl_close($ch);
// Handle the result
echo $result;
?>
  1. OneSignal:
    OneSignal – это популярный сервис push-уведомлений, поддерживающий несколько платформ, включая Android. Он предоставляет простой в использовании API для отправки уведомлений. Вот пример отправки уведомления с помощью OneSignal и PHP:
<?php
// OneSignal API endpoint
$url = 'https://onesignal.com/api/v1/notifications';
// App ID and REST API key
$appId = 'YOUR_APP_ID';
$apiKey = 'YOUR_API_KEY';
// Device player IDs
$playerIds = ['DEVICE_PLAYER_ID_1', 'DEVICE_PLAYER_ID_2'];
// Notification payload
$message = [
    'en' => 'Notification Message'
];
// Prepare the notification
$notification = [
    'app_id' => $appId,
    'include_player_ids' => $playerIds,
    'contents' => $message
];
// Set headers
$headers = [
    'Authorization: Basic ' . $apiKey,
    'Content-Type: application/json'
];
// Send the notification
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($notification));
$result = curl_exec($ch);
curl_close($ch);
// Handle the result
echo $result;
?>
  1. Pusher:
    Pusher – это служба обмена сообщениями в реальном времени, которая также поддерживает push-уведомления. Он предоставляет простой в использовании API для отправки уведомлений на устройства Android. Вот пример отправки уведомления с помощью Pusher и PHP:
<?php
require_once('path/to/vendor/autoload.php');
$appId = 'YOUR_APP_ID';
$appKey = 'YOUR_APP_KEY';
$appSecret = 'YOUR_APP_SECRET';
$appCluster = 'YOUR_APP_CLUSTER';
$options = array(
    'cluster' => $appCluster,
    'useTLS' => true
);
$pusher = new Pusher\Pusher(
    $appKey,
    $appSecret,
    $appId,
    $options
);
$data = array(
    'title' => 'Notification Title',
    'message' => 'Notification Message'
);
$pusher->trigger('notifications', 'notification_event', $data);
?>