Отправка push-уведомлений на все платформы - PullRequest
0 голосов
/ 05 июня 2018

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

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

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

Источник

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

1 Ответ

0 голосов
/ 06 июня 2018

Это не так, нет, вам придется создать 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/

...