Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기

C++용 Firebase 실시간 데이터베이스 시작하기

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Firebase 실시간 데이터베이스는 NoSQL 클라우드 데이터베이스를 사용하여 데이터를 저장하고 동기화합니다. 데이터는 모든 클라이언트에서 실시간으로 동기화되며 앱이 오프라인이 될 때에도 계속 사용할 수 있습니다.

시작하기 전에

Firebase 실시간 데이터베이스 를 사용하려면 먼저 다음을 수행해야 합니다.

  • C++ 프로젝트를 등록하고 Firebase를 사용하도록 구성합니다.

    C++ 프로젝트에서 이미 Firebase를 사용하고 있다면 이미 Firebase에 등록 및 구성되어 있는 것입니다.

  • Firebase C++ SDK 를 C++ 프로젝트에 추가합니다.

C++ 프로젝트에 Firebase를 추가하려면 Firebase 콘솔 과 공개 C++ 프로젝트 모두에서 작업을 수행해야 합니다(예: 콘솔에서 Firebase 구성 파일을 다운로드한 다음 C++ 프로젝트로 이동).

데이터베이스 생성

  1. Firebase 콘솔실시간 데이터베이스 섹션으로 이동합니다. 기존 Firebase 프로젝트를 선택하라는 메시지가 표시됩니다. 데이터베이스 생성 워크플로를 따릅니다.

  2. Firebase 보안 규칙의 시작 모드를 선택합니다.

    시험 모드

    모바일 및 웹 클라이언트 라이브러리를 시작하는 데 적합하지만 누구나 데이터를 읽고 덮어쓸 수 있습니다. 테스트 후 Firebase 실시간 데이터베이스 규칙 이해 섹션을 검토하세요.

    웹, Apple 또는 Android SDK를 시작하려면 testmode를 선택하십시오.

    잠금 모드

    모바일 및 웹 클라이언트의 모든 읽기 및 쓰기를 거부합니다. 인증된 애플리케이션 서버는 여전히 데이터베이스에 액세스할 수 있습니다.

  3. 데이터베이스 위치를 선택합니다.

    데이터베이스 위치에 따라 새 데이터베이스의 URL은 다음 형식 중 하나가 됩니다.

    • DATABASE_NAME .firebaseio.com ( us-central1 데이터베이스용)

    • DATABASE_NAME . REGION .firebasedatabase.app (다른 모든 위치의 데이터베이스용)

  4. 완료 를 클릭합니다.

실시간 데이터베이스를 활성화하면 Cloud API Manager 에서 API도 활성화됩니다.

Firebase::App 생성 및 초기화

실시간 데이터베이스에 액세스하려면 먼저 firebase::App 을 만들고 초기화해야 합니다.

firebase::App 에 대한 헤더 파일을 포함합니다.

#include "firebase/app.h"

기계적 인조 인간

firebase::App 을 만들고 JNI 환경과 Java Activity에 대한 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 인증을 추가하여 데이터베이스에 대한 액세스를 제어할 수 있습니다.

다음 단계

알려진 문제

  • 데스크톱 플랫폼(Windows, Mac, Linux)에서 Firebase C++ SDK는 REST를 사용하여 데이터베이스에 액세스합니다. 이 때문에 데스크탑에서 Query::OrderByChild()와 함께 사용하는 인덱스를 선언 해야 합니다. 그렇지 않으면 리스너가 실패합니다.
  • 실시간 데이터베이스의 데스크톱 워크플로 버전은 오프라인 또는 지속성을 지원하지 않습니다.