Primeiros passos com o Firebase Realtime Database para C++
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os dados são armazenados e sincronizados pelo Firebase Realtime Database com um banco de dados NoSQL hospedado na nuvem. Os dados são sincronizados em todos os clientes em tempo real e permanecem disponíveis quando seu app está off-line.
Adicionar o Firebase ao projeto em C++ envolve tarefas no console do Firebase e no projeto em C++ aberto (por exemplo, fazer o download dos arquivos de configuração do Firebase pelo console e movê-los para o projeto em C++).
Criar um banco de dados
Acesse a seção Realtime Database do
console do Firebase:
Aparecerá uma solicitação para selecionar um projeto atual do Firebase.
Siga o fluxo de trabalho de criação do banco de dados.
Selecione um modo inicial para as Firebase Security Rules:
Modo de teste
Ideal para dar os primeiros passos com as bibliotecas de cliente de dispositivos móveis e Web.
No entanto, esse modo permite que qualquer pessoa leia e modifique os dados. Após o teste, leia
a seção Noções básicas das regras do Firebase Realtime Database.
Selecione o modo de teste para começar a usar o SDK para Android, Apple ou Web.
Modo bloqueado
Nega todas as leituras e gravações de clientes de dispositivos móveis e Web.
Seus servidores de aplicativos autenticados ainda podem acessar seu banco de dados.
Escolha um local para o banco de dados.
Dependendo do local, o URL do novo banco de dados terá um dos seguintes formatos:
DATABASE_NAME.firebaseio.com (para
bancos de dados em us-central1)
DATABASE_NAME.REGION.firebasedatabase.app
(para bancos de dados em todos os outros locais)
Monitore o painel Uso e faturamento no console do Firebase para ter uma visão geral do uso do projeto em vários serviços do Firebase.
Também é possível acessar o painel Uso do Realtime Database para ver mais informações detalhadas.
Em plataformas de computador (Windows, Mac, Linux), o SDK do Firebase para C++ usa
REST para acessar o banco de dados. Portanto, é preciso
declarar os índices usados
com Query::OrderByChild() no computador para evitar falhas nos listeners.
A versão do fluxo de trabalho para computador do Realtime Database não é compatível com persistência ou
uso off-line.
[null,null,["Última atualização 2025-08-16 UTC."],[],[],null,["\u003cbr /\u003e\n\nThe Firebase Realtime Database stores and synchronizes data using a NoSQL cloud\ndatabase. Data is synchronized across all clients in realtime, and remains\navailable when your app goes offline.\n\nBefore You Begin\n\nBefore you can use\n[Firebase Realtime Database](/docs/reference/unity/namespace/firebase/database),\nyou need to:\n\n- Register your C++ project and configure it to use Firebase.\n\n If your C++ project already uses Firebase, then it's already registered and\n configured for Firebase.\n- Add the [Firebase C++ SDK](/download/cpp) to your C++ project.\n\n| **Find detailed instructions for these initial\n| setup tasks in\n| [Add Firebase to your C++\n| project](/docs/cpp/setup#note-select-platform).**\n\nNote that adding Firebase to your C++ project involves tasks both in the\n[Firebase console](//console.firebase.google.com/) and in your open C++ project (for example, you download\nFirebase config files from the console, then move them into your C++ project).\n\nCreate a Database\n\n1. Navigate to the **Realtime Database** section of the\n [Firebase console](https://console.firebase.google.com/project/_/database).\n You'll be prompted to select an existing Firebase project.\n Follow the database creation workflow.\n\n2. Select a starting mode for your Firebase Security Rules:\n\n Test mode\n\n : Good for getting started with the mobile and web client libraries,\n but allows anyone to read and overwrite your data. After testing, **make\n sure to review the [Understand Firebase Realtime Database Rules](/docs/database/security)\n section.**\n\n :\n | **Note:** If you create a database in Test mode and make no changes to the default world-readable and world-writeable Rules within a trial period, you will be alerted by email, then your database rules will deny all requests. Note the expiration date during the Firebase console setup flow.\n\n : To get started with the web, Apple, or Android SDK, select testmode.\n\n Locked mode\n\n : Denies all reads and writes from mobile and web clients.\n Your authenticated application servers can still access your database.\n\n3. Choose a location for the database.\n\n Depending on the\n [location of the database](/docs/projects/locations#rtdb-locations), the\n URL for the new database will be in one of the following forms:\n - \u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e`.firebaseio.com` (for\n databases in `us-central1`)\n\n - \u003cvar translate=\"no\"\u003eDATABASE_NAME\u003c/var\u003e`.`\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e`.firebasedatabase.app`\n (for databases in all other locations)\n\n4. Click **Done**.\n\nWhen you enable Realtime Database, it also enables the API in the\n[Cloud API Manager](https://console.cloud.google.com/projectselector/apis/api/firebasedatabase.googleapis.com/overview).\n\nCreate and Initialize firebase::App\n\nBefore you can access the Realtime Database, you'll need to create and initialize the\n[`firebase::App`](/docs/reference/cpp/class/firebase/app).\n| You only need to initialize firebase::App once, no matter how many Firebase C++ features you use.\n\nInclude the header file for `firebase::App`: \n\n```c++\n#include \"firebase/app.h\"\n``` \n\nAndroid\n\n\nCreate the `firebase::App`, passing the JNI environment and a `jobject`\nreference to the Java Activity as arguments: \n\n```c++\napp = ::firebase::App::Create(::firebase::AppOptions(\"APPLICATION NAME\"), jni_env, activity);\n```\n\niOS+\n\n\nCreate the `firebase::App`: \n\n```c++\napp = ::firebase::App::Create(::firebase::AppOptions(\"APPLICATION NAME\"));\n```\n\nAccess the firebase::database::Database Class\n\nThe [`firebase::database::Database`](/docs/reference/cpp/class/firebase/database/database)\nis the entry point for the Firebase Realtime Database C++ SDK. \n\n```c++\n::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);\n```\n\nIf you have chosen to use public access for your rules, you can proceed to the\nsections on saving and retrieving data.\n\nSetting up Restricted Access\n\nIf you do not want to use public access you can add Firebase Authentication to your\napp to control access to the database.\n\nNext Steps\n\n- Learn how to [structure data](/docs/database/cpp/structure-data) for Realtime Database.\n\n- [Scale your data across multiple database\n instances.](/docs/database/usage/sharding)\n\n- [Save data.](/docs/database/cpp/save-data)\n\n- [Retrieve data.](/docs/database/cpp/retrieve-data)\n\n- [View your database in the\n Firebase console.](//console.firebase.google.com/project/_/database/data)\n\n- Prepare to launch your app:\n\n\n - Set up [budget\n alerts](/docs/projects/billing/avoid-surprise-bills#set-up-budget-alert-emails) for your project in the Google Cloud console.\n - Monitor the [*Usage and billing*\n dashboard](//console.firebase.google.com/project/_/usage) in the Firebase console to get an overall picture of your project's usage across multiple Firebase services. You can also visit the [Realtime Database *Usage*\n dashboard](//console.firebase.google.com/project/_/database/usage) for more detailed usage information.\n - Review the [Firebase launch checklist](/support/guides/launch-checklist).\n\nKnown Issues\n\n- On desktop platforms (Windows, Mac, Linux), the Firebase C++ SDK uses REST to access your database. Because of this, you must [declare the indexes you use](https://firebase.google.com/docs/database/security/#section-defining-indexes) with Query::OrderByChild() on desktop or your listeners will fail.\n- The desktop workflow version of Realtime Database does not support offline or persistence."]]