Migrer vers Go Admin SDK v4

À partir de la version 4.0.0, le SDK d'administration Firebase pour Go a opté pour les modules Go . En outre, des changements radicaux ont été apportés à la gestion des erreurs et à la sémantique.

Modifications de l'installation

Conformément aux meilleures pratiques des modules , la version majeure du SDK a été ajoutée au nom du package. Cette modification entraîne les mises à jour de noms de packages 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 utilisant déjà des modules

Utilisez le nom du 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.13.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 du 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 n'utilisant pas actuellement de modules

Les développeurs qui n'ont pas encore opté pour les modules peuvent continuer à installer le SDK en utilisant le nom du package sans version.

go get firebase.google.com/go

Notez cependant que cela récupère la dernière version du SDK (v4 ou ultérieure) qui contient d'autres modifications majeures de 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 plateforme. Dans le cas où une erreur serait provoquée par une erreur du 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.

Modifications de l'API d'authentification

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

Modifications de l'API FCM

  • Renommé le type messaging.WebpushFCMOptions en messaging.WebpushFcmOptions .
  • Ajoutée:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • Obsolète :
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

Modifications de 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 .