Zum Go Admin SDK Version 4 migrieren

Ab Version 4.0.0 werden in der Firebase Admin SDK für Go Go-Module unterstützt. Außerdem gibt es gravierende Änderungen bei der Fehlerbehandlung und der Semantik.

Installationsänderungen

Gemäß den Best Practices für Module wurde die Hauptversion des SDK an den Paketnamen angehängt. Diese Änderung führt zu den folgenden Aktualisierungen von 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 versionierten Paketnamen, um die neueste Version des SDKs 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.15.1

Beim Importieren des SDKs muss im Quellcode derselbe versionierte 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 Versionsqualifier.

# 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 noch keine Module aktiviert haben, können das SDK weiterhin mit dem nicht versionierten Paketnamen installieren.

go get firebase.google.com/go

Beachte jedoch, dass dadurch die neueste Version des SDK (Version 4 oder höher) abgerufen wird, die andere bahnbrechende API-Änderungen enthält.

Allgemeine Änderungen an der Fehlerbehandlung

Das v4 SDK führt ein neues errorutils-Paket ein, das Funktionen zum Umgang mit Fehlern auf Plattformebene bietet. Falls ein Fehler durch einen Back-End-Dienstfehler verursacht wurde, kannst du ü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 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()
  • Eingestellt:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

FCM API-Änderungen

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

Änderungen an der IID API

Alle derzeit im iid-Paket verfügbaren Funktionen zur Fehlerbehandlung sind jetzt eingestellt. Verwenden Sie stattdessen die entsprechenden Funktionen zur Fehlerbehandlung, die im Paket errorutils bereitgestellt werden.