0

単一のFCM要求で複数のデバイスに通知を送信したいと思います。私の通知テキストはすべてのデバイスで同じです。一度のリクエストでモバイルデバイスに100の通知をブロードキャストできるようにFirebaseリクエストを作成するにはどうすればよいですか?

リクエストごとに100のバッチでモバイルデバイスに通知を送信したいと思います。私はc#asmxサービスを使用しています。

以下は私のコードです。 特定複数の登録装置に送信するために

  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&registration_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())) 
     { 
      //Console.WriteLine(json); 
      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; 
      } 
     } 

答えて

1

、あなたがregistration_idsパラメータを利用することがあります:

このパラメータは、マルチキャストメッセージ、送信されたメッセージの受信者を指定します複数の登録トークンに

値は、マルチキャストメッセージを送信する登録トークンの配列である必要があります。配列には、少なくとも1つと最大1000の登録トークンが含まれていなければなりません。単一のデバイスにメッセージを送信するには、toパラメータを使用します。

あなたのコードでは、無効と思われるregistration_idを使用していました。それはregistration_ids次のようになります。

string json = "collapse_key=abcd" + "&data.header=cricket&registration_ids=" + regIds + "&data.notificationId=" + notificationId + "&data.message=" + msg; 

- ここregIdsは、あなたの登録トークンが含まれている文字列の配列です。

も(OPSのコードスニペットを参照してください)役立つかもしれないいくつかの以前の記事:

関連する問題