Я использую один сигнал для отправки push-уведомлений для приложения Android. Мой вопрос
Как я могу настроить отправку push-уведомлений, используя api rest сервера?
<?PHP
function sendMessage(){
$content = array(
"en" => 'Testing Message'
);
$fields = array(
'app_id' => "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx",
'included_segments' => array('All'),
'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 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'));
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");
?>
Я вижу, вы установили isAndroid = true, но OneSignal возвращает ошибку, которая показывает, что приложение с идентификатором eec33e8e-5774-4b74-9aae-37370778c4b2
не включены уведомления Android.
Убедитесь, что идентификатор вашего приложения правильный, и если это так, то уведомления Android включены в настройках OneSignal.
Вы всегда можете обратиться к официальным документам:
https://documentation.onesignal.com/reference#section-example-code-create-notification
‘app_id’ в настоящее время известен как (идентификатор приложения OneSignal) в OneSignal
Настройки-> Ключи и идентификаторы
в «Авторизация: Basic xxx …» после «REST API Key» чуть ниже идентификатора приложения