ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Firebase-React 연동
    WEB/React 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 연동은 완료이다.

     

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

     

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

    'WEB > React' 카테고리의 다른 글

    React - Router 화면 이동  (0) 2022.04.30
    Axios 모듈화  (0) 2022.04.30
    Vite를 이용한 React 프로젝트 생성  (0) 2022.04.28
    Axios 사용 시 API 2번 호출되는 문제  (0) 2022.04.20

    댓글

Designed by Tistory.