내 Firebase 프로젝트 사용하기
핵심 요약백엔드 → 클라우드의 Firebase 커넥터에 Firebase 서비스 계정 키 파일을 붙여 넣으세요. MonstarX가 Google에서 키를 확인하면 앱에서 Firestore, Firebase 로그인, Cloud Storage, 푸시 메시지, Realtime Database를 쓸 수 있습니다. Firestore를 앱의 기본 데이터 저장소로 정하고 기존 테이블을 복사해 올 수도 있습니다.
Firebase는 Google의 앱 서비스 모음입니다. Firestore라는 문서 데이터베이스, 로그인, 파일 저장소, 푸시 알림 등이 들어 있습니다. 이미 Firebase 프로젝트가 있다면(예를 들어 기존 모바일 앱과 함께 쓰는 프로젝트) MonstarX 앱에 연결해 그 서비스들을 쓸 수 있습니다.
Firebase를 한 가지 용도로만 쓸 수도 있고(예: 모바일 앱 사용자에게 푸시 알림 보내기), Firestore를 앱의 데이터베이스로 정해 웹 앱과 다른 앱이 같은 데이터를 쓰게 할 수도 있습니다.
시작하기 전에
섹션 제목: “시작하기 전에”- Firebase 프로젝트와 Firebase 콘솔에서 그 프로젝트의 설정에 접근할 권한이 필요합니다.
- Firebase Authentication으로 사람들을 로그인시키려면 그 Firebase 프로젝트에 웹 앱이 추가되어 있어야 합니다.
Firebase는 어떻게 연결하나요?
섹션 제목: “Firebase는 어떻게 연결하나요?”-
Firebase 콘솔에서 Project settings(프로젝트 설정) → Service accounts(서비스 계정)를 열고 Generate new private key(새 비공개 키 생성)를 클릭하세요. JSON 파일이 다운로드됩니다.
-
MonstarX에서 프로젝트를 열고 상단 바에서 백엔드를 클릭한 다음 클라우드를 클릭하세요.
-
커넥터에서 Firebase 옆의 연결을 클릭하세요.
-
텍스트 편집기로 JSON 파일을 열어 내용을 전부 복사한 뒤 서비스 계정 키 파일에 붙여 넣으세요. MonstarX가 이 파일에서 프로젝트 ID를 읽습니다.
-
선택 입력란은 필요할 때만 채우세요.
- 웹 API 키: Project settings → General → Your apps → Web app → apiKey에서 찾을 수 있습니다. Firebase Authentication으로 로그인시킬 때만 필요합니다.
- 스토리지 버킷: 파일이 프로젝트의 기본 버킷에 있지 않을 때만 입력합니다.
- Realtime Database의 URL: Realtime Database를 쓸 때만 입력합니다. Firestore는 여기에 아무것도 넣지 않아도 됩니다.
-
Firebase 연결을 클릭하세요. MonstarX는 키를 저장하기 전에 Google에서 확인하고, 연결됨 옆에 찾은 내용을 보여 줍니다. 프로젝트 ID와 Firestore 컬렉션이 표시되거나, “아직 Firestore 데이터베이스가 없습니다”라고 표시됩니다.
웹 앱용 작은 구성 파일처럼 서비스 계정 키가 아닌 파일을 붙여 넣으면, MonstarX가 거부하고 어떤 항목이 빠졌는지 알려 줍니다.
앱에서 Firebase로 무엇을 할 수 있나요?
섹션 제목: “앱에서 Firebase로 무엇을 할 수 있나요?”연결이 끝나면 “수업이 취소되면 회원에게 푸시 알림을 보내 주세요”처럼 원하는 기능을 쉬운 말로 요청하세요. MonstarX가 Firebase로 기능을 만듭니다.
| Firebase 서비스 | 앱에서 할 수 있는 일 |
|---|---|
| Firestore | 문서 추가, 읽기, 검색, 업데이트, 삭제, 개수 세기 |
| Authentication | 회원가입과 로그인, 비밀번호 재설정, 사용자 관리(웹 API 키 필요) |
| Cloud Storage | 파일 업로드, 다운로드 링크 받기, 목록 보기와 삭제 |
| Cloud Messaging | 기기나 주제(topic)로 푸시 알림 보내기 |
| Realtime Database | 데이터 읽기와 쓰기(Realtime Database URL 필요) |
모든 처리가 앱 서버에서 이루어지므로 방문자는 키를 볼 수 없습니다.
Firestore를 앱의 데이터베이스로 쓸 수 있나요?
섹션 제목: “Firestore를 앱의 데이터베이스로 쓸 수 있나요?”네. 모든 앱은 MonstarX 데이터베이스로 시작하지만, 데이터를 보관하는 곳을 Firestore로 바꿀 수 있습니다.
-
먼저 Firebase를 연결하세요(위 내용 참고).
-
백엔드클라우드에서 이 앱이 데이터를 보관하는 위치를 찾으세요.
-
Firestore(내 Firebase 프로젝트)를 고르세요. Firebase를 연결하기 전에는 이 항목에 ‘먼저 Firebase 연결’이라고 표시되고 고를 수 없습니다.
-
앱에 이미 데이터가 있다면 기존 데이터 복사를 클릭해 옮겨 오고 확인하세요.
그다음부터는 이렇게 달라집니다.
- MonstarX가 테이블 대신 컬렉션과 문서로 앱을 만들고, 코드를 쓰기 전에 실제 컬렉션을 살펴봅니다. 데이터에 없는 필드를 지어내지 않습니다.
- 백엔드데이터베이스에 Firestore 컬렉션과 문서가 표시됩니다. 이곳에서는 읽기 전용이며, 쓰기는 앱이 합니다.
- 계정은 MonstarX에 남습니다. 사람들은 이전과 같은 방식으로 로그인하고, 백엔드사용자도 그대로 작동합니다. MonstarX가 자체 데이터베이스를 지우지 않고 유지하는 이유가 이것입니다.
되돌리려면 같은 곳에서 MonstarX 데이터베이스를 고르세요. 앱이 원래 데이터베이스로, 그대로였던 상태로 돌아갑니다.
기존 데이터 복사는 무엇을 하나요?
섹션 제목: “기존 데이터 복사는 무엇을 하나요?”- 각 테이블은 같은 이름의 컬렉션이 되고, 각 행은 문서가 됩니다. 행의 ID는 문서 ID가 됩니다.
- 다시 실행하면 문서가 두 배로 늘지 않고 기존 문서가 업데이트됩니다.
- 로그인 테이블 네 개는 계정이 있는 MonstarX 데이터베이스에 남습니다.
- 양쪽 어디에서도 아무것도 삭제하지 않습니다.
- 큰 앱은 여러 번에 나눠 복사될 수 있습니다. 요청을 짧게 유지하려고 멈췄다는 안내가 나오면 다시 실행하세요. 멈춘 곳부터 이어서 복사합니다.
알아 두면 좋은 점
섹션 제목: “알아 두면 좋은 점”- Firestore와 Supabase 중 하나만 쓸 수 있습니다. 앱은 데이터를 한곳에만 보관합니다. Supabase에서 Firestore로 옮기려면 먼저 데이터를 MonstarX 데이터베이스로 되돌리세요. 다만 Firebase 커넥터 자체는 Supabase와 함께 저장소, 메시지, 로그인 용도로 계속 쓸 수 있습니다.
- 앱에 Firebase SDK가 들어가지 않습니다. MonstarX는 내장 도우미로 Firebase에 접근하며, 이 도우미는 미리보기와 게시된 앱에서 똑같이 작동합니다.
- 모바일 기기로 푸시를 보내려면 모바일 앱에서 받은 기기 토큰이 필요합니다. MonstarX는 앱에 전달된 토큰으로 보냅니다.
- Google Cloud Run에 게시하기는 다른 커넥터입니다. 다른 호스팅에 게시하기를 참고하세요.
자주 묻는 질문
섹션 제목: “자주 묻는 질문”서비스 계정 키 파일은 어디에서 찾나요?
Firebase 콘솔의 <strong>Project settings(프로젝트 설정) → Service accounts(서비스 계정) → Generate new private key(새 비공개 키 생성)</strong>에서 받을 수 있습니다. JSON 파일 전체를 서비스 계정 키 파일에 붙여 넣으세요.
Firebase를 푸시 알림에만 쓸 수 있나요?
네. Firebase를 연결해도 데이터는 옮겨지지 않습니다. 이 앱이 데이터를 보관하는 위치에서 Firestore를 고르지 않는 한, 앱은 계속 MonstarX 데이터베이스를 씁니다.
Firestore로 바꾸면 사용자가 새로 가입해야 하나요?
아니요. 계정은 MonstarX 데이터베이스에 남고 로그인도 이전처럼 작동합니다. 앱 자체의 데이터만 Firestore로 옮겨집니다.
“아직 Firestore 데이터베이스가 없습니다”라고 나옵니다. 문제가 되나요?
Firestore를 쓰려는 경우에만 문제가 됩니다. 앱에 저장소, 로그인, 푸시만 필요할 수도 있으므로 연결은 그대로 됩니다. Firestore를 쓰려면 Firebase 콘솔에서 Firestore 데이터베이스를 만드세요.
데이터를 복사하면 무언가 삭제되나요?
아니요. 기존 데이터 복사는 Firestore에 문서를 추가하거나 업데이트할 뿐입니다. MonstarX 데이터베이스는 그대로 둡니다.