Primeiros passos com o Firebase Realtime Database para C++

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 usar o Firebase Realtime Database , você precisa:

  • Registre seu projeto C++ e configure-o para usar o Firebase.

    Se o seu projeto C++ já usa o Firebase, ele já está registrado e configurado para o Firebase.

  • Adicione o SDK do Firebase para C++ ao seu projeto C++.

Observe que adicionar o Firebase ao seu projeto C++ envolve tarefas no console do Firebase e no seu projeto C++ aberto (por exemplo, você baixa os arquivos de configuração do Firebase do console e os move para o seu projeto C++).

Crie um banco de dados

  1. Navegue até a seção Realtime Database do console do Firebase . Você será solicitado a selecionar um projeto existente do Firebase. Siga o fluxo de trabalho de criação de banco de dados.

  2. Selecione um modo de inicialização para suas regras de segurança do Firebase:

    Modo de teste

    Bom para começar a usar as bibliotecas de cliente móvel e web, mas permite que qualquer pessoa leia e substitua seus dados. Após o teste, revise a seção Entenda as regras do Firebase Realtime Database .

    Para começar a usar o SDK da Web, Apple ou Android, selecione testmode.

    Modo bloqueado

    Nega todas as leituras e gravações de clientes móveis e da Web. Seus servidores de aplicativos autenticados ainda poderão acessar seu banco de dados.

  3. 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 em us-central1 )

    • DATABASE_NAME . REGION .firebasedatabase.app (para bancos de dados em todos os outros locais)

  4. Clique em Concluído .

Ao ativar o Realtime Database, ele também ativa a API no Cloud API Manager .

Criar e inicializar firebase::App

Antes de acessar o Realtime Database, você precisará criar e inicializar 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 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

O firebase::database::Database é o ponto de entrada para o SDK C++ do Firebase Realtime Database.

::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);

Se você optou por usar o acesso público para suas regras, poderá prosseguir para as seções sobre como salvar e recuperar dados.

Configurando acesso restrito

Se não quiser usar o acesso público, você pode adicionar o Firebase Authentication ao seu aplicativo para controlar o acesso ao banco de dados.

Próximos passos

Problemas conhecidos

  • Em plataformas de desktop (Windows, Mac, Linux), o SDK C++ do Firebase usa REST para acessar seu banco de dados. Por causa disso, você deve declarar os índices usados ​​com Query::OrderByChild() no desktop ou seus ouvintes falharão.
  • A versão do fluxo de trabalho para desktop do Realtime Database não oferece suporte off-line ou persistência.