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 já usa o Firebase, então ele já está registrado e configurado para essa plataforma.

  • No arquivo build.gradle no nível do projeto, inclua o repositório Maven do Google nas seções buildscript e allprojects.

  • Adicione o SDK do Firebase para C++ ao seu projeto nessa linguagem de programação.

A adição do 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 no console e movê-los para o projeto em C++.

Criar um banco de dados

  1. Crie um projeto do Firebase, caso ainda não tenha feito isso: no Console do Firebase, clique em Adicionar projeto e siga as instruções exibidas na tela para criar um projeto ou adicionar serviços do Firebase a um projeto atual do GCP.

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

  3. Selecione um modo inicial para suas regras de segurança do Firebase:

    Modo de teste

    Ideal para dar os primeiros passos com as bibliotecas de cliente de dispositivos móveis e Web. No entanto, esse modo permite que qualquer pessoa leia e modifique 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, iOS ou da 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.

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