Я использую один сигнал от своего сервиса для отправки уведомления pu sh в приложение для android / ios, код работает нормально, когда для «includes_segments» установлено значение «All», но когда я устанавливаю playerid, он возвращает
{"id": "", "Ресурсы": 0, "Ошибки": ["Все включенные игроки не подписаны"]}
вот фрагмент кода
private static void PushOneSignal(string message, string playerId, string tagMsg)
{
var request = WebRequest.Create("https://onesignal.com/api/v1/notifications") as HttpWebRequest;
request.KeepAlive = true;
request.Method = "POST";
request.ContentType = "application/json; charset=utf-8";
request.Headers.Add("authorization", "Basic APIKEY");
byte[] byteArray = Encoding.UTF8.GetBytes("{"
+ "\"app_id\": \"APP_ID\","
+ "\"contents\": {\"en\": \""+message+"\"},"
+ "\"headings\": {\"en\": \""+tagMsg+"\"},"
+ "\"included_segments\": [\"All\"]}"); //"+playerId+"
string responseContent = null;
try
{
using (var writer = request.GetRequestStream())
{
writer.Write(byteArray, 0, byteArray.Length);
}
using (var response = request.GetResponse() as HttpWebResponse)
{
using (var reader = new StreamReader(response.GetResponseStream()))
{
responseContent = reader.ReadToEnd();
}
}
}
catch (WebException ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
System.Diagnostics.Debug.WriteLine(new StreamReader(ex.Response.GetResponseStream()).ReadToEnd());
}
System.Diagnostics.Debug.WriteLine(responseContent);
}
Все, что мне нужно изменить в коде, чтобы сделать это.
Я искал другой доступный ответ в стеке, но не нашел решения