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.

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

A adição do Firebase ao projeto em C++ envolve tarefas no Console do Firebase e no projeto em C++ aberto (por exemplo, você faz o download dos arquivos de configuração do Firebase no console e os move para o projeto em C++).

Criar um banco de dados

  1. Navegue até 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 suas regras de segurança do Firebase:

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

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

Criar e inicializar o firebase::App

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

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

::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 seu app para controlar o acesso ao banco de dados.

Próximas etapas

Problemas conhecidos

  • Em plataformas de computador (Windows, Mac, Linux), o SDK em C++ do Firebase usa o REST para acessar seu banco de dados. Sendo assim, é preciso declarar os índices que você usa com Query::OrderByChild() no computador para evitar falha nos listeners.
  • A versão do fluxo de trabalho para computadores do Realtime Database não é compatível com a persistência ou com o uso off-line.