示例#1
0
        public string PostCustomNotification(SendNotificationDto notification)
        {
            try
            {
                WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
                tRequest.Method = "post";
                //serverKey - Key from Firebase cloud messaging server
                tRequest.Headers.Add(string.Format("Authorization: key={0}", ServerKey));
                //Sender Id - From firebase project setting
                tRequest.Headers.Add(string.Format("Sender: id={0}", SenderId));
                tRequest.ContentType = "application/json";
                var payload = new
                {
                    to                = notification.Token,
                    priority          = "high",
                    content_available = true,
                    notification      = new
                    {
                        body  = notification.Message,
                        title = notification.Title,
                        badge = 1
                    },
                    data = new
                    {
                        key1 = "value1",
                        key2 = "value2"
                    }
                };

                string postbody  = JsonConvert.SerializeObject(payload).ToString();
                var    byteArray = Encoding.UTF8.GetBytes(postbody);
                tRequest.ContentLength = byteArray.Length;

                Stream dataStream = tRequest.GetRequestStream();
                dataStream.Write(byteArray, 0, byteArray.Length);
                dataStream.Close();

                WebResponse tResponse = tRequest.GetResponse();

                dataStream = tResponse.GetResponseStream();

                StreamReader tReader = new StreamReader(dataStream);

                var sResponseFromServer = tReader.ReadToEnd();


                tReader.Close();
                dataStream.Close();
                tResponse.Close();
                return(sResponseFromServer);
            }
            catch (Exception ex)
            {
                throw new Exception($"Hubo un error en la base de datos - {JsonConvert.SerializeObject(ex)}");
            }
        }
示例#2
0
 public IActionResult PostNotification([FromBody] SendNotificationDto request)
 {
     return(Ok(PostCustomNotification(request)));
 }