Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- AWS
- Android
- 상태관리
- firebase
- android studio
- 채팅방구현
- MotionLayout
- cloudmessage
- ERDTool
- ERD툴
- PDFViewer
- 개발일지
- provider
- 그룹채팅구현
- 계층형 테이블
- socket.io
- socket통신
- Serial
- DevExpress
- EC2
- BLUETOOTH
- 서버배포
- android pdf viewer
- node js
- androidstudio
- Flutter
- FCM
- node.js
- 암호화
- erdcloud
Archives
- Today
- Total
nueog
[C#] 웹서버에서 Android 앱으로 FCM 전송 본문
반응형
ASP.net 환경에서 만든 웹 어플리케이션에서 특정 상황에서 android 앱으로 FCM 신호를 보내줘야하는 상황이 생겼다.
FCM 을 보낼 때는 페이로드에 형식을 지켜서 보내주면 된다.
나는 Notification 이라는 클래스를 만들어서 사용했다.
public class Notification
{
public string SendNotification(string DeviceToken, string title, string msg)
{
var result = "-1";
var httpWebRequest = (HttpWebRequest)WebRequest.Create(NumDefine.webAddr); //https://fcm.googleapis.com/fcm/send
httpWebRequest.ContentType = "application/json";
httpWebRequest.Headers.Add(string.Format("Authorization: key={0}", NumDefine.serverKey)); //firebase 등록 페이지에서 가져옴
httpWebRequest.Headers.Add(string.Format("Sender: id={0}", NumDefine.senderId)); //firebase 등록 페이지에서 가져옴
httpWebRequest.Method = "POST";
var payload = new
{
to = DeviceToken,
priority = "high",
content_available = true,
notification = new
{
body = msg,
title = title
},
};
var serializer = new JavaScriptSerializer();
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = serializer.Serialize(payload);
streamWriter.Write(json);
streamWriter.Flush();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
result = streamReader.ReadToEnd();
}
return result;
}
}
이 코드에서 필요한 serverKey와 senderId는 firebase 앱 등록 페이지에서 가져올 수 있다.

끝!
반응형
'Web' 카테고리의 다른 글
| [JavaScript][dom-to-image] dom element 요소 이미지 태그로 바꾸기 (0) | 2022.06.22 |
|---|---|
| [SVG] svg태그 선/모양 그리기 (0) | 2022.06.20 |
| [IIS] 서버 배포 / 포트 문제 해결 (0) | 2022.05.13 |
| css정리5 - 포지셔닝 / float (0) | 2021.11.19 |
| css 정리 4 - display (0) | 2021.11.17 |