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.
Antes de começar
Antes de usar o Firebase Realtime Database, você precisa:
Registrar seu projeto em C++ e configurá-lo para usar o Firebase.
Se o projeto em C++ já usa o Firebase, então ele já está registrado e configurado para o Firebase.
Adicione o SDK do Firebase para C++ ao seu projeto em C++.
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
Esse modo é ideal para começar a usar as bibliotecas de cliente em dispositivos móveis e na Web, mas ele permite que qualquer pessoa leia e substitua 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:
(para bancos de dados emDATABASE_NAME.firebaseio.com
us-central1
) (para bancos de dados em todos os outros locais)DATABASE_NAME.REGION.firebasedatabase.app
Clique em Concluído.
Quando você ativa o Realtime Database, ele também ativa a API no Gerenciador de APIs do Cloud.
Criar e inicializar o firebase::App
Antes de acessar o Realtime Database, você precisa criar e inicializar o
firebase::App
.
Inclua o arquivo de cabeçalho de firebase::App
:
#include "firebase/app.h"
Android
Para criar o firebase::App
, transmita como argumentos o ambiente JNI e uma referência jobject
à atividade Java:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS+
Crie a firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Acessar a classe firebase::database::Database
O firebase::database::Database
é o ponto de entrada do SDK do Firebase Realtime Database para C++.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
Se você escolheu usar regras de acesso público, acesse as seções de como salvar e recuperar dados.
Configurar acesso restrito
Se você não quiser usar o acesso público, adicione o Firebase Authentication ao app para controlar o acesso ao banco de dados.
Próximas etapas
Saiba como estruturar dados para o Realtime Database.
Dimensionar seus dados em várias instâncias do banco de dados.
Prepare-se para lançar seu aplicativo:
- Configure os alertas de orçamento para seu projeto no console Google Cloud.
- 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.
- Consulte a lista de verificação de lançamento do Firebase.
Problemas conhecidos
- 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.