Migrar para Go Admin SDK v4

A partir da versão 4.0.0, o SDK Admin do Firebase para Go optou pelos módulos Go . Além disso, há mudanças importantes no tratamento de erros e na semântica.

Mudanças de instalação

Em conformidade com as práticas recomendadas dos módulos , a versão principal do SDK foi anexada ao nome do pacote. Essa alteração resulta nas seguintes atualizações de nome de pacote:

  • firebase.google.com/go → firebase.google.com/go/v4
  • firebase.google.com/go/auth → firebase.google.com/go/v4/auth
  • firebase.google.com/go/db → firebase.google.com/go/v4/db
  • firebase.google.com/go/iid → firebase.google.com/go/v4/iid
  • firebase.google.com/go/messaging → firebase.google.com/go/v4/messaging

Desenvolvedores já usam módulos

Use o nome do pacote com versão para instalar a versão mais recente do SDK.

# Install the latest version:
go install firebase.google.com/go/v4@latest

# Or install a specific version:
go install firebase.google.com/go/v4@4.13.0

O mesmo nome de pacote com versão deve ser usado no código-fonte ao importar o SDK.

package helloworld

import (
        "firebase.google.com/go/v4"
        "firebase.google.com/go/v4/auth"
        "firebase.google.com/go/v4/messaging"
)

Para instalar uma versão anterior, use o nome do pacote antigo (sem versão) com um qualificador de versão explícito.

# Notice the @v3 suffix.
# This instructs Go tools to fetch the latest v3.x release of the SDK.
go get firebase.google.com/go@v3

Desenvolvedores que não usam módulos atualmente

Os desenvolvedores que ainda não optaram pelos módulos podem continuar a instalar o SDK usando o nome do pacote sem versão.

go get firebase.google.com/go

Observe, no entanto, que isso busca a versão mais recente do SDK (v4 ou posterior) que contém outras alterações importantes da API.

Mudanças gerais no tratamento de erros

O SDK v4 apresenta um novo pacote errorutils que fornece funções para lidar com condições de erro no nível da plataforma. Caso um erro tenha sido causado por um erro de serviço de back-end, você pode acessar a resposta de erro original chamando a nova função errorutils.HTTPResponse() . Você pode usar as funções deste pacote com erros retornados por qualquer API no SDK.

Mudanças na API de autenticação

  • Adicionadas novas funções de tratamento de erros para serem usadas em conjunto com as APIs VerifyIDToken() e VerifySessionCookie() :
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • Descontinuada:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

Mudanças na API FCM

  • O tipo messaging.WebpushFCMOptions foi renomeado para messaging.WebpushFcmOptions .
  • Adicionado:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • Descontinuada:
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

Mudanças na API IID

Todas as funções de tratamento de erros atualmente disponíveis no pacote iid estão obsoletas. Use as funções de tratamento de erros correspondentes fornecidas no pacote errorutils .