A partir da versão 4.0.0, o Firebase Admin SDK para Go ativou os módulos Go. Além disso, há alterações interruptivas no tratamento de erros e na semântica.
Alterações na instalação
De acordo com as práticas recomendadas de módulos, a versão principal do SDK foi anexada ao nome do pacote. Essa alteração resultará 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 que já usam módulos
Use o nome do pacote com controle de 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.15.0
O nome do pacote com controle de versão precisa 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 controle de 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
Os desenvolvedores que ainda não ativaram os módulos podem continuar instalando o SDK usando o nome do pacote sem controle de versão.
go get firebase.google.com/go
No entanto, isso busca a versão mais recente do SDK (v4 ou posterior), que contém outras alterações interruptivas da API.
Alterações gerais no tratamento de erros
O SDK v4 introduz um novo pacote errorutils
que oferece funções para
lidar com condições de erro no nível da plataforma. Caso um erro tenha sido causado por um
erro no serviço de back-end, acesse a resposta de erro original chamando
a nova função errorutils.HTTPResponse()
. Você pode usar as funções
neste pacote com erros retornados por qualquer API no SDK.
Alterações na API Authentication
- Adicionamos novas funções de tratamento de erros para serem usadas com as APIs
VerifyIDToken()
eVerifySessionCookie()
:IsIDTokenInvalid()
IsIDTokenExpired()
IsSessionCookieInvalid()
IsSessionCookieExpired()
IsCertificateFetchFailed()
- Uso descontinuado:
IsProjectNotFound()
IsUnknown()
IsInsufficientPermission()
IsInvalidEmail()
Alterações na API FCM
- Tipo
messaging.WebpushFCMOptions
renomeado paramessaging.WebpushFcmOptions
. - Adicionadas:
IsThirdPartyAuthError()
IsQuotaExceeded()
IsSenderIDMismatch()
IsUnregistered()
IsUnavailable()
- Uso descontinuado:
IsInvalidAPNSCredentials()
IsMessageRateExceeded()
IsMismatchedCredential()
IsRegistrationTokenNotRegistered()
IsServerUnavailable()
IsTooManyTopics()
IsUnknown()
Alterações na API IID
Todas as funções de tratamento de erros disponíveis atualmente no pacote iid
foram
descontinuadas. Use as funções de tratamento de erros correspondentes fornecidas no pacote
errorutils
.