콘솔로 이동

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

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

시작하기 전에

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

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

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

  • 프로젝트 수준 build.gradle 파일의 buildscriptallprojects 섹션에 Google의 Maven 저장소가 포함되어야 합니다.

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

C++ 프로젝트에 Firebase를 추가할 때 Firebase Console 및 열려 있는 C++ 프로젝트 모두에서 작업을 수행해야 합니다. 예를 들어 콘솔에서 Firebase 구성 파일을 다운로드한 후 이 파일을 C++ 프로젝트로 옮기는 작업이 필요합니다.

공개 액세스 설정

실시간 데이터베이스가 제공하는 선언적 규칙 언어로 데이터의 구조, 색인 생성 방법 및 데이터를 읽거나 쓸 수 있는 조건을 정의할 수 있습니다. 기본적으로 데이터베이스에 대한 읽기 및 쓰기 액세스는 인증된 사용자만 데이터를 읽거나 쓸 수 있도록 제한되어 있습니다. 공개 액세스 규칙을 구성하면 인증을 설정하지 않고 시작할 수 있습니다. 이렇게 하면 앱을 사용하지 않는 사람을 포함하여 모두에게 데이터베이스가 공개되므로 인증을 설정할 때 데이터베이스를 다시 제한해야 합니다.

firebase::App 만들기 및 초기화

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

firebase::App의 헤더 파일을 포함합니다.

#include "firebase/app.h"

Android

자바 액티비티를 가리키는 jobject 참조와 JNI 환경을 인수로 전달하여 firebase::App을 만듭니다.

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()를 실행해 사용할 색인을 선언해야 하며, 그렇지 않으면 리스너가 작동하지 않습니다.
  • 실시간 데이터베이스의 데스크톱 워크플로 버전은 오프라인 또는 지속성을 지원하지 않습니다.