Migrer vers la version 4 du SDK Admin Go

À partir de la version 4.0.0, Firebase Admin SDK pour Go a activé les modules Go. De plus, des modifications non compatibles ont été apportées à la gestion des erreurs et à la sémantique.

Modifications apportées à l'installation

Conformément aux bonnes pratiques concernant les modules, la version majeure du SDK a été ajoutée au nom du package. Cette modification entraîne les mises à jour de nom de package suivantes:

  • 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

Développeurs qui utilisent déjà des modules

Utilisez le nom du package avec version pour installer la dernière version du 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

Le même nom de package avec version doit être utilisé dans le code source lors de l'importation du SDK.

package helloworld

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

Pour installer une version antérieure, utilisez l'ancien nom de package (sans version) avec un qualificatif de version explicite.

# 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

Développeurs qui n'utilisent pas les modules pour le moment

Les développeurs qui n'ont pas encore activé les modules peuvent continuer à installer le SDK à l'aide du nom de package sans version.

go get firebase.google.com/go

Notez toutefois que cette opération récupère la dernière version du SDK (version 4 ou ultérieure), qui contient d'autres modifications non compatibles avec l'API.

Modifications générales de la gestion des erreurs

Le SDK v4 introduit un nouveau package errorutils qui fournit des fonctions permettant de gérer les conditions d'erreur au niveau de la plate-forme. Si une erreur a été causée par une erreur de service backend, vous pouvez accéder à la réponse d'erreur d'origine en appelant la nouvelle fonction errorutils.HTTPResponse(). Vous pouvez utiliser les fonctions de ce package avec les erreurs renvoyées par n'importe quelle API du SDK.

Authentication modifications apportées à l'API

  • Ajout de nouvelles fonctions de gestion des erreurs à utiliser avec les API VerifyIDToken() et VerifySessionCookie() :
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • Obsolète :
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

Modifications apportées à l'API FCM

  • Le type messaging.WebpushFCMOptions a été renommé messaging.WebpushFcmOptions.
  • Ajouté :
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • Obsolète :
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

Modifications apportées à l'API IID

Toutes les fonctions de gestion des erreurs actuellement disponibles dans le package iid sont désormais obsolètes. Utilisez plutôt les fonctions de gestion des erreurs correspondantes fournies dans le package errorutils.