Esegui la migrazione all'SDK Admin Go v4

A partire dalla versione 4.0.0, Firebase Admin SDK per Go ha attivato i moduli Go. Inoltre, sono presenti modifiche sostanziali nella gestione degli errori e nella semantica.

Modifiche all'installazione

In conformità con le best practice per i moduli, la versione principale dell'SDK è stata aggiunta al nome del pacchetto. Questa modifica comporta i seguenti aggiornamenti dei nomi dei pacchetti:

  • 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

Sviluppatori che utilizzano già i moduli

Utilizza il nome del pacchetto con versione per installare la versione più recente dell'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.1

Lo stesso nome del pacchetto con versione deve essere utilizzato nel codice sorgente durante l'importazione dell'SDK.

package helloworld

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

Per installare una versione precedente, utilizza il vecchio nome del pacchetto (senza versione) con un qualificatore della versione esplicito.

# 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

Sviluppatori che al momento non utilizzano i moduli

Gli sviluppatori che non hanno ancora attivato i moduli possono continuare a installare l'SDK utilizzando il nome del pacchetto senza versione.

go get firebase.google.com/go

Tieni presente, tuttavia, che viene recuperata la versione più recente dell'SDK (v4 o successiva), che contiene altre modifiche alle API che causano interruzioni.

Modifiche generali alla gestione degli errori

L'SDK v4 introduce un nuovo pacchetto errorutils che fornisce funzioni per gestire le condizioni di errore a livello di piattaforma. Se un errore è stato causato da un errore del servizio di backend, puoi accedere alla risposta di errore originale chiamando la nuova funzione errorutils.HTTPResponse(). Puoi utilizzare le funzioni di questo pacchetto con gli errori restituiti da qualsiasi API nell'SDK.

Authentication Modifiche all'API

  • Sono state aggiunte nuove funzioni di gestione degli errori da utilizzare in combinazione con le API VerifyIDToken() e VerifySessionCookie():
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • Ritirata:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

FCM Modifiche all'API

  • Il tipo messaging.WebpushFCMOptions è stato rinominato in messaging.WebpushFcmOptions.
  • Aggiunto:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • Ritirata:
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

Modifiche all'API IID

Tutte le funzioni di gestione degli errori attualmente disponibili nel pacchetto iid sono ora ritirate. Utilizza invece le funzioni di gestione degli errori corrispondenti fornite nel pacchetto errorutils.