コード例 #1
0
        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;
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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;
        }
コード例 #7
0
        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() + "&registration_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);
        }
コード例 #8
0
        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);
        }
コード例 #9
0
ファイル: ServerCon.cs プロジェクト: JLPuc/firebase
        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);
        }