javascript — OneSignal отправляет уведомление всем пользователям в сегменте

Обзор того, чего я хочу достичь:

Веб-сайт, на который пользователи могут входить (с различными разрешениями, определенными базой данных) и получать уведомления через OneSignal при изменении статуса заказа.

В настоящее время у меня завершена система входа в систему, и пользователи размещены в правильных сегментах OneSignal (например, поставщики). То, что я хочу сделать, это вызвать уведомление, чтобы появиться для всех «Поставщиков», когда статус заказа обновляется.

Любые идеи о том, как я могу пойти по этому поводу? Я просмотрел всю документацию несколько раз, поэтому, пожалуйста, без комментариев, просто говорю, чтобы сделать это.

Спасибо за любой совет.

<?php
function sendMessage(){
$content = array(
"en" => 'Test Message'
);

$fields = array(
'app_id' => "1a95c98a-9349-4876-b9ce-981893b7bf42",
'included_segments' => array('Suppliers'),
'data' => array("userType" => "suppliers"),
'contents' => $content
);

$fields = json_encode($fields);
print("\nJSON sent:\n");
print($fields);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://onesignal.com/api/v1/notifications");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8',
'Authorization: Basic NGEwMGZmMjItY2NkNy0xMWUzLTk5ZDUtMDAwYzI5NDBlNjJj'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

$response = curl_exec($ch);
curl_close($ch);

return $response;
}

$response = sendMessage();
$return["allresponses"] = $response;
$return = json_encode( $return);

print("\n\nJSON received:\n");
print($return);
print("\n");
?>

0

Решение

Я использовал OneSignal для Android.
Однако, если вы отправляете уведомление в определенный сегмент, совершая вызов API для конечной точки API OneSignal, то вам следует попытаться отправить пробное уведомление / тестовое уведомление с нужными данными уведомления на сервер OneSignal.

После этого создайте тот же HTTP-запрос к API через ваш код.
Например, используйте отладчик RESTful в Firefox / Chrome и проверьте, действительно ли вы отправляете правильный запрос OneSignal для пересылки вашего уведомления.

Также проверьте на консоли OneSignal, правильно ли настроен сегмент.
Правильно настроенный сегмент, вероятно, будет иметь некоторые теги с соответствующими значениями, связанными с ними, для выбора целевой группы пользователей, которые получают уведомление, отправленное этому сегменту.

В итоге, проверьте правильность всей настройки сегментации, снова выполнив все шаги в документации OneSignal, если ни одно другое решение не работает.

Надеюсь это поможет 🙂

Например, используйте такой сервис, как: Макет сервера издеваться над API OneSignal с желаемыми данными.

0

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

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

По вопросам рекламы [email protected]