Skip to content

Commit

Permalink
[FE] ETC: firebase messaging 관련 테스트 후 코드 원래대로 복구
Browse files Browse the repository at this point in the history
  • Loading branch information
jnkeniaem committed Nov 26, 2024
1 parent fb476fc commit 045785f
Showing 1 changed file with 22 additions and 26 deletions.
48 changes: 22 additions & 26 deletions frontend/src/Cabinet/firebase/firebase-messaging-sw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,33 +24,32 @@ let messaging: null | Messaging = null;
let isApiSupported = false;

// NOTE : 사용자 브라우저가 푸시 알림 기능을 지원하는지 확인
// isSupported().then((result) => {
// isApiSupported = result;
// if (
// typeof window !== "undefined" &&
// typeof window.navigator !== "undefined" &&
// isApiSupported
// ) {
// messaging = getMessaging(app);
// }
// });
messaging = getMessaging(app);
isSupported().then((result) => {
isApiSupported = result;
if (
typeof window !== "undefined" &&
typeof window.navigator !== "undefined" &&
isApiSupported
) {
messaging = getMessaging(app);
}
});

const unsupportedMsg = `사용 중인 환경에서는 푸시 알림 기능이
지원되지 않습니다.
데스크탑 이용을 권장드립니다.`;

// const checkBrowserSupport = () => {
// if (!isApiSupported) {
// let error = new Error(unsupportedMsg);
// error.name = "브라우저 알림 지원 제한";
// throw error;
// }
// };
const checkBrowserSupport = () => {
if (!isApiSupported) {
let error = new Error(unsupportedMsg);
error.name = "브라우저 알림 지원 제한";
throw error;
}
};

// FCM APP을 등록 후 브라우저 알림 권한을 요청하고, 토큰을 반환
export const requestFcmAndGetDeviceToken = async (): Promise<string | null> => {
// checkBrowserSupport();
checkBrowserSupport();

console.log("권한 요청 중...");
const permission = await Notification.requestPermission();
Expand All @@ -61,16 +60,14 @@ export const requestFcmAndGetDeviceToken = async (): Promise<string | null> => {

console.log("알림 권한이 허용됨");

// const token = await getToken(messaging!, {
const token = await getToken(messaging, {
const token = await getToken(messaging!, {
vapidKey: import.meta.env.VITE_FIREBASE_APP_VAPID_KEY,
});

if (token) console.log("token: ", token);
else console.log("Can not get Token");

// onMessage(messaging!, (payload) => {
onMessage(messaging, (payload) => {
onMessage(messaging!, (payload) => {
console.log("메시지가 도착했습니다.", payload);
// ...
});
Expand All @@ -80,9 +77,8 @@ export const requestFcmAndGetDeviceToken = async (): Promise<string | null> => {

// FCM 토큰 제거 및 브라우저 알람 권한 해제
export const deleteFcmToken = async (): Promise<void> => {
// checkBrowserSupport();
checkBrowserSupport();

// await deleteToken(messaging!);
await deleteToken(messaging);
await deleteToken(messaging!);
console.log("Token deleted.");
};

0 comments on commit 045785f

Please sign in to comment.