Getting Started
berikut cara memulai proyek dengan firebase :
buat folder src > Config > firebase.js
import { initializeApp } from 'firebase/app';
import { getAnalytics } from 'firebase/analytics';
import { getAuth } from 'firebase/auth';
import { getFirestore } from 'firebase/firestore';
import { getStorage } from 'firebase/storage';
import { getMessaging, onMessage, getToken } from 'firebase/messaging';
import song from '../assets/CoinDrop-Notification.mp3';
import { getDatabase } from 'firebase/database';
const firebaseConfig = {
apiKey: process.env.REACT_APP_API_KEY,
authDomain: process.env.REACT_APP_AUTH_DOMAIN,
databaseURL: process.env.REACT_APP_DATA_BASE_URL,
projectId: process.env.REACT_APP_PROJECTID,
storageBucket: process.env.REACT_APP_STORAGEBUCKET,
messagingSenderId: process.env.REACT_APP_MESSAGINGSENDERID,
appId: process.env.REACT_APP_APPID,
measurementId: process.env.REACT_APP_MEASUREMENTID,
token_option: process.env.REACT_APP_TOKEN_OPTION, // your vapid key
};
const app = initializeApp(firebaseConfig);
const analytics = getAnalytics(app);
const auth = getAuth(app);
const db = getFirestore(app);
const database = getDatabase(app);
const storage = getStorage(app);
const configMessage = getMessaging(app);
auth.languageCode = 'id';
export { app, analytics, auth, db, storage, database };
export const fetchToken = async () => {
try {
const token = await getToken(configMessage, {
vapidKey: firebaseConfig.token_option,
});
if (token) {
return token;
} else {
return 'no push notif token for now';
}
} catch (error) {
return error;
}
};
export const onMessageListener = (toast) => {
onMessage(configMessage, (payload) => {
const notif = new Audio(song);
notif.play();
const { data } = payload;
const { title, description } = data;
toast({
title: title,
description: description,
position: 'top-right',
isClosable: true,
});
});
};
pastikan nilainya selalu ada di .env agar tidak terbuka di github
Last updated