Отправка push-уведомлений на все платформы

Я использую концентратор push-уведомлений Azure, на котором регистрируются устройства со всех платформ.

Мой бэкэнд написан на PHP и, глядя на их документы, кажется, что вам нужно отправить уведомление для каждой отдельной платформы.

$alert = '{"aps":{"alert":"Hello from PHP!"}}';
$notification = new Notification("apple", $alert);
$hub->sendNotification($notification, null);

Источник

Есть ли способ отправить на все платформы за один звонок?

1

Решение

Это не так, нет, вам придется создать Notification Объект для каждой платформы, которую вы хотите отправить, так как они используют разные форматы сообщений:

Из ссылки на источник:

Для iOS

$alert = '{"aps":{"alert":"Hello from PHP!"}}';
$notification = new Notification("apple", $alert);
$hub->sendNotification($notification, null);

Для Kindle Fire

$message = '{"data":{"msg":"Hello from PHP!"}}';
$notification = new Notification("adm", $message);
$hub->sendNotification($notification, null);

Для Windows Phone 8.0 и 8.1 Silverlight

$toast = '<?xml version="1.0" encoding="utf-8"?>' .
'<wp:Notification xmlns:wp="WPNotification">' .
'<wp:Toast>' .
'<wp:Text1>Hello from PHP!</wp:Text1>' .
'</wp:Toast> ' .
'</wp:Notification>';
$notification = new Notification("windowsphone", $toast);
$notification->headers[] = 'X-WindowsPhone-Target : toast';
$notification->headers[] = 'X-NotificationClass : 2';
$hub->sendNotification($notification, null);

Для Android

$message = '{"data":{"msg":"Hello from PHP!"}}';
$notification = new Notification("gcm", $message);
$hub->sendNotification($notification, null);

Примечание. По состоянию на 10 апреля 2018 года Google больше не поддерживает GCM. API сервера и клиента GCM устарели и будут удалены, как только 11 апреля 2019 года.

Теперь вы должны использовать Firebase Cloud Messaging для Android:
https://firebase.google.com/docs/cloud-messaging/

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector