티스토리 뷰
자바 스프링 FCM웹 푸시 기능 구현!
* 구글 FCM 프로젝트 등록(Web) 했다고 가정
1. index.jsp
------------------------------------------------------------------------------------------------------------------------------
<script src="https://www.gstatic.com/firebasejs/6.6.0/firebase-app.js">
<script src="https://www.gstatic.com/firebasejs/5.10.1/firebase-messaging.js">
<script>
// 웹의 Firebase configuration 입력
// Firebase SDK snippet
var firebaseConfig = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
measurementId: ""
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
console.log("Firebase Initialize Done");
const messaging = firebase.messaging();
// 웹 푸시 인증서 키 입력
messaging.usePublicVapidKey("");
Notification.requestPermission().then((permission) => {
if (permission === 'granted') {
console.log('Notification permission granted.');
messaging.getToken().then((currentToken) => {
if (currentToken) {
// 생성된 토큰 조회 (서버에서 토큰으로 보낼때 필요함)
console.log(currentToken)
}
}).catch((err) => {
console.log('An error occurred while retrieving token. ', err);
showToken('Error retrieving Instance ID token. ', err);
setTokenSentToServer(false);
});
}
else {
console.log('Unable to get permission to notify.');
}
});
------------------------------------------------------------------------------------------------------------------------------
// index.jsp와 같은 위치에 생성 한다.
2. firebase-messaging-sw.js
------------------------------------------------------------------------------------------------------------------------------
self.addEventListener('push', event => {
console.log(event)
var push_data = eval("(" + event.data.text() + ")");
const title = push_data.notification.title;
const options = {
body: push_data.notification.body
};
event.waitUntil(self.registration.showNotification(title, options));
});
------------------------------------------------------------------------------------------------------------------------------
크롬에서 위와같이 확인 가능
끘!@#!@#!#!@
'Java & Spring & SpringBoot' 카테고리의 다른 글
이클립스 JRE 변경 방법! (0) | 2020.03.18 |
---|---|
이클립스 eclipse.ini로 자바 세팅 방법! (0) | 2020.03.18 |
Unable to find setter method for attribute: [commandName] 에러 해결 (0) | 2020.03.11 |
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 에러 해결 방법 (0) | 2020.02.26 |
Spring Tiles 예제 (0) | 2020.02.26 |
- Total
- Today
- Yesterday
- 송내 카페
- 국제반점
- Docker
- 남자 혼자 국내 여행
- kendo grid
- 윈드스크린
- 보성 여행
- 남자 혼자 여행
- 베스파LX
- 담양 여행
- 스쿠터 여행
- 제주도 스쿠터 여행
- 나래바이크
- 오라클 DB 링크
- 고흥 여행
- 군산 여행
- 돌장갑
- 송내역 룸카페
- 초원사진관
- 송내 룸카페
- 군산 게스트하우스
- 인터바이크
- 스쿠터 전국 일주
- 영광 여행
- 송내역 카페
- 은파호수공원
- 리니지m
- 전국 일주 여행
- vscode
- 군산 가볼만한곳
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |