WEB/React

Firebase-React 연동

tranzal 2022. 4. 23. 21:51

웹을 Firebase와 연동하기 위해서는 프로젝트 설정에서 내 앱에 WEB을 추가해야 한다.

 

추가를 성공했다면 위 이미지 처럼 웹 앱의 항목이 추가된 것을 볼 수 있다.

 

react에 npm install firebase를 입력하여 추가해 준다.

 

이제 react 소스에서 index.html이 있는 폴더 안에 firebase-messaging-sw.js 파일을 생성해준다.

 

파일 이름은 무조건 위의 이름으로 해야만 인식을 한다.

 

해당 파일에 아래 코드를 작성한다.

importScripts('https://www.gstatic.com/firebasejs/9.0.0/firebase-app-compat.js');
importScripts('https://www.gstatic.com/firebasejs/9.0.0/firebase-messaging-compat.js');


const firebaseConfig = {
  //추가한 웹 앱의 SDK 설정에 있는 firebaseConfig의 값을 넣으면 된다.
};
firebase.initializeApp(firebaseConfig);

const messaging = firebase.messaging();

 

이제 Firebase의 토큰을 생성하는 코드를 작성한다.

export const requestForToken = async () => {

    return await getToken(messaging, {vapidKey: //설정 - 클라우드 메시지 - 웹 푸시 인증서의 키값을 넣는다.})
        .then((currentToken : string) => {
            if (currentToken) {
                console.log('token : ' + currentToken)
            } else {
                console.log('No registration token available. Request permission to generate one.');
            }
        }).catch((err) => {
            console.log('An error occurred while retrieving token. ', err);
        });
}

 

개발자 툴에 

위와 같이 토큰 값이 생기면 사실상 Firebase 연동은 완료이다.

 

푸시 메시지를 보내고 싶다면

 

해당 부분에서 테스트 메시지를 전송 할 수 있다.