Migrate to Go Admin SDK v4

Od wersji 4.0.0 w Firebase Admin SDK w Go należy włączyć moduły Go. Wprowadziliśmy też zmiany w obsługi błędów i semantyce, które mogą spowodować problemy.

Zmiany w instalacji

Zgodnie ze sprawdzonymi metodami dotyczącymi modułów do nazwy pakietu dołączono wersję główną pakietu SDK. Ta zmiana powoduje te aktualizacje nazw pakietów:

  • 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

Deweloperzy, którzy już korzystają z modułów

Aby zainstalować najnowszą wersję pakietu SDK, użyj nazwy pakietu z włączoną obsługą wersji.

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

Podczas importowania pakietu SDK należy użyć w kodzie źródłowym tej samej nazwy pakietu z wersją.

package helloworld

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

Aby zainstalować wcześniejszą wersję, użyj starej (niewersyjnej) nazwy pakietu z wyraźnym ogranicznikiem wersji.

# 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

deweloperzy, którzy nie korzystają obecnie z modułów;

Deweloperzy, którzy nie korzystają jeszcze z modułów, mogą nadal instalować pakiet SDK, używając nazwy pakietu bez wersji.

go get firebase.google.com/go

Pamiętaj jednak, że pobiera on najnowszą wersję pakietu SDK (wersja 4 lub nowsza), która zawiera inne zmiany interfejsu API.

Ogólne zmiany dotyczące obsługi błędów

Pakiet SDK w wersji 4 wprowadza nowy pakiet errorutils, który udostępnia funkcje obsługi warunków błędów na poziomie platformy. Jeśli błąd został spowodowany przez błąd usługi w tle, możesz uzyskać dostęp do pierwotnej odpowiedzi błędu, wywołując nową funkcję errorutils.HTTPResponse(). Funkcji w tym pakiecie możesz używać z błędami zwracanymi przez dowolny interfejs API w pakiecie SDK.

Authentication Zmiany w interfejsie API

  • Dodano nowe funkcje obsługi błędów do użycia w połączeniu z interfejsami API VerifyIDToken()VerifySessionCookie():
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • Wycofane:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

FCM Zmiany w interfejsie API

  • Zmieniono nazwę typu messaging.WebpushFCMOptions na messaging.WebpushFcmOptions.
  • Dodano:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • Wycofane:
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

Zmiany w interfejsie IID API

Wszystkie funkcje obsługi błędów dostępne obecnie w pakiecie iid zostały wycofane. Zamiast tego użyj odpowiednich funkcji obsługi błędów udostępnionych w pakiecie errorutils.