Ir para o console

Primeiros passos com o Firebase Realtime Database para Unity

O Firebase Realtime Database armazena e sincroniza dados com o nosso banco de dados na nuvem NoSQL. Os dados são sincronizados em todos os clientes em tempo real e permanecem disponíveis mesmo quando seu app fica off-line.

Antes de começar

Antes de usar o Realtime Database, você precisa:

  • registrar seu projeto do Unity e configurá-lo para usar o Firebase.

    • Se o projeto do Unity já usa o Firebase, ele já está registrado e configurado para essa plataforma.

    • Se você não tiver um projeto do Unity, poderá fazer o download de um aplicativo de amostra.

  • adicionar o SDK do Firebase para Unity (especificamente, FirebaseDatabase.unitypackage) ao seu projeto do Unity.

Adicionar o Firebase ao seu projeto do Unity envolve tarefas no Console do Firebase e no projeto do Unity aberto (por exemplo, fazer o download dos arquivos de configuração do Firebase no Console e movê-los para o projeto do Unity).

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. Observação: por padrão, o acesso de leitura e gravação ao banco de dados é restrito e concedido apenas a usuários autenticados. 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.

Configurar o SDK para o Unity Editor.

Ao testar sua cena no Unity Editor, você pode usar o Realtime Database. É necessário configurar o SDK com o URL adequado do banco de dados. Chame o SetEditorDatabaseUrl com o URL do seu banco de dados.

using Firebase;
using Firebase.Unity.Editor;

public class MyScript: MonoBehaviour {
  void Start() {
    // Set this before calling into the realtime database.
    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://YOUR-FIREBASE-APP.firebaseio.com/");
  }
}

Se você optou por usar o acesso público para suas regras e definiu o URL do banco de dados, avance para as seções sobre como salvar e recuperar dados.

Opcional. Configuração do Editor para acesso restrito.

Se você escolher utilizar regras que não permitem o acesso público, terá de configurar o SDK para usar uma conta de serviço para executar no Unity Editor. Isso também permite simular usuários finais durante o teste. Para fazer isso, primeiro crie um novo arquivo p12 acessando

https://console.cloud.google.com/iam-admin/serviceaccounts/project?project=YOUR-FIREBASE-APP

Registre o e-mail e a senha gerados da conta de serviço.

Coloque o arquivo p12 em "Recursos Padrão do Editor" dentro do seu projeto do Unity. Em seguida, adicione o código a seguir para inciar o uso da conta de serviço.

using Firebase;
using Firebase.Unity.Editor;

public class MyScript: MonoBehaviour {
  void Start() {
    // Set these values before calling into the realtime database.
    FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://YOUR-FIREBASE-APP.firebaseio.com/");
    FirebaseApp.DefaultInstance.SetEditorP12FileName("YOUR-FIREBASE-APP-P12.p12");
    FirebaseApp.DefaultInstance.SetEditorServiceAccountEmail("SERVICE-ACCOUNT-ID@YOUR-FIREBASE-APP.iam.gserviceaccount.com");
    FirebaseApp.DefaultInstance.SetEditorP12Password("notasecret");
  }
}

Próximas etapas

Problemas conhecidos

  • Ao usar a biblioteca experimental .NET 4.6, o Realtime Database não é compatível no macOS com o Unity 2017.2 devido a uma regressão inserida na versão 2017.2.0, que corrompeu o SslStream nessa configuração. A regressão foi corrigida na versão 2017.3.0, que é compatível com o Realtime Database.