Primeiros passos com o Firebase Realtime Database para C++

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

  1. 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.

  2. 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.

  3. 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)

  4. 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

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.