JavaScript로 할 수 있는 것 3가지 간단하게 살펴보기
// 인증 상태 변경 이벤트 핸들러
firebase.auth().onAuthStateChanged((user) => {
if (user) {
// User signed in (user 객체 참조 가능)
const email = user.email;
// ...
} else {
// User not signed in
// ...
}
});
// 이메일, 패스워드로 sign in
// input: email, password
// result: sign in
firebase.auth().signInWithEmailAndPassword(email, password);
// 데이터베이스 참조
const database = firebase.database();
// 데이터베이스 users에 신규 user 값 추가
database.ref(`users/` + userId).set(user);
// 데이터베이스 users를 Read / Listen
database.child("users").on('value', (snapshot) => {
// ...
})
Firestore와 Realtime Database 이렇게 두가지 데이터베이스 서비스를 제공한다. Firestore가 조금 더 최신 서비스라고 한다.
- Firestore: Document 형식으로 데이터 저장
- Realtime Database: JSON 형식으로 데이터를 저장
// 클라우드 저장소 참조
const storageRef = firebase.storage().ref;
// 이미지 파일 저장
// input: 파일명, 이미지 데이터
// Promise 객체 리턴하여 then callback 사용 가능
storageRef.child("image/rivers.jpg").put(data).then((snapshot) => {
// ...
});