Firebase 실시간 데이터베이스는 NoSQL 클라우드 데이터베이스를 사용하여 데이터를 저장하고 동기화합니다. 데이터는 모든 클라이언트에서 실시간으로 동기화되며 앱이 오프라인 상태가 되어도 계속 사용할 수 있습니다.
시작하기 전에
Firebase 실시간 데이터베이스 를 사용하려면 먼저 다음을 수행해야 합니다.
C++ 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다.
C++ 프로젝트에서 이미 Firebase를 사용하고 있다면 이미 Firebase용으로 등록 및 구성된 것입니다.
C++ 프로젝트에 Firebase C++ SDK 를 추가합니다.
C++ 프로젝트에 Firebase를 추가하려면 Firebase 콘솔 과 열려 있는 C++ 프로젝트(예: 콘솔에서 Firebase 구성 파일을 다운로드한 다음 C++ 프로젝트로 이동)에서 작업을 수행해야 합니다.
데이터베이스 생성
Firebase 콘솔 의 실시간 데이터베이스 섹션으로 이동합니다. 기존 Firebase 프로젝트를 선택하라는 메시지가 표시됩니다. 데이터베이스 생성 워크플로우를 따르십시오.
Firebase 보안 규칙의 시작 모드를 선택하세요.
- 시험 모드
모바일 및 웹 클라이언트 라이브러리를 시작하는 데 적합하지만 누구나 데이터를 읽고 덮어쓸 수 있습니다. 테스트 후 Firebase 실시간 데이터베이스 규칙 이해 섹션을 검토하세요.
웹, Apple 또는 Android SDK를 시작하려면 testmode를 선택합니다.
- 잠금 모드
모바일 및 웹 클라이언트의 모든 읽기 및 쓰기를 거부합니다. 인증된 애플리케이션 서버는 여전히 데이터베이스에 액세스할 수 있습니다.
데이터베이스의 위치를 선택하십시오.
데이터베이스의 위치에 따라 새 데이터베이스의 URL은 다음 형식 중 하나가 됩니다.
DATABASE_NAME .firebaseio.com
(us-central1
데이터베이스용)DATABASE_NAME . REGION .firebasedatabase.app
(기타 모든 위치의 데이터베이스용)
완료 를 클릭합니다.
실시간 데이터베이스를 활성화하면 Cloud API Manager 에서 API도 활성화됩니다.
firebase::App 생성 및 초기화
실시간 데이터베이스에 액세스하려면 먼저 firebase::App
을 만들고 초기화해야 합니다.
firebase::App
의 헤더 파일을 포함합니다.
#include "firebase/app.h"
기계적 인조 인간
firebase::App
을 만들고 JNI 환경과 자바 활동에 대한 jobject
참조를 인수로 전달합니다.
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS+
firebase::App
만들기:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
firebase::database::Database 클래스에 액세스합니다.
firebase::database::Database
는 Firebase 실시간 데이터베이스 C++ SDK의 진입점입니다.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
규칙에 대해 공개 액세스를 사용하도록 선택한 경우 데이터 저장 및 검색 섹션으로 이동할 수 있습니다.
제한된 액세스 설정
공개 액세스를 사용하지 않으려면 앱에 Firebase 인증을 추가하여 데이터베이스에 대한 액세스를 제어할 수 있습니다.
다음 단계
실시간 데이터베이스의 데이터 구조화 방법을 알아보세요.
앱 실행 준비:
- Google Cloud Console에서 프로젝트에 대한 예산 알림 을 설정하세요.
- Firebase Console에서 사용량 및 청구 대시보드 를 모니터링하여 여러 Firebase 서비스에서 프로젝트 사용량을 전체적으로 파악하세요. 자세한 사용량 정보는 실시간 데이터베이스 사용량 대시보드 를 방문할 수도 있습니다.
- Firebase 출시 체크리스트 를 검토하세요.
알려진 문제
- 데스크톱 플랫폼(Windows, Mac, Linux)에서 Firebase C++ SDK는 REST를 사용하여 데이터베이스에 액세스합니다. 이 때문에 데스크탑에서 Query::OrderByChild()와 함께 사용하는 인덱스를 선언 해야 합니다. 그렇지 않으면 리스너가 실패합니다.
- 실시간 데이터베이스의 데스크톱 워크플로 버전은 오프라인 또는 지속성을 지원하지 않습니다.