Esegui la migrazione all'SDK Admin Go v4

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

Modifiche all'installazione

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

  • 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 controllo delle versioni per installare l'ultima versione 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.17.0

Quando importi l'SDK, nel codice sorgente deve essere utilizzato lo stesso nome di pacchetto con controllo delle versioni.

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 nome del pacchetto precedente (senza versione) con un qualificatore di 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 successive), che contiene altre modifiche alle API che provocano errori.

Modifiche generali alla gestione degli errori

L'SDK v4 introduce un nuovo pacchetto errorutils che fornisce funzioni per la gestione delle 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()
  • Deprecato:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

FCM Modifiche all'API

  • Il tipo messaging.WebpushFCMOptions è stato rinominato in messaging.WebpushFcmOptions.
  • Aggiunte:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • Deprecato:
    • 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 obsolete. Utilizza invece le funzioni di gestione degli errori corrispondenti fornite nel pacchetto errorutils.