Migrieren Sie zum Go Admin SDK v4

Ab Version 4.0.0 hat sich das Firebase Admin SDK für Go für Go-Module entschieden. Außerdem gibt es bahnbrechende Änderungen in der Fehlerbehandlung und 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 des Paketnamens:

  • 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 verwenden bereits Module

Verwenden Sie den versionierten 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.13.0

Beim Importieren des SDK 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"
)

Um eine frühere Version zu installieren, 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 verwenden derzeit keine Module

Entwickler, die sich noch nicht für Module entschieden haben, können das SDK weiterhin unter dem nicht versionierten Paketnamen installieren.

go get firebase.google.com/go

Beachten Sie jedoch, dass dadurch die neueste Version des SDK (v4 oder höher) abgerufen wird, die weitere wichtige API-Änderungen enthält.

Allgemeine Änderungen bei der Fehlerbehandlung

Das v4 SDK führt ein neues errorutils Paket ein, das Funktionen zur Behandlung von Fehlerbedingungen auf Plattformebene bereitstellt. Falls ein Fehler durch einen Back-End-Dienstfehler verursacht wurde, können Sie auf die ursprüngliche Fehlerantwort zugreifen, indem Sie die neue Funktion errorutils.HTTPResponse() aufrufen. Sie können die Funktionen in diesem Paket mit Fehlern verwenden, die von jeder API im SDK zurückgegeben werden.

Änderungen der Authentifizierungs-API

  • Neue Fehlerbehandlungsfunktionen 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()

Änderungen an der FCM-API

  • 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 derzeit im iid Paket verfügbaren Fehlerbehandlungsfunktionen sind jetzt veraltet. Verwenden Sie stattdessen die entsprechenden Fehlerbehandlungsfunktionen, die im Paket errorutils bereitgestellt werden.