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:

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

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

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

  • 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++.

Como configurar o acesso público

O Realtime Database oferece uma linguagem de regras declarativas para que você defina como os dados devem ser estruturados e indexados, e quando podem ser lidos e gravados. Por padrão, o acesso de leitura e gravação ao seu banco de dados é restrito, por isso apenas usuários autenticados podem ler ou gravar dados. Para iniciar sem configurar o Firebase Authentication, defina as regras para acesso público. Isso faz com que seu banco de dados esteja disponível para qualquer pessoa, mesmo para quem não utiliza seu app. Por isso, restrinja seu banco de dados novamente quando configurar a autenticação.

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 o ambiente JNI e uma referência jobject à atividade Java como argumentos:

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.

Como configurar o 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óximos passos

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.