O Firebase Realtime Database armazena e sincroniza dados usando um banco de dados em nuvem NoSQL. Os dados são sincronizados em todos os clientes em tempo real e permanecem disponíveis quando seu aplicativo fica offline.
Antes de você começar
Antes de poder usar o Firebase Realtime Database , você precisa:
Registre seu projeto C++ e configure-o para usar o Firebase.
Se seu projeto C++ já usa Firebase, ele já está registrado e configurado para Firebase.
Adicione o Firebase C++ SDK ao seu projeto C++.
Observe que adicionar o Firebase ao seu projeto C++ envolve tarefas no console do Firebase e em seu projeto C++ aberto (por exemplo, você baixa os arquivos de configuração do Firebase do console e os move para o projeto C++).
Criar um banco de dados
Navegue até a seção Realtime Database do Firebase console . Você será solicitado a selecionar um projeto existente do Firebase. Siga o fluxo de trabalho de criação do banco de dados.
Selecione um modo inicial para suas regras de segurança do Firebase:
- Modo de teste
Bom para começar com as bibliotecas de clientes móveis e da web, mas permite que qualquer pessoa leia e sobrescreva seus dados. Após o teste, certifique-se de revisar a seção Entenda as regras do Firebase Realtime Database .
Para começar com a web, Apple ou Android SDK, selecione testmode.
- modo bloqueado
Nega todas as leituras e gravações de clientes móveis e da web. Seus servidores de aplicativos autenticados ainda podem acessar seu banco de dados.
Escolha um local para o banco de dados.
Dependendo da localização do banco de dados , a URL do novo banco de dados estará em um dos seguintes formatos:
DATABASE_NAME .firebaseio.com
(para bancos de dados emus-central1
)DATABASE_NAME . REGION .firebasedatabase.app
(para bancos de dados em todos os outros locais)
Clique em Concluído .
Quando você ativa o Realtime Database, ele também ativa a API no Cloud API Manager .
Criar e inicializar firebase::App
Antes de poder acessar o Realtime Database, você precisará criar e inicializar o firebase::App
.
Inclua o arquivo de cabeçalho para firebase::App
:
#include "firebase/app.h"
Android
Crie o firebase::App
, passando o ambiente JNI e uma referência de jobject
para a atividade Java como argumentos:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS+
Crie o firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Acesse a classe firebase::database::Database
Firebase firebase::database::Database
é o ponto de entrada para o Firebase Realtime Database C++ SDK.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
Se você optou por usar o acesso público para suas regras, pode prosseguir para as seções sobre como salvar e recuperar dados.
Configurando acesso restrito
Se você não deseja usar o acesso público, pode adicionar o Firebase Authentication ao seu aplicativo para controlar o acesso ao banco de dados.
Próximos passos
Aprenda a estruturar dados para o Realtime Database.
Prepare-se para lançar seu aplicativo:
- Configure alertas de orçamento para seu projeto no Console do Google Cloud.
- Monitore o painel de uso e cobrança no console do Firebase para obter uma visão geral do uso do seu projeto em vários serviços do Firebase. Você também pode visitar o painel Realtime Database Usage para obter informações de uso mais detalhadas.
- Revise a lista de verificação de lançamento do Firebase .
Problemas conhecidos
- Em plataformas de desktop (Windows, Mac, Linux), o Firebase C++ SDK usa REST para acessar seu banco de dados. Por causa disso, você deve declarar os índices que usa com Query::OrderByChild() na área de trabalho ou seus ouvintes falharão.
- A versão de fluxo de trabalho de desktop do Realtime Database não oferece suporte offline ou persistência.