I want to send a notification to multiple devices in one fcm request. My notification text is the same for all devices. I need to send more than 10,000 notifications at the same time to all users, and the text will be the same, so I want to send all notifications with a minimum fcm request. I am using asmx c # service. hear my code.
string regid = "fcm_reg_id1, fcm_reg_id2", like this.
string applicationID = "abcd";
string SENDER_ID = "123456";
            string regid="c_Z5yRoj4TY:APA91bGry2g_CIA1xaRy_LscxOvFX6YHqasKA96TjpG6yi1yytNyM5rtGL6DgxjGMSE5c74d7VdSL6W8zxO1ixVMlpVMwdgcrsGUWV0VfdbddC2XD","c_Z5yRoj4TY:APA91bGry2g_CIA1xaRy_LscxOvFX6YHqasKA96TjpG6yi1yytNyM5rtGL6DgxjGMSE5c74d7";
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("https://fcm.googleapis.com/fcm/send");
            httpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
            httpWebRequest.Method = "POST";
            String collaps_key = "Score_update";
            string json = "collapse_key=abcd" + "&data.header=cricket®istration_id=" + regId + "&data.notificationId=" + notificationId + "&data.message=" + msg;
            httpWebRequest.Headers.Add(string.Format("Authorization: key={0}", applicationID));
            httpWebRequest.Headers.Add(string.Format("Sender: key={0}", SENDER_ID));
            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                
                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();
                using (HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse())
                {
                    using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                    {
                        var result = streamReader.ReadToEnd();
                        Console.WriteLine(result);
                        retmsgid = result.ToString();
                        if (retmsgid.Trim() != "")
                        {
                            ResponceString = result.ToString();
                            string[] msgsplits = retmsgid.Split(',');
                            string[] msg1 = msgsplits[0].ToString().Split(':');
                            ReturnMessageId = msg1[1].ToString();
                        }
                        else
                        {
                            ReturnMessageId = "0";
                        }
                    }
                    httpResponse.Close();
                    httpResponse.Dispose();
                    httpWebRequest = null;
                }
            } 
source
share