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

Notas da versão do Firebase Admin Python 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 4.3.0 - 14 de maio de 2020

Autenticação

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

Versão 4.2.0 - 30 de abril de 2020

Autenticação

  • Adicionado um novo módulo tenant_mgt que fornece APIs para criar, atualizar, recuperar e excluir inquilinos de autenticação.
  • Adicionada uma nova função tenant_mgt.auth_for_tenant() que retorna um objeto de cliente com escopo definido para um inquilino específico para executar operações de gerenciamento de usuário com reconhecimento de inquilino.
  • Adicionado o tipo auth.OIDCProviderConfig e funções relacionadas para criar, recuperar, atualizar e excluir configurações do provedor de autenticação OIDC.
  • Adicionado o tipo auth.SAMLProviderConfig e funções relacionadas para criar, recuperar, atualizar e excluir configurações do provedor de autenticação SAML.

Versão 4.1.0 - 21 de abril de 2020

Firebase ML

  • Adicionado um novo módulo ml para criar, atualizar, obter, listar, publicar, cancelar a publicação e excluir modelos ML personalizados hospedados no Firebase. Consulte a documentação do Firebase para saber mais sobre como usar o Admin SDK para gerenciar modelos de ML.

Versão 4.0.1 - 26 de março de 2020

Mensagens na nuvem

  • Retornando mais mensagens de erro descritivas das APIs de gerenciamento de tópicos.

Banco de Dados em Tempo Real

  • Corrigida uma regressão na API listen() que impedia seu uso na versão v4.0.0.

Versão 4.0.0 - 24 de fevereiro de 2020

  • Python 2 e 3.4 não são mais suportados. Os desenvolvedores devem usar o Python 3.5 ou superior ao usar o Python Admin SDK.
  • cachecontrol dependência do cachecontrol para a mais recente disponível.
  • O Admin SDK agora define um tempo limite padrão de 120 segundos em todas as solicitações HTTP de saída.

Mensagens na nuvem

  • A classe AndroidNotification agora formata corretamente o campo event_time enviado ao serviço Firebase Cloud Messaging.
  • Corrigida uma mensagem de erro incorreta registrada pelo módulo de messaging ao chamar as APIs de envio em lote.

Versão 3.2.1 - 11 de dezembro de 2019

Mensagens na nuvem

  • Os parâmetros booleanos no AndroidNotification agora estão codificados corretamente.

Versão 3.2.0 - 13 de novembro de 2019

Mensagens na nuvem

  • Adicionada uma série de novos parâmetros à classe AndroidNotification que permitem uma personalização adicional das notificações direcionadas aos dispositivos Android.
  • As APIs de mensagens em lote send_all() e send_multicast() agora suportam o envio de até 500 mensagens em uma única chamada.

Versão 3.1.0 - 23 de outubro de 2019

Autenticação

  • Adicionado o tipo auth.InsufficientPermissionError para representar operações que falham devido à falta de uma permissão necessária na credencial.
  • As APIs de gerenciamento de usuários agora auth.EmailAlreadyExistsError corretamente auth.EmailAlreadyExistsError quando um endereço de email já em uso é especificado para um usuário.

Mensagens na nuvem

  • Message classe Message agora implementa o __str__() que pode ser usado para obter uma representação em seqüência de caracteres de uma instância de Message .

Versão 3.0.0 - 11 de setembro de 2019

  • O suporte ao Python 2.7 agora está obsoleto. Os desenvolvedores são aconselhados a usar o Python 3.4 ou superior para executar o Admin SDK.
  • auth.AuthError tipos de exceção antigos no nível do módulo auth.AuthError , db.ApiCallError , messaging.ApiCallError , instance_id.ApiCallError e project_management.ApiCallError .
  • Adicionado um novo módulo de exceptions que define os tipos de exceção básicos para todo o SDK. As APIs públicas agora geram exceções definidas no novo módulo de exceptions (ou subtipos delas). Isso facilita a implementação da lógica de manipulação de erros refinada para uma ampla variedade de cenários que não eram suportados anteriormente. Consulte o guia de migração para obter instruções sobre como portar seu código de tratamento de erros existente.
  • Versão google-cloud-firestore dependência do google-cloud-firestore atualizada para 1.14.0.
  • Versão google-cloud-storage dependência do google-cloud-storage atualizada para 1.18.0.

Gerenciamento de Projetos

  • IosApp , IosAppMetadata e ShaCertificate no módulo project_management foram renomeados para IOSApp , IOSAppMetadata e SHACertificate respectivamente.

Autenticação

  • Não é mais possível excluir propriedades do usuário com a API update_user() configurando as propriedades como None . Definir propriedades como None deixa essas propriedades inalteradas. Eles devem ser explicitamente definidos como auth.DELETE_ATTRIBUTE para excluí-los.

Mensagens na nuvem

  • Adicionado suporte para o envio de um URL de imagem nas notificações. Obrigado cchamm pela contribuição .

  • O tipo WebpushFcmOptions descontinuado foi removido. Os desenvolvedores devem usar o nome do tipo compatível com PEP8 WebpushFCMOptions .

Versão 2.18.0 - 21 de agosto de 2019

Mensagens na nuvem

  • O tipo WebpushFcmOptions agora está obsoleto. Os desenvolvedores devem usar o nome do tipo compatível com PEP8 WebpushFCMOptions .

  • Adicionado suporte para especificar o rótulo do Analytics para notificações. Obrigado willawang8908 pela contribuição .

  • Adicionado suporte para pares de valores-chave arbitrários em messaging.ApsAlert . Obrigado viktorasl pela contribuição .

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 2.17.0 - 23 de maio de 2019

Firebase Cloud Messaging

Autenticação

  • Uma nova constante auth.DELETE_ATTRIBUTE que pode ser usada com a API update_user() para remover determinados atributos das contas de usuário. Esta é agora a maneira preferida para excluir atributos como display_name , photo_url e custom_claims .

Versão 2.16.0 - 21 de fevereiro de 2019

  • O SDK do administrador agora tenta novamente solicitações HTTP automaticamente em todos os erros 500 e 503, independentemente do método HTTP.
  • O Admin SDK não empacota mais o módulo de integration no artefato de liberação.

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. Consulte a documentação para obter mais detalhes e exemplos de código. Obrigado hardikns pela contribuição .
  • A API de gerenciamento de usuários agora usa a nova API REST do Google Identity Toolkit. Obrigado hardikns pela contribuição .

Versão 2.15.1 - 23 de janeiro de 2019

  • Tentativas HTTP implementadas. Agora, o SDK tenta automaticamente chamadas HTTP em erros de conexão de baixo nível e leitura de soquete, bem como erros HTTP 500 e 503.

Versão 2.15.0 - 16 de janeiro de 2019

  • Queda do suporte ao Python 3.3. Os desenvolvedores do Python 3 devem usar 3.4 ou superior. O suporte ao Python 2.7 não mudou.
  • Declarou uma dependência direta no google-api-core[grpc] para resolver alguns problemas de instalação do Firestore de longa data.

Mensagens na nuvem

Versão 2.14.0 - 04 de dezembro de 2018

  • Uma nova API project_management para gerenciar aplicativos em um projeto Firebase.
  • Novos list_android_apps() e list_ios_apps() para listar os aplicativos existentes em um projeto.
  • Novos métodos create_android_app() e create_ios_app() para criar novos aplicativos em um projeto.
  • Novas APIs AndroidApp e IosApp para atualização de aplicativos individuais.

Banco de Dados em Tempo Real

  • Corrigido um problema de desempenho na API db.listen() onde db.listen() muito tempo para processar grandes nós RTDB.
  • Corrigido como o SDK lida com caracteres especiais nos nomes dos nós.

Mensagens na nuvem

  • messaging.AndroidNotification type agora suporta a especificação de um channel_id ao enviar mensagens para dispositivos Android O. 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.

Autenticação

  • Corrigida a propriedade UserRecord.tokens_valid_after_time para que sempre retorne um número inteiro e nunca retorne None .

Versão 2.13.0 - 21 de agosto de 2018

Banco de Dados em Tempo Real

  • O tipo db.Reference agora fornece uma API listen() para receber eventos de atualização em tempo real do Firebase Database. Obrigado the-c0d3r e rizasif pelas contribuições .
  • O método db.reference() agora usa opcionalmente um parâmetro de URL. Isso pode ser usado para acessar várias instâncias do Firebase Realtime Database no mesmo projeto com mais facilidade.

Mensagens na nuvem

Versão 2.12.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 aceita uma opção de aplicativo serviceAccountId , que pode ser usada 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 2.11.0 - 31 de maio de 2018

Autenticação

Banco de Dados em Tempo Real

  • O método Reference.update() agora pode ser chamado com dicionários que contêm valores None . Chaves filho com valores None são excluídas do banco de dados.

Versão 2.10.0 - 12 de abril de 2018

Autenticação

  • Um novo método create_session_cookie() para criar um cookie de sessão a partir de um token de ID do Firebase.
  • Um novo método verify_session_cookie() para validar uma determinada sequência de cookies de sessão.
  • O módulo de auth agora armazena em cache os certificados de chave pública usados ​​para verificar tokens de ID e cookies de sessão, evitando assim uma chamada de rede sempre que uma credencial precisar ser verificada.

Mensagens na nuvem

  • Adicionado o campo opcional mutable_content ao tipo messaging.Aps . Isso pode ser usado para definir a propriedade de mutable-content ao enviar mensagens FCM para destinos de APNs.
  • Adicionado suporte para a especificação de campos de valor-chave arbitrários no tipo messaging.Aps .

Versão 2.9.1 - 15 de março de 2018

Mensagens na nuvem

  • Manipulação de erro aprimorada na API messaging.send() . As exceções geradas por esta API agora contêm os códigos de erro corretos, conforme definido na documentação .
  • O módulo de messaging agora suporta a especificação de um tempo limite HTTP para todas as solicitações de saída. Passe a opção httpTimeout para firebase_admin.initialize_app() antes de chamar qualquer função no sistema de messaging . Obrigado carsongee pela contribuição .

Versão 2.9.0 - 14 de fevereiro de 2018

Mensagens na nuvem

  • Um novo módulo firebase_admin.messaging para enviar mensagens do FCM e gerenciar assinaturas de tópicos.
  • Uma nova função send() para enviar mensagens FCM.
  • Uma nova função subscribe_to_topic() para assinar uma lista de tokens de registro de dispositivo em um tópico do FCM.
  • Uma nova função unsubscribe_from_topic() para cancelar a inscrição de uma lista de tokens de registro de dispositivo de um tópico do FCM.

Autenticação

  • A função verify_id_token() agora aceita um parâmetro opcional check_revoked . Quando True , uma verificação adicional é executada para verificar se o token foi revogado.
  • Uma nova função revoke_refresh_tokens() para invalidar todos os tokens emitidos para um usuário.
  • Uma nova propriedade tokens_valid_after_timestamp foi adicionada à classe UserRecord para indicar o tempo antes do qual os tokens não são válidos.

Versão 2.8.0 - 11 de janeiro de 2018

Inicialização

  • O método initialize_app() agora pode ser chamado sem nenhum argumento. Isso inicializa um aplicativo usando credenciais padrão do aplicativo Google e outras opções carregadas da variável de ambiente FIREBASE_CONFIG .

Banco de Dados em Tempo Real

  • O método db.Reference.get() agora aceita um argumento shallow opcional. Se definido como True o SDK executará uma leitura superficial, que não recupera os valores do nó filho da referência atual.

Versão 2.7.0 - 21 de dezembro de 2017

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

Versão 2.6.0 - 08 de dezembro de 2017

Autenticação

  • Adicionada a função list_users() ao módulo firebase_admin.auth . Esta função permite listar ou iterar sobre todas as contas de usuário em um projeto Firebase.
  • Adicionada a função set_custom_user_claims() ao módulo firebase_admin.auth . Esta função 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

  • Atualizados os start_at() , end_at() e equal_to() da classe db.Query para que eles possam aceitar argumentos de cadeia de caracteres vazios.

Versão 2.5.0 - 07 de novembro de 2017

Versão 2.4.0 - 21 de setembro de 2017

Banco de Dados em Tempo Real

  • A classe db.Reference agora possui um método get_if_changed() , que recupera um valor do banco de dados somente se o valor tiver sido alterado desde a última leitura.
  • O dicionário de opções passado para a função initialize_app() agora pode conter uma opção httpTimeout , que define o tempo limite (em segundos) para as conexões HTTP de saída iniciadas pelo SDK.

Versão 2.3.0 - 30 de agosto de 2017

Banco de Dados em Tempo Real

  • Agora você pode obter o valor ETag de uma referência de banco de dados passando etag=True ao método get() de um objeto db.Reference .
  • A classe db.Reference agora possui um método set_if_unchanged() , que você pode usar para gravar em um local do banco de dados somente quando o local tiver o valor ETag especificado.
  • Corrigido um problema com o método transaction() que impedia a atualização de valores escalares em uma transação.

Versão 2.2.0 - 14 de agosto 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 Python. Esta API adiciona os get_user() , get_user_by_email() , get_user_by_phone_number() , create_user() , update_user() e delete_dser() ao módulo firebase_admin.auth .

Banco de Dados em Tempo Real

  • A classe db.Reference agora expõe um método transaction() , que pode ser usado para executar atualizações atômicas nas referências do banco de dados.

Versão 2.1.1 - 25 de julho de 2017

  • Os construtores dos tipos de credencial Certificate e RefreshToken agora podem ser chamados com um caminho de arquivo ou um objeto JSON analisado. Isso facilita o consumo de credenciais de conta de serviço e atualiza credenciais de token de outras fontes que não o sistema de arquivos local.
  • Melhor integração com a biblioteca google-auth para fazer solicitações HTTP autenticadas do SDK.

Versão 2.1.0 - 28 de junho de 2017

Versão 2.0.0 - 17 de maio de 2017

  • Este SDK foi migrado do oauth2client para a nova biblioteca de google-auth .

Autenticação

  • Este SDK agora suporta a verificação de tokens de ID quando inicializado com credenciais padrão do aplicativo.

Versão 1.0.0 - 04 de abril de 2017

Inicialização

  • Implementou o módulo firebase_admin , que fornece a função initialize_app() para inicializar o SDK com uma credencial.
  • Implementou o módulo firebase_admin.credentials , que contém construtores para os tipos de credencial Certificate , ApplicationDefault e RefreshToken .

Autenticação

  • Implementou o firebase_admin.auth módulo, que proporciona create_custom_token() e verify_id_token() funções para a cunhagem de tokens de autenticação personalizada e verificar Firebase ID fichas.