Один сигнал Pu sh для однопользовательского возврата «Все включенные игроки не подписаны» - PullRequest
0 голосов
/ 25 января 2020

Я использую один сигнал от своего сервиса для отправки уведомления 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);
}

Все, что мне нужно изменить в коде, чтобы сделать это.

Я искал другой доступный ответ в стеке, но не нашел решения

...