0

FCM通知をブロードキャストする方法はありますか?と画像 - すべてのデバイスに、C#を使用していますか?C#を使用してイメージを含むすべてのデバイスにFCM通知を送信するにはどうすればよいですか?

特定のデバイスIDに送信する代わりに、イメージを組み込み、Firebase Notificationサービス経由ですべてのデバイスに送信します。

私は、単一のユーザデバイスにデータを送信するためにこのコードを使用しますが、画像なし:

public string SendNotificationInstaTips(string firebaseID, 
     string notTitle 
     string notText, 
     string notContent) 
    { 

     try 
     { 
      string SERVER_API_KEY = "AIza..QXq5OQCaM"; 
      string SENDER_ID = "162..09";     
      string REGISTERATION_ID = firebaseID; 

      WebRequest tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send"); 
      tRequest.Method = "post"; 
      tRequest.ContentType = "application/json"; 

      var data = new 
      { 
       to = REGISTERATION_ID, 

       data = new 
       { 
        title = notTitle, 
        text = notText 
        content = notContent 
       } 
      }; 
      var serializer = new JavaScriptSerializer(); 
      var json = serializer.Serialize(data); 
      Byte[] byteArray = Encoding.UTF8.GetBytes(json); 
      tRequest.Headers.Add(string.Format("Authorization: key={0}", SERVER_API_KEY)); 
      tRequest.Headers.Add(string.Format("Sender: id={0}", SENDER_ID)); 
      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(); 
          return sResponseFromServer; 
         } 
        } 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      return ex.Message; 
     } 
    } 

答えて

0

私はPHPでこれに取り組んできましたが、それはC#で類似していなければなりません。代わりに「に」あなたのコード内の

var data = new 
     { 
      to = REGISTERATION_ID, //Change this line 

      data = new 
      { 
       title = notTitle, 
       text = notText 
       content = notContent 
      } 
     }; 
var data = new 
     { 
      registration_ids = {"AIza..QXq5OQCaM","An2i..QXq5OQCaM", .....}, 

      data = new 
      { 
       title = notTitle, 
       text = notText 
       content = notContent 
      } 
     }; 

希望の 使用「登録ID」、これはこれは、プッシュ通知のための通常のユースケースではありません

+0

私はそれらのIDをすべて持っていません –

+0

これは本当に質問に答えません。主な関心事は、すべてのデバイスに*画像*を送信する方法です。 –

+0

メッセージを複数のデバイスに送信したい場合は、これが方法です。しかし、イメージのために、あなたは傾ける。代わりに画像のURLを送信できます(ALの回答を参照) – Exairie

0

に役立ちます。 FCMの場合、主にペイロードサイズの制限(notificationの場合は2KB、dataの場合は4KB)のため、画像を送信しないことを強くお勧めします。

私は画像を保存し、必要に応じてデバイスにダウンロードし、代わりに回避策としてダウンロード通知をプッシュ通知で送信することをお勧めします。

複数の端末に送信する方法については、answer hereをご覧ください。 Topic Messagingを使用するために私があなたの使用のために提案するもの。

関連する問題