Guia de migração do SDK Admin

As seguintes versões do SDK Admin apresentam algumas mudanças inovadoras:

  • SDK para Java 6.0.0
  • SDK para Go 3.0.0

A mudança de maior impacto é a substituição da interface Task em Java pela interface ApiFuture.

Além disso, os seguintes recursos também receberam alterações:

  • especificação de credenciais de autorização no SDK para Java
  • configuração de níveis de registro do Realtime Database
  • criação de tokens personalizados e verificação de tokens de código no Go

SDK Admin para Java (6.0.0)

Use ApiFuture em vez de Task

A interface obsoleta Task foi removida. Se seu app usa essa interface, atualize-o para usar a interface ApiFutures. Exemplo:

Antes

Task<String> customToken = FirebaseAuth.getInstance()
    .createCustomToken("uid");

Depois

String customToken = FirebaseAuth.getInstance()
    .createCustomToken("uid");

// Or

ApiFuture<String> customToken = FirebaseAuth.getInstance()
    .createCustomTokenAsync("uid");

Para uma discussão detalhada sobre essa alteração com exemplos de caso de uso avançado, consulte o artigo Operações assíncronas com o SDK Admin para Java (em inglês).

Migre FirebaseCredentials para GoogleCredentials

FirebaseCredential e FirebaseCredentials não estão mais disponíveis. Para especificar credenciais de autorização para o SDK, use GoogleCredentials. Exemplo:

Antes

FirebaseCredential credential = FirebaseCredentials.fromCertificate(stream);
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredential(credential)
    .build();

FirebaseCredential credential = FirebaseCredentials.applicationDefault();
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredential(credential)
    .build();

Depois

GoogleCredentials credentials = GoogleCredentials.fromStream(stream);
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredentials(credentials)
    .build();

GoogleCredentials credentials = GoogleCredentials.getApplicationDefault();
FirebaseOptions options = new FirebaseOptions.Builder()
    .setCredentials(credentials)
    .build();

Use SLF4J para configurar a geração de registros

A API FirebaseDatabase.setLogLevel() não está mais disponível. Use SLF4J diretamente para configurar a geração de registros para todo o SDK.

Com essa mudança, a geração de registros pode ser configurada sem alterações no código. Para mais informações, leia o artigo Geração de registros em bibliotecas Java para Firebase e Google Cloud (em inglês).

Antes

FirebaseDatabase.getInstance()
 .setLogLevel(Logger.Level.DEBUG);

Depois

  • Adicione slf4j-simple.jar ao caminho de classe do projeto.
  • Defina a propriedade do sistema -Dorg.slf4j.simpleLogger.defaultLogLevel=debug para a JVM.
  • Consulte a documentação do SLF4J para saber detalhes sobre como usar outros frameworks de geração de registros como Log4J e java.util.logging.

SDK Admin para Go 3.0.0

Alterações no auth.Client para Go

Os métodos CustomToken e CustomTokeWithClaims agora usam um argumento de contexto, como a maioria das APIs Go existentes.

Antes

token, err := CustomToken("uid")

token, err := CustomToken("uid", claimsMap)

result, err := VerifyIDToken(idToken)

Depois

token, err := CustomToken(context.Background(), "uid")

token, err := CustomTokenWithClaims(context.Background(), "uid", claimsMap)

result, err := VerifyIDToken(context.Background(), idToken)