public void SendNotification(OrderModel order) { AndroidFCMPushNotificationStatus result = new AndroidFCMPushNotificationStatus(); try { string orderdate = Convert.ToString(order.OrderTime.ToString("dd-MMM-yyyy")); var applicationID = "AAAAmX8mPHc:APA91bE9cRg7X0JPeNxspPhYMc2-dw5iTA004YvcTwCMPul5LQp3-rVne6cC95f36Lkt5MssYopjL3O7pDuTsf_wWR4NewB7WcuSWU4gHjCbBlnBtI8CA7vfs0ojnD1TZ-WptbjXwXyu"; var senderId = "659263208567"; string deviceId = order.DeviceId; WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "post"; tRequest.ContentType = "application/json"; var notificationdata = new { to = deviceId, data = new { title = "Your order: " + order.OrderNumber + " has been received", OrderNumber = order.OrderNumber, StoreName = order.StoreName, OrderId = order.OrderId, StoreId = order.StoreId, LoginId = order.LoginId, }, priority = "high" }; var serializer = new JavaScriptSerializer(); var json = serializer.Serialize(notificationdata); Byte[] byteArray = Encoding.UTF8.GetBytes(json); tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID)); tRequest.Headers.Add(string.Format("Sender: id={0}", senderId)); tRequest.ContentLength = byteArray.Length; using (Stream dataStream = tRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (WebResponse tResponse = tRequest.GetResponse()) { using (Stream dataStreamResponse = tResponse.GetResponseStream()) using (StreamReader tReader = new StreamReader(dataStreamResponse)) { String sResponseFromServer = tReader.ReadToEnd(); JavaScriptSerializer j = new JavaScriptSerializer(); object a = j.Deserialize(sResponseFromServer, typeof(object)); result.Response = a; } } } } catch (Exception ex) { result.Successful = false; result.Response = null; result.Error = ex; } //return result; }
public void SendNotification(OrderModel order) { AndroidFCMPushNotificationStatus result = new AndroidFCMPushNotificationStatus(); try { string orderdate = Convert.ToString(order.OrderTime.ToString("dd-MMM-yyyy")); var applicationID = "AAAA2rG7ES8:APA91bHodgOIwfVE3hOy6H8hivDQKNGVQFt79qqKgQa18ygSf1yZYeyr6Ng6VxwrFqeR0MeajeCAHuTKVpb6V0LVyaXGEZn3Lpoa5W9e_FXcfPVPftolsyGazG1P1V4fE3sn5VGcdn2q"; var senderId = "939284697391"; string deviceId = order.DeviceId; WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "post"; tRequest.ContentType = "application/json"; var notificationdata = new { to = deviceId, data = new { title = "Your order: " + order.OrderNumber + " has been received", OrderNumber = order.OrderNumber, StoreName = order.StoreName, OrderId = order.OrderId, StoreId = order.StoreId, LoginId = order.LoginId, }, priority = "high" }; var serializer = new JavaScriptSerializer(); var json = serializer.Serialize(notificationdata); Byte[] byteArray = Encoding.UTF8.GetBytes(json); tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID)); tRequest.Headers.Add(string.Format("Sender: id={0}", senderId)); tRequest.ContentLength = byteArray.Length; using (Stream dataStream = tRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (WebResponse tResponse = tRequest.GetResponse()) { using (Stream dataStreamResponse = tResponse.GetResponseStream()) using (StreamReader tReader = new StreamReader(dataStreamResponse)) { String sResponseFromServer = tReader.ReadToEnd(); JavaScriptSerializer j = new JavaScriptSerializer(); object a = j.Deserialize(sResponseFromServer, typeof(object)); result.Response = a; } } } } catch (Exception ex) { result.Successful = false; result.Response = null; result.Error = ex; } //return result; }
public AndroidFCMPushNotificationStatus SendNotification(string strdeviceId) { AndroidFCMPushNotificationStatus result = new AndroidFCMPushNotificationStatus(); try { var applicationID = "AAAAmX8mPHc:APA91bE9cRg7X0JPeNxspPhYMc2-dw5iTA004YvcTwCMPul5LQp3-rVne6cC95f36Lkt5MssYopjL3O7pDuTsf_wWR4NewB7WcuSWU4gHjCbBlnBtI8CA7vfs0ojnD1TZ-WptbjXwXyu"; var senderId = "659263208567"; string deviceId = strdeviceId; WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "post"; tRequest.ContentType = "application/json"; var data = new { to = deviceId, notification = new { body = "This is the message", title = "This is the title", icon = "myicon" }, priority = "high" }; var serializer = new JavaScriptSerializer(); var json = serializer.Serialize(data); Byte[] byteArray = Encoding.UTF8.GetBytes(json); tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID)); tRequest.Headers.Add(string.Format("Sender: id={0}", senderId)); tRequest.ContentLength = byteArray.Length; using (Stream dataStream = tRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (WebResponse tResponse = tRequest.GetResponse()) { using (Stream dataStreamResponse = tResponse.GetResponseStream()) using (StreamReader tReader = new StreamReader(dataStreamResponse)) { String sResponseFromServer = tReader.ReadToEnd(); JavaScriptSerializer j = new JavaScriptSerializer(); object a = j.Deserialize(sResponseFromServer, typeof(object)); result.Response = a; } } } } catch (Exception ex) { result.Successful = false; result.Response = null; result.Error = ex; } return(result); }
public AndroidFCMPushNotificationStatus SendNotification(string strdeviceId) { AndroidFCMPushNotificationStatus result = new AndroidFCMPushNotificationStatus(); try { var applicationID = "AAAA2rG7ES8:APA91bHodgOIwfVE3hOy6H8hivDQKNGVQFt79qqKgQa18ygSf1yZYeyr6Ng6VxwrFqeR0MeajeCAHuTKVpb6V0LVyaXGEZn3Lpoa5W9e_FXcfPVPftolsyGazG1P1V4fE3sn5VGcdn2q"; var senderId = "939284697391"; string deviceId = strdeviceId; WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "post"; tRequest.ContentType = "application/json"; var data = new { to = deviceId, notification = new { body = "This is the message", title = "This is the title", icon = "myicon" }, priority = "high" }; var serializer = new JavaScriptSerializer(); var json = serializer.Serialize(data); Byte[] byteArray = Encoding.UTF8.GetBytes(json); tRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID)); tRequest.Headers.Add(string.Format("Sender: id={0}", senderId)); tRequest.ContentLength = byteArray.Length; using (Stream dataStream = tRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (WebResponse tResponse = tRequest.GetResponse()) { using (Stream dataStreamResponse = tResponse.GetResponseStream()) using (StreamReader tReader = new StreamReader(dataStreamResponse)) { String sResponseFromServer = tReader.ReadToEnd(); JavaScriptSerializer j = new JavaScriptSerializer(); object a = j.Deserialize(sResponseFromServer, typeof(object)); result.Response = a; } } } } catch (Exception ex) { result.Successful = false; result.Response = null; result.Error = ex; } return(result); }
public AndroidFCMPushNotificationStatus SendNotification(string deviceId, int RequestID)//send notification { AndroidFCMPushNotificationStatus result = new AndroidFCMPushNotificationStatus(); string serverApiKey = Constanse.AppKey; //Key from Firebase Cloud Message try { result.Successful = false; result.Error = null; WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "POST"; tRequest.ContentType = "application/json"; tRequest.Headers.Add(string.Format("Authorization: key={0}", serverApiKey)); var data = new //Json of notification { to = deviceId, data = new { request_id = RequestID } }; var serilazer = new JavaScriptSerializer(); var json = serilazer.Serialize(data); Byte[] byteArray = Encoding.UTF8.GetBytes(json); tRequest.ContentLength = byteArray.Length; using (Stream dataStream = tRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (WebResponse tResponse = tRequest.GetResponse()) { using (Stream dataStreamResponse = tResponse.GetResponseStream()) { using (StreamReader tReader = new StreamReader(dataStreamResponse)) { String sResponseFromServer = tReader.ReadToEnd(); result.Response = sResponseFromServer; } } } } } catch (Exception ex) { result.Successful = false; result.Response = null; result.Error = ex; } return(result); }
protected void Button1_Click(object sender, EventArgs e) { AndroidFCMPushNotificationStatus s = SendNotification(tbDeviceId.Text, int.Parse(tbData.Text)); Result.Text = "Error" + s.Error + "<br> Resones" + s.Response + "<br> sucsse" + s.Successful; }
public static AndroidFCMPushNotificationStatus SendNotification(string deviceId, string msg, int userId, string title) { AndroidFCMPushNotificationStatus result = new AndroidFCMPushNotificationStatus(); try { result.Successful = false; result.Error = null; var serverApiKey = Convert.ToString(ConfigurationSettings.AppSettings["FcmServerApiKeyFO"]); var senderId = Convert.ToString(ConfigurationSettings.AppSettings["FcmsenderIdFO"]); //deviceId = "fiw592fD138:APA91bHqE4yzlcp3OVX3hHYBz3NE3oJBpz3b6JlFOXu2-wZPTajYLNyRD0BHPsvCG09pZv54zbNMVLW8rdJLArlg0aEHRDmB9z59ATQORy3FpVsnDTSgDh6XnMEjS7iDx_owcbPpSujs"; // var deviceId = "ae03efc8462cc55a"; WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); tRequest.Method = "post"; // tRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; tRequest.Headers.Add(string.Format("Authorization: key={0}", serverApiKey)); tRequest.Headers.Add(string.Format("Sender: id={0}", senderId)); // string postData = "collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.message=" + value + "&data.time=" + System.DateTime.Now.ToString() + "®istration_id=" + deviceId + ""; //Byte[] byteArray = Encoding.UTF8.GetBytes(postData); tRequest.ContentType = "application/json"; // tRequest.UseDefaultCredentials = true; // tRequest.PreAuthenticate = true; // tRequest.Credentials = CredentialCache.DefaultCredentials; var data = new { to = deviceId, notification = new { body = msg, title = title } }; var serializer = new JavaScriptSerializer(); var json = serializer.Serialize(data); Byte[] byteArray = Encoding.UTF8.GetBytes(json); tRequest.ContentLength = byteArray.Length; using (Stream dataStream = tRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (WebResponse tResponse = tRequest.GetResponse()) { using (Stream dataStreamResponse = tResponse.GetResponseStream()) { using (StreamReader tReader = new StreamReader(dataStreamResponse)) { String sResponseFromServer = tReader.ReadToEnd(); FCMResponse response = Newtonsoft.Json.JsonConvert.DeserializeObject <FCMResponse>(sResponseFromServer); if (response.success == 1) { var newTbl_NotifyLog = new NotifyLog(); newTbl_NotifyLog.FcmId = deviceId; newTbl_NotifyLog.AppKeyId = serverApiKey; newTbl_NotifyLog.Msg = msg; newTbl_NotifyLog.Status = "Success"; newTbl_NotifyLog.MsgId = response.results[0].message_id; newTbl_NotifyLog.CreatedDate = DateTime.Now.ToString(); newTbl_NotifyLog.CreatedBy = userId; new ReasonStatusDal().SaveNotifyLog(newTbl_NotifyLog); } else if (response.failure == 1) { var newTbl_NotifyLog = new NotifyLog(); newTbl_NotifyLog.FcmId = deviceId; newTbl_NotifyLog.AppKeyId = serverApiKey; newTbl_NotifyLog.Msg = msg; newTbl_NotifyLog.ErrorMsg = response.results[0].error; newTbl_NotifyLog.Status = "Failure"; newTbl_NotifyLog.CreatedDate = DateTime.Now.ToString(); newTbl_NotifyLog.CreatedBy = userId; new ReasonStatusDal().SaveNotifyLog(newTbl_NotifyLog); } result.Response = sResponseFromServer; } } } } } catch (Exception ex) { var newErrorLog = new ErrorLog(); newErrorLog.ControllerName = "Notification"; newErrorLog.ActionName = "SendNotification"; newErrorLog.Msg = ex.Message; newErrorLog.Type = title + " Console"; LogBal.ErrorLog("CommonBal", "SendNotification", ex.Message, 0); // new DataLayer().SaveErrorLog(newErrorLog); //result.Successful = false; //result.Response = null; //result.Error = ex; } return(result); }
public AndroidFCMPushNotificationStatus SendNotification(string deviceId, string title, string message) { AndroidFCMPushNotificationStatus result = new AndroidFCMPushNotificationStatus(); string serverApiKey = GlobalConfiguration.GoogleFCMServerToken; string senderId = GlobalConfiguration.GoogleFCMSenderIDToken; try { result.Successful = true; result.Error = null; // var value = message; var requestUri = GlobalConfiguration.GoogleFCMUri; WebRequest webRequest = WebRequest.Create(requestUri); webRequest.Method = "POST"; webRequest.Headers.Add(string.Format("Authorization: key={0}", serverApiKey)); webRequest.Headers.Add(string.Format("Sender: id={0}", senderId)); webRequest.ContentType = "application/json"; var data = new { to = deviceId, // Uncoment this if you want to test for single device // to = "/topics/" + _topic, // this is for topic notification = new { title = title, body = message, //icon="myicon" } }; var serializer = new JavaScriptSerializer(); var json = serializer.Serialize(data); Byte[] byteArray = Encoding.UTF8.GetBytes(json); webRequest.ContentLength = byteArray.Length; using (Stream dataStream = webRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (WebResponse webResponse = webRequest.GetResponse()) { using (Stream dataStreamResponse = webResponse.GetResponseStream()) { using (StreamReader tReader = new StreamReader(dataStreamResponse)) { String sResponseFromServer = tReader.ReadToEnd(); result.Response = sResponseFromServer; } } } } } catch (Exception ex) { result.Successful = false; result.Response = null; result.Error = ex; } return(result); }
public AndroidFCMPushNotificationStatus GenerarNotificacion(MensajeBO obj) { MensajeBO msbo = (MensajeBO)obj; // se declara un objeto para conocer el resultado de la operación de las notificaciones AndroidFCMPushNotificationStatus result = new AndroidFCMPushNotificationStatus(); // Se obtienen los dispositivos registrados en la base de datos try { result.Successful = false; result.Error = null; // se asigna a una variable el API Key del servidor var serverApiKey = "AAAAZBELpcE:APA91bHdTPXQpi1625eqZO8qukaKp86DFWDtXS5JxIPfckFQtlRUpFuFA7jSBft-r5Kw4lO1XIxEv3hXisuI9d9Txog_xdDamZKPDJ5GTVT2ByEKUlDZYqb67R3eMZT4s5LdiTG5P7DZ"; // se asigna a una variable el ID del remitente (servidor) var senderId = "429782705601"; // se asigna a una variable el nombre del evento // var value = "algo"; // se obtiene la tabla de los dispositivos // se asigna a una variable el Token del dispositivo (según la fila) var deviceId = Convert.ToString(msbo.getToken()); var titulo = Convert.ToString(msbo.getTitulo()); var cuerpo = Convert.ToString(msbo.getBody()); // se crea un WebReques para el envío de las notividaciones WebRequest tRequest = WebRequest.Create("https://android.googleapis.com/gcm/send "); // método "post" para declarar que es una notificación tRequest.Method = "post"; // declarar tipo de contenido (android lo maneja por archivos json) tRequest.ContentType = "application/json"; // declaración de variable data para contener la información en formato json var data = new { // se asigna a qué dispositivo va dirigida la notificación to = deviceId, notification = new { // se asigna el texto de la notificación body = cuerpo, title = titulo, icon = "myicon", sound = "Enabled" } }; // variable para convertir la información en formato json var serializer = new JavaScriptSerializer(); var json = serializer.Serialize(data); // arreglo de bytes para asignar los datos del formato json Byte[] byteArray = Encoding.UTF8.GetBytes(json); // se agrega la autorización por medio del API Key del servidor tRequest.Headers.Add(string.Format("Authorization: key={0}", serverApiKey)); // se agrega el remitente tRequest.Headers.Add(string.Format("Sender: id={0}", senderId)); tRequest.ContentLength = byteArray.Length; // se realiza el proceso de envío de la notificación al servidor y ser reenviado todos los dispositivos móviles using (Stream dataStream = tRequest.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); using (WebResponse tResponse = tRequest.GetResponse()) { using (Stream dataStreamResponse = tResponse.GetResponseStream()) { using (StreamReader tReader = new StreamReader(dataStreamResponse)) { String sResponseFromServer = tReader.ReadToEnd(); result.Response = sResponseFromServer; } } } } } catch (Exception ex) { result.Successful = false; result.Response = null; result.Error = ex; } return(result); }