Esta página foi traduzida pela API Cloud Translation.
Switch to English

Notas da versão do Firebase Admin Java SDK

Para revisar as notas de versão do console do Firebase e de outras plataformas do Firebase e SDKs relacionados, consulte as Notas da versão do Firebase .

Versão 6.15.0 - 23 de julho de 2020

  • O SDK do administrador agora importa todas as dependências do Google Cloud Platform via com.google.cloud:libraries-bom .

Autenticação

Versão 6.14.0 - 17 de junho de 2020

  • Versão de dependência do Cloud Firestore atualizada para 1.34.0.
  • Versão de dependência do Cloud Storage atualizada para 1.108.0.
  • Atualizadas outras dependências do SDK. As bibliotecas Netty, Google API Client, Google HTTP Client, Google API Common e JSON das quais o SDK depende foram atualizadas para versões mais recentes.

Mensagens na nuvem

  • Adicionado FcmOptions no MulticastMessage . Obrigado pavlospt pela contribuição .
  • Adicionado suporte para o parâmetro direct_boot_ok .

Versão 6.13.0 - 14 de maio de 2020

Autenticação

  • Adicionadas getUsers() e deleteUsers() para recuperar e excluir contas de usuário em massa.

Versão 6.12.2 - 11 de fevereiro de 2020

  • Agora, as APIs de gerenciamento de projetos da classe FirebaseProjectManagement automaticamente as operações que falham devido a erros HTTP elegíveis para repetição.

Autenticação

  • As APIs de gerenciamento de usuários na classe FirebaseAuth agora tentam novamente automaticamente as operações que falham devido a erros de HTTP qualificados para repetição de tentativa.

Versão 6.12.1 - 23 de janeiro de 2020

Mensagens na nuvem

  • AndroidNotification classe AndroidNotification agora formata corretamente o campo event_time enviado ao serviço Cloud Messaging.

Versão 6.12.0 - 18 de dezembro de 2019

  • Corrigido um erro na análise de string de data durante o tratamento de erros. Obrigado sakebook pela contribuição .

Cloud Firestore

  • Versão google-cloud-firestore dependência atualizada do google-cloud-firestore para 1.31.0, que fornece suporte para consultas IN . Obrigado achuinard pela contribuição .

Mensagens na nuvem

  • Adicionado o parâmetro notificationCount na classe AndroidNotification . Obrigado knocknarea pela contribuição .
  • O SDK agora lida corretamente com o código de erro THIRD_PARTY_AUTH_ERROR retornado pelo serviço de back-end ao enviar notificações para iOS e destinos da web.

Versão 6.11.0 - 30 de outubro de 2019

  • Versão de dependência do Cloud Firestore atualizada para 1.21.0.
  • Versão de dependência do Cloud Storage atualizada para 1.91.0.

Mensagens na nuvem

  • Adicionado um Builder para a construção de objetos de Notification .
  • Adicionada uma série de novos parâmetros à classe AndroidNotification que permitem uma personalização adicional das notificações direcionadas aos dispositivos Android.
  • Número de mensagens por lote aumentado para 500.

Versão 6.10.0 - 04 de setembro de 2019

Mensagens na nuvem

  • Adicionada uma nova API WebpushFcmOptions para configurar os recursos fornecidos pelo FCM SDK for Web. Obrigado kirmerzlikin pela contribuição .
  • Adicionadas novas APIs para especificar um URL de imagem nas notificações.

Banco de Dados em Tempo Real

  • Agora, os desenvolvedores podem testar as chamadas da API do banco de dados em tempo real direcionando o tráfego do SDK para o emulador RTDB. Defina a variável de ambiente FIREBASE_DATABASE_EMULATOR_HOST para especificar o terminal emulador no formato host:port .

Versão 6.9.0 - 18 de julho de 2019

  • Versão do cliente do Cloud Firestore atualizada para 1.9.0.
  • Versão do cliente do Cloud Storage atualizada para 1.79.0.
  • Atualização da versão do cliente da API do Google para 1.30.1.
  • Versão de dependência atualizada do Guava para 26.0-android.

Firebase Cloud Messaging

  • Adicionadas as FcmOptions , AndroidFcmOptions e ApnsFcmOptions para especificar rótulos de análise para notificações do FCM.
  • MulticastMessage.Builder API MulticastMessage.Builder agora suporta a especificação de tokens de registro de dispositivo como uma Collection vez de uma List .

Versão 6.8.1 - 24 de abril de 2019

Firebase Cloud Messaging

  • O SDK agora tenta novamente automaticamente as chamadas da API do FCM devido a erros de HTTP 500 e 503.

Banco de Dados em Tempo Real

  • O SDK agora lança exceções com mensagens de erro claras ao serializar POJOs com objetos numéricos não padrão.

Versão 6.8.0 - 14 de março de 2019

Firebase Cloud Messaging

  • Uma nova API sendMulticast() para enviar uma mensagem a uma lista de tokens de registro de dispositivo.
  • Uma nova API sendAll() para enviar uma lista de mensagens como um único lote.

Versão 6.7.0 - 9 de janeiro de 2019

  • Instâncias do Firestore inicializadas pelo SDK agora são limpas quando FirebaseApp.delete() é chamado.

Autenticação

  • Adicionadas as APIs de geração de link de ação de email para criar links para redefinição de senha, verificação de email e login de link de email por generatePasswordResetLink() , generateEmailVerificationLink() e generateSignInWithEmailLink() . Consulte a documentação para obter mais detalhes e exemplos de código.

Mensagens na nuvem

  • Aps classe Aps agora suporta a configuração de um som crítico. Uma nova classe CriticalSound foi introduzida para esse fim.
  • Adicionado novo método setChannelId() à API AndroidNotification.Builder para definir o ID do canal de notificação do Android (novo no Android O).

Versão 6.6.0 - 28 de novembro de 2018

  • Uma nova API FirebaseProjectManagement para gerenciar aplicativos em um projeto Firebase.
  • Novos listAndroidApps() e listIosApps() para listar os aplicativos existentes em um projeto.
  • Novos métodos createAndroidApp() e createIosApp() para criar novos aplicativos em um projeto.
  • Novas APIs AndroidApp e IosApp para atualização de aplicativos individuais.

Autenticação

  • As APIs de gerenciamento de usuários no FirebaseAuth foram migradas para o novo terminal REST do Identity Toolkit. Agora é necessário um ID do projeto para usar o FirebaseAuth . Os desenvolvedores que usam credenciais de conta de serviço ou implantam em tempos de execução gerenciados do Google, como o App Engine, não notarão diferença.

Mensagens na nuvem

  • ApsAlert classe ApsAlert agora suporta a especificação de uma legenda. Obrigado chemidy pela contribuição .
  • Manipulação de erro aprimorada solicitando uma resposta de erro mais detalhada do serviço de back-end do FCM.

Versão 6.5.0 - 14 de setembro de 2018

  • FirebaseOptions.Builder expõe um novo método setFirestoreOptions() que pode ser usado para configurar as instâncias do Firestore inicializadas pelo SDK.
  • Atualização da versão do cliente do Cloud Firestore para 0.61.0-beta.
  • Versão do cliente do Cloud Storage atualizada para 1.43.0.

Versão 6.4.0 - 28 de agosto de 2018

Mensagens na nuvem

  • O tipo WebpushNotification agora fornece uma API do Builder e suporta pares arbitrários de valor-chave em sua carga útil.

Versão 6.3.0 - 17 de julho de 2018

  • O SDK do administrador agora pode ler o ID do projeto Firebase / Google Cloud Platform GCLOUD_PROJECT variáveis ​​de ambiente GCLOUD_PROJECT e GOOGLE_CLOUD_PROJECT .

Autenticação

  • O Admin SDK agora pode criar tokens personalizados sem ser inicializado com credenciais da conta de serviço.
  • O SDK agora fornece um especificador de opção setServiceAccountId() , que pode ser usado para definir apenas o email do cliente de uma conta de serviço.
  • Quando implantado em um ambiente gerenciado pelo Google (por exemplo, Google App Engine), o SDK pode descobrir automaticamente um ID de conta de serviço sem nenhuma configuração explícita.

Versão 6.2.0 - 31 de maio de 2018

Autenticação

Versão 6.1.0 - 15 de maio de 2018

Autenticação

  • Preterido o método setCustomClaims() nomeado incorretamente. Os desenvolvedores devem usar o método setCustomUserClaims() .

Versão 6.0.0 - 8 de maio de 2018

  • FirebaseAuth interfaces FirebaseAuth , FirebaseMessaging e FirebaseInstanceId agora expõem um conjunto de métodos de bloqueio. Cada operação possui versões de bloqueio e assíncronas.
  • Removida a interface FirebaseCredential descontinuada.
  • Removida a interface da Task obsoleta, junto com o pacote com.google.firebase.tasks .
  • Suporte descontinuado para o tempo de execução Java 7 do App Engine. Os desenvolvedores são aconselhados a usar o Admin SDK com Java 8 ao implantar no App Engine.
  • Removida a API FirebaseDatabase.setLogLevel() descontinuada e utilitários de log relacionados. Os desenvolvedores devem usar o SLF4J para configurar o log diretamente.

    Para obter mais detalhes sobre essas alterações, consulte o Guia de Migração do Admin SDK .

Versão 5.11.0 - 25 de abril de 2018

  • Atualizou a versão de dependência do Google Cloud Firestore para 0.45.0-beta.
  • Atualizou a versão da dependência do Google Cloud Storage para 1.27.0.
  • Atualizou a versão da dependência do Netty para 4.1.22.

Autenticação

Versão 5.10.0 - 17 de abril de 2018

Inicialização

  • Adicionados os setConnectTimeout() e setReadTimeout() à classe FirebaseOptions.Builder . Esses métodos permitem configurar tempos limite para solicitações HTTP de saída feitas pelo SDK. Essas configurações afetam todas as solicitações, exceto as solicitações feitas ao Firebase Realtime Database e ao Cloud Firestore.

Mensagens na nuvem

  • Adicionado o método setMutableContent() à classe Aps.Builder . Isso pode ser usado para definir a propriedade de mutable-content ao enviar mensagens FCM para destinos de APNs.
  • Adicionado suporte para especificar campos de valor-chave arbitrários na classe Aps.Builder .
  • Manipulação de erro aprimorada na API FirebaseMessaging .

Autenticação

  • A API FirebaseAuth agora usa o HttpTransport configurado via FirebaseOptions para buscar certificados de chave pública ao verificar tokens de identificação. Obrigado xbauquet pela contribuição .

Versão 5.9.0 - 14 de fevereiro de 2018

Mensagens na nuvem

  • Uma nova API FirebaseMessaging para enviar mensagens do FCM e gerenciar assinaturas de tópicos.
  • Um novo método sendAsync() para enviar mensagens FCM.
  • Um novo método subscribeToTopicAsync() para assinar uma lista de tokens de registro de dispositivo em um tópico do FCM.
  • Um novo método unsubscribeFromTopicAsync() para cancelar a inscrição de uma lista de tokens de registro de dispositivo de um tópico do FCM.

Autenticação

  • O método verifyIdTokenAsync() agora tem uma sobrecarga que aceita um parâmetro booleano checkRevoked . Quando true , uma verificação adicional é realizada para verificar se o token foi revogado.
  • Um novo revokeRefreshTokensAsync() para invalidar todos os tokens emitidos para um usuário.
  • A classe UserRecord apresenta um novo método getTokensValidAfterTimestamp() para retornar o tempo antes do qual os tokens não são válidos.

Banco de Dados em Tempo Real

  • Exceções lançadas pelos manipuladores de eventos do banco de dados agora são registradas.

Cloud Firestore

  • Atualizou o cliente Cloud Firestore para a versão mais recente disponível.

Inicialização

  • O método FirebaseOptions.Builder.setStorageBucket() agora lança uma exceção clara quando invocado com uma URL de bucket em vez do nome.
  • Implementou uma correção para um potencial conflito de versão do Guava que estava causando uma IllegalStateException (falha de pré-condição) em alguns ambientes.

Versão 5.8.0 - 11 de janeiro de 2018

Inicialização

  • O método FirebaseApp.initializeApp() agora fornece uma sobrecarga que não requer argumentos. Isso inicializa um aplicativo usando credenciais padrão do aplicativo Google e outras FirebaseOptions carregadas da variável de ambiente FIREBASE_CONFIG .

Autenticação

  • Manipulação de erro aprimorada nas APIs de gerenciamento de usuários na classe FirebaseAuth . Essas operações agora lançam exceções com códigos de erro bem definidos.

Banco de Dados em Tempo Real

  • O SDK agora serializa grandes valores duplos inteiros, desde que apropriados.

Versão 5.7.0 - 21 de dezembro de 2017

  • Uma nova API FirebaseInstanceId que facilita a exclusão de IDs de instância e dados de usuário associados de projetos do Firebase.

Autenticação

  • Não use mais a dependência do org.json nas APIs de autenticação, o que facilita o uso da API em ambientes com bibliotecas JSON conflitantes.

Versão 5.6.0 - 08 de dezembro de 2017

  • Atualizei a versão da dependência comum da API do Google para a mais recente (1.2.0).

Autenticação

  • Adicionado o método listUsersAsync() à classe FirebaseAuth . Este método permite listar ou iterar sobre todas as contas de usuário em um projeto Firebase.
  • Adicionado o método setCustomUserClaimsAsync() à classe FirebaseAuth . Este método permite definir reivindicações personalizadas em um usuário do Firebase. As declarações personalizadas podem ser acessadas por meio do token de ID do usuário.

Banco de Dados em Tempo Real

  • Reimplementei a camada de comunicação WebSocket do cliente de banco de dados em tempo real usando o Netty.

Versão 5.5.0 - 07 de novembro de 2017

Banco de Dados em Tempo Real

  • Garante o término normal dos threads de trabalho do banco de dados ao chamar FirebaseApp.delete() .

Versão 5.4.0 - 11 de outubro de 2017

  • Uma nova API ThreadManager que pode ser usada para especificar o pool de threads e o ThreadFactory que deve ser usado pelo SDK.
  • Todas as APIs que suportam operações assíncronas agora retornam um ApiFuture . A antiga API de Task foi preterida. Para cada método x() que retorna uma Task , foi introduzido um novo método xAsync() que retorna um ApiFuture .
  • O SDK agora garante o término normal de todos os threads iniciados. Na maioria dos ambientes, o SDK usará daemons para todas as atividades em segundo plano. O desenvolvedor também pode iniciar um encerramento normal de threads chamando FirebaseApp.delete() .

Inicialização

Versão 5.3.1 - 13 de setembro de 2017

Autenticação

  • Lançar um erro preciso e mais detalhado de verifyIdToken() no caso de uma exceção de baixo nível.

Banco de Dados em Tempo Real

Versão 5.3.0 - 14 de agosto de 2017

Autenticação

  • Adicionado o método getUserByPhoneNumber() à interface FirebaseAuth . Este método permite recuperar informações de perfil de usuário por um número de telefone.
  • CreateRequest tipos CreateRequest e UpdateRequest agora fornecem configuradores para especificar um número de telefone, que pode ser usado para criar usuários com um campo de número de telefone e / ou atualizar o número de telefone associado a um usuário.
  • Adicionado o método getPhoneNumber() ao UserRecord , que expõe o número de telefone associado a uma conta de usuário.
  • Adicionado o método getPhoneNumber() ao UserInfo , que expõe o número de telefone associado a uma conta de usuário por um provedor de identidade vinculado.

Banco de Dados em Tempo Real

  • Preterido o método FirebaseDatabase.setLogLevel() . Use SLF4J para configurar o log.
  • Registrando um erro detalhado quando o cliente do banco de dados falha na autenticação com os servidores back-end do Firebase.

Versão 5.2.0 - 14 de junho de 2017

  • Novos métodos de fábrica na FirebaseCredentials classe que aceitam HttpTransport e JsonFactory argumentos. Essas configurações são usadas quando as credenciais fazem chamadas HTTP para obter tokens de acesso OAuth2.
  • Novos setHttpTransport() e setJsonFactory() na classe FirebaseOptions . Essas configurações são usadas por todos os serviços do SDK, exceto o FirebaseDatabase .

Versão 5.1.0 - 07 de junho de 2017

Autenticação

  • Uma nova API de gerenciamento de usuários que permite provisionar e gerenciar usuários do Firebase a partir de aplicativos Java. Essa API adiciona os getUserByEmail() getUser() , getUserByEmail() , createUser() , updateUser() e deleteUser() à interface FirebaseAuth .

Versão 5.0.1 - 01 de junho de 2017

Banco de Dados em Tempo Real

  • Corrigido um vazamento de encadeamento da API do banco de dados que tornava o SDK instável ao executar no ambiente do Google App Engine.

Versão 5.0.0 - 17 de maio de 2017

Inicialização

  • Os métodos de fábrica na classe FirebaseCredentials agora podem IOExceptions , fornecendo semântica rápida e facilitando o tratamento de erros mais simples.
  • O método setServiceAccount() descontinuado foi removido da classe FirebaseOptions.Builder em favor do método setCredential() .
  • Tentar inicializar o SDK sem definir uma credencial agora resulta em uma exceção.
  • A interface FirebaseCredential agora retorna um novo tipo GoogleOAuthAccessToken , que encapsula a sequência de tokens e seu tempo de expiração.

Versão 4.1.7 - 20 de abril de 2017

  • Introduzindo um novo método FirebaseApp.delete() , que pode ser usado para encerrar normalmente instâncias de aplicativos. Todas as invocações de aplicativos após uma chamada para delete() lançam exceções. Instâncias de aplicativos excluídas também podem ser reinicializadas com o mesmo nome, se necessário.

  • Dependências do SDK atualizadas. As bibliotecas Guava, Google API Client e JSON das quais o SDK depende foram atualizadas para versões mais recentes.

Versão 4.1.6 - 04 de abril de 2017

Banco de Dados em Tempo Real

  • Atualizado o SDK para selecionar a implementação correta do conjunto de encadeamentos ao executar em uma JVM regular com bibliotecas do App Engine no classpath .

Versão 4.1.5 - 28 de março de 2017

Banco de Dados em Tempo Real

  • Corrigida a constante de versão inválida do SDK na classe FirebaseDatabase lançada na v4.1.4.

Versão 4.1.4 - 28 de março de 2017

Autenticação

  • Atualizado o SDK para atualizar periodicamente o token de acesso do OAuth usado internamente pelo FirebaseApp . Isso reduz o número de falhas de autenticação encontradas no tempo de execução por vários componentes do SDK (por exemplo, banco de dados em tempo real) para quase zero. Esse recurso está ativo por padrão ao executar em ambientes Java típicos ou no ambiente do Google App Engine com suporte a threads em segundo plano.

Versão 4.1.3 - 7 de março de 2017

Banco de Dados em Tempo Real

  • Banco de dados em tempo real atualizado para trocar adequadamente o token de ID usado para autenticar o soquete da Web subjacente quando um novo token de ID é gerado. A conexão do websocket ainda é desconectada e reconectada a cada hora quando um token de ID expirar, a menos que você chame manualmente getAccessToken no FirebaseCredential usado para autenticar o SDK. Em uma versão futura, o SDK atualizará proativamente os tokens de ID automaticamente antes que eles expirem.

Versão 4.1.2 - 14 de fevereiro de 2017

Inicialização

  • initalizeApp() atualizado para leitura síncrona de um InputStream para evitar problemas com o fechamento do fluxo após a inicialização do SDK.
  • Mensagens de erro confusas aprimoradas ao inicializar o SDK com um InputStream null ou malformado.

Versão 4.1.1 - 1 de fevereiro de 2017

Autenticação

  • Corrigido um problema de dependência que fazia com que o método verifyIdToken() sempre lançasse uma exceção.

Versão 4.1.0 - 24 de janeiro de 2017

Inicialização

Autenticação

  • O método verifyIdToken() está quebrado nesta versão e lança uma exceção devido a uma dependência incorreta. Isso foi corrigido na versão 4.1.1 .

Versão 4.0.4 - 17 de janeiro de 2017

  • Foi corrigido o problema que fazia com que os threads fossem encerrados no Google App Engine após 24 horas, deixando o SDK sem resposta.
  • Corrigidos problemas que causavam falha na execução de tarefas assíncronas nas instâncias do Google App Engine dimensionadas automaticamente.

Autenticação

  • Mensagens de erro aprimoradas e suporte ao App Engine adicionado para o método verifyIdToken() .

Banco de Dados em Tempo Real

  • Corrigida uma condição de corrida que pode ocorrer quando novas gravações são adicionadas enquanto a conexão está sendo fechada.

Versão 4.0.3 - 6 de dezembro de 2016

Inicialização

  • Corrigido um problema que fazia com que uma entrada null no método setDatabaseAuthVariableOverride() fosse ignorada, o que fazia com que o aplicativo ainda tivesse acesso total de administrador. Agora, passar esse valor tem o comportamento esperado: o aplicativo tem acesso não autenticado ao banco de dados em tempo real e se comporta como se nenhum usuário estivesse conectado ao aplicativo.

Banco de Dados em Tempo Real

  • Agora, o uso do método updateChildren() cancela somente as transações incluídas diretamente nos caminhos atualizados (não as transações nos caminhos adjacentes). Por exemplo, uma atualização em /move para uma walk nó filho cancelará transações em / , /move e /move/walk e em qualquer nó filho em /move/walk . Porém, ele não cancelará mais as transações nos nós irmãos, como /move/run .

Versão 4.0.2 - 15 de novembro de 2016

  • Esta atualização restaura a compatibilidade do Java 7 para o Admin Java SDK.

Versão 4.0.1 - 8 de novembro de 2016

  • Corrigido um problema com uma dependência ausente no JAR 4.0.0 que fazia com que a API do banco de dados não funcionasse.
  • Esta versão foi compilada para Java 8 e não suporta Java 7. Isso foi corrigido na versão 4.0.2 .

Versão 4.0.0 - 7 de novembro de 2016

  • O Admin Java SDK (disponível no Maven como firebase-admin ) substitui o pacote preexistente do firebase-server-sdk Maven, que agora está obsoleto. Consulte Adicionar o SDK de administrador do Firebase ao seu servidor para começar.
  • Esta versão está sem uma dependência que faz com que a API do banco de dados não funcione. Isso foi corrigido na versão 4.0.1 .
  • Esta versão foi compilada para Java 8 e não suporta Java 7. Isso foi corrigido na versão 4.0.2 .

Autenticação

  • O método createCustomToken() agora é assíncrono, retornando uma Task<String> vez de uma String .