본문 바로가기

Flutter

Flutter WebSocket 알림(Firebase 이용)

1. 플러터프로젝트와 파이어베이스 연동 했다는 가정하에 시작(유튜브에 많음)

 

https://firebase.google.com/docs/cloud-messaging/migrate-v1?hl=ko&authuser=0 

 

기존 HTTP에서 HTTP v1로 마이그레이션  |  Firebase Documentation

의견 보내기 기존 HTTP에서 HTTP v1로 마이그레이션 FCM의 기존 HTTP API를 사용하는 앱은 이 가이드의 안내에 따라 HTTP v1 API로 마이그레이션해야 합니다. HTTP v1 API는 기존 API에 비해 다음과 같은 장점

firebase.google.com

공식문서는 위 링크 참고

이방식으로 시작

새 비공개키 ㄱㄱ

메이븐 2개필요

com.google.firebase

https://firebase.google.com/docs/admin/setup?hl=ko 

 

서버에 Firebase Admin SDK 추가  |  Firebase Documentation

의견 보내기 서버에 Firebase Admin SDK 추가 Admin SDK는 권한이 있는 환경에서 Firebase와 상호작용하여 다음과 같은 작업을 수행할 수 있는 서버 라이브러리 집합입니다. 전체 관리자 권한으로 실시간

firebase.google.com

google-api-client

https://developers.google.com/api-client-library/java

다운받은 파일 연결.

여기서 SCOPES정보를 공식문서에서 지원해주지 않은데 개같은거

"https://www.googleapis.com/auth/firebase", 
"https://www.googleapis.com/auth/cloud-platform", 
"https://www.googleapis.com/auth/firebase.readonly"

이걸 넣으면된다. 

 

		HttpURLConnection http;
		String accessToken = AccessToken.getAccessToken();
		StringBuffer  responseBody = new StringBuffer();  
		
		
		URL url = new URL("https://fcm.googleapis.com/v1/projects/[파이어베이스 프로젝트 이름]/messages:send");  
		http = (HttpURLConnection) url.openConnection();  
  
		http.setRequestMethod("POST");  
		http.setDoInput(true);  
		http.setRequestProperty("Authorization", "Bearer " + accessToken);  
		http.setRequestProperty("Content-Type", "application/json; UTF-8");  
  
		http.setDoOutput(true);  
		OutputStream os = http.getOutputStream();

 

공식문서에 나와있는 이방식으로 데이터를 넣어 보내야한다.

'Flutter' 카테고리의 다른 글

jsp모바일 전용 화면 만드는법  (0) 2022.06.29
카카오 로그인 연동  (0) 2022.05.19
Flutter EdgeInsets  (0) 2022.05.18
컨테이너 알아보기  (0) 2022.05.18
스낵바(Snack bar) 만들기  (0) 2022.05.18