Zum Go Admin SDK Version 4 migrieren

Ab Version 4.0.0 verwendet die Firebase Admin SDK für Go Go-Module. Außerdem gibt es wichtige Änderungen bei der Fehlerbehandlung und der Semantik.

Änderungen bei der Installation

Gemäß den Best Practices für Module wurde dem Paketnamen die Hauptversion des SDK angehängt. Diese Änderung führt zu den folgenden Aktualisierungen der Paketnamen:

  • 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

Entwickler, die bereits Module verwenden

Verwenden Sie den versionsbezogenen Paketnamen, um die neueste Version des SDK zu installieren.

# 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.18.0

Beim Importieren des SDK muss im Quellcode derselbe versionsbezogene Paketname verwendet werden.

package helloworld

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

Wenn Sie eine frühere Version installieren möchten, verwenden Sie den alten (nicht versionierten) Paketnamen mit einem expliziten Versionsqualifizierer.

# 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

Entwickler, die derzeit keine Module verwenden

Entwickler, die Module noch nicht aktiviert haben, können das SDK weiterhin mit dem nicht versionierten Paketnamen installieren.

go get firebase.google.com/go

Dadurch wird jedoch die aktuelle Version des SDK (v4 oder höher) abgerufen, die weitere API-Änderungen enthält, die zu Inkompatibilitäten führen können.

Allgemeine Änderungen bei der Fehlerbehandlung

Mit dem v4-SDK wird ein neues errorutils-Paket eingeführt, das Funktionen für die Verarbeitung von Fehlern auf Plattformebene bietet. Wenn ein Fehler durch einen Back-End-Dienstfehler verursacht wurde, können Sie über die neue Funktion errorutils.HTTPResponse() auf die ursprüngliche Fehlerantwort zugreifen. Sie können die Funktionen in diesem Paket mit Fehlern verwenden, die von einer beliebigen API im SDK zurückgegeben werden.

Authentication API-Änderungen

  • Es wurden neue Funktionen zur Fehlerbehandlung hinzugefügt, die in Verbindung mit den APIs VerifyIDToken() und VerifySessionCookie() verwendet werden können:
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • Veraltet:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

FCM API-Änderungen

  • Der Typ messaging.WebpushFCMOptions wurde in messaging.WebpushFcmOptions umbenannt.
  • Hinzugefügt:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • Veraltet:
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

Änderungen an der IID API

Alle Funktionen zur Fehlerbehandlung, die derzeit im iid-Paket verfügbar sind, sind jetzt veraltet. Verwenden Sie stattdessen die entsprechenden Fehlerbehandlungsfunktionen im Paket errorutils.