Как отправить push-уведомление из моего веб-api в приложение платформы android и iOS?
Я не получаю никаких ошибок, но и не получаю никаких сообщений на своем android-устройстве.
Что я уже пробовал:
[HttpPost] public string SendGCMNotification(string deviceId) { string apiKey = "xxxxxxxxxxxxxxxxxxxxxg"; string postData; string message = "Demo"; string tickerText = "Demoo"; string contentTitle = "Demor"; string SENDER_ID = "xxxxxxx"; postData = "{ \"registration_ids\": [ \"" + deviceId + "\" ], " + "\"data\": {\"tickerText\":\"" + tickerText + "\", " + "\"contentTitle\":\"" + contentTitle + "\", " + "\"message\": \"" + message + "\"}}"; string postDataContentType = "application/json"; ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateServerCertificate); byte[] byteArray = Encoding.UTF8.GetBytes(postData); HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("https://android.googleapis.com/gcm/send"); Request.Method = "POST"; Request.KeepAlive = false; Request.ContentType = postDataContentType; Request.Headers.Add(string.Format("Authorization: key={0}", apiKey)); Request.Headers.Add(string.Format("Sender: id={0}", SENDER_ID)); Request.ContentLength = byteArray.Length; Stream dataStream = Request.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); try { WebResponse Response = Request.GetResponse(); HttpStatusCode ResponseCode = ((HttpWebResponse)Response).StatusCode; if (ResponseCode.Equals(HttpStatusCode.Unauthorized) || ResponseCode.Equals(HttpStatusCode.Forbidden)) { var text = "Unauthorized - need new token"; } else if (!ResponseCode.Equals(HttpStatusCode.OK)) { var text = "Response from web service isn't OK"; } StreamReader Reader = new StreamReader(Response.GetResponseStream()); string responseLine = Reader.ReadToEnd(); Reader.Close(); return responseLine; } catch (Exception e) { } return "error"; } public static bool ValidateServerCertificate( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true; }
Suvendu Shekhar Giri
есть успехи с отладкой? есть какие-нибудь зацепки?
Esle
нет.
когда я отправляю запрос, он дает идентификатор в ответ на мой restclient.
больше ничего и никакого влияния на мое приложение для android, так как я уже открыл приложение на своем устройстве android
Esle
Могу ли я узнать, как я могу отправить изображение в push-уведомлении с помощью fcm c#?
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Вы открыли какое-нибудь соединение сокета?
Esle
Нет @Tadish Dash
Tadit Dash (ତଡିତ୍ କୁମାର ଦାଶ)
Тогда как вы уведомляете клиентов?
Biinny
Я делаю то же самое. Я получаю форму ошибки тайм-аута запроса "Stream dataStream = Request.GetRequestStream ();" строка