Migrar a Go Admin SDK v4

A partir de la versión 4.0.0, el SDK de Firebase Admin para Go ha optado por los módulos Go . Además, hay cambios importantes en el manejo de errores y la semántica.

Cambios de instalación

De conformidad con las mejores prácticas de los módulos , la versión principal del SDK se agregó al nombre del paquete. Este cambio da como resultado las siguientes actualizaciones de nombres de paquetes:

  • 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

Desarrolladores que ya utilizan módulos

Utilice el nombre del paquete versionado para instalar la última versión del 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

Se debe utilizar el mismo nombre del paquete versionado en el código fuente al importar el SDK.

package helloworld

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

Para instalar una versión anterior, utilice el nombre del paquete antiguo (sin versión) con un calificador de versión 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

Los desarrolladores que actualmente no utilizan módulos

Los desarrolladores que aún no hayan optado por los módulos pueden continuar instalando el SDK utilizando el nombre del paquete sin versión.

go get firebase.google.com/go

Sin embargo, tenga en cuenta que esto recupera la última versión del SDK (v4 o posterior) que contiene otros cambios importantes en la API.

Cambios generales en el manejo de errores

El SDK v4 presenta un nuevo paquete errorutils que proporciona funciones para manejar condiciones de error a nivel de plataforma. En caso de que un error haya sido causado por un error del servicio backend, puede acceder a la respuesta de error original llamando a la nueva función errorutils.HTTPResponse() . Puede utilizar las funciones de este paquete con errores devueltos por cualquier API del SDK.

Cambios en la API de autenticación

  • Se agregaron nuevas funciones de manejo de errores para usar junto con las API VerifyIDToken() y VerifySessionCookie() :
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • Obsoleto:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

Cambios en la API de FCM

  • Se cambió el nombre del tipo de messaging.WebpushFCMOptions a messaging.WebpushFcmOptions .
  • Agregado:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • Obsoleto:
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

Cambios en la API del IID

Todas las funciones de manejo de errores actualmente disponibles en el paquete iid ahora están obsoletas. En su lugar, utilice las funciones de manejo de errores correspondientes proporcionadas en el paquete errorutils .