#php #onesignal
#php #onesignal
Вопрос:
Я пытаюсь отправлять уведомления на устройство, на котором установлено мое приложение, с помощью php
, отправка уведомлений всем пользователям прошла успешно при использовании 'included_segments' => array('All')
, но когда я пытаюсь использовать фильтры, я получаю All included players are not subscribed
ошибку ответа, это скрипт push-уведомлений, который я использую:
push.php
<?PHP
function sendMessage(){
$content = array(
"en" => 'Testing Message'
);
$fields = array(
'app_id' => <omitted>,
'filters' => array(array("field" => "tag", "key" => "etab", "relation" => "=", "value" => "1")),
'data' => array("foo" => "bar"),
'large_icon' =>"ic_launcher_round.png",
'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 <omitted>'));
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("nnJSON received:n");
print($return);
print("n");
?>
Вывод
JSON sent: {"app_id":<omitted>,"filters":[{"field":"tag","key":"etab","relation":"=","value":"1"}],"data":{"foo":"bar"},"large_icon":"ic_launcher_round.png","contents":{"en":"Testing Message"}} JSON received: {"allresponses":"{"id":"","recipients":0,"errors":["All included players are not subscribed"]}"}
Я проверил доступные теги в своем приложении для Android, и тег успешно реализован и работает нормально.
Ответ №1:
"All included players are not subscribed"
Сообщение может означать любое из следующего.
- Убедитесь, что вы установили правильное
app_id
. - У вас нет подписанных пользователей.
- Вы не настроили платформу для своих устройств на странице настроек приложения на панели инструментов OneSignal.
- В фильтре нет пользователей.
Комментарии:
1. я использую SDK java, как я проверяю, нет ли проигрывателя? для планирования уведомления о следующем подключении пользователя