À partir de la version 4.0.0, le Firebase Admin SDK pour Go a opté pour les modules Go. De plus, des modifications importantes ont été apportées à la gestion des erreurs et à la sémantique.
Modifications apportées à l'installation
Conformément aux bonnes pratiques des modules, la version principale du SDK a été ajoutée au nom du package. Cette modification entraîne les mises à jour suivantes du nom du package :
- 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 utilisant déjà des modules
Utilisez le nom de package versionné 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.20.0
Le même nom de package versionné 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 (non versionné) 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 n'utilisant pas encore de modules
Les développeurs qui n'ont pas encore opté pour les modules peuvent continuer à installer le SDK à l'aide du nom de package non versionné.
go get firebase.google.com/go
Notez toutefois que cela récupère la dernière version du SDK (v4 ou ultérieure), qui contient d'autres modifications importantes de l'API.
Modifications générales apportées à 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 est due à une erreur de service de 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 exceptions à utiliser conjointement avec les API
VerifyIDToken()etVerifySessionCookie():IsIDTokenInvalid()IsIDTokenExpired()IsSessionCookieInvalid()IsSessionCookieExpired()IsCertificateFetchFailed()
- Obsolète :
IsProjectNotFound()IsUnknown()IsInsufficientPermission()IsInvalidEmail()
Modifications apportées à l'API FCM
- Le type
messaging.WebpushFCMOptionsa été renommé enmessaging.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 exceptions 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.