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()
iVerifySessionCookie()
:IsIDTokenInvalid()
IsIDTokenExpired()
IsSessionCookieInvalid()
IsSessionCookieExpired()
IsCertificateFetchFailed()
- Wycofane:
IsProjectNotFound()
IsUnknown()
IsInsufficientPermission()
IsInvalidEmail()
FCM Zmiany w interfejsie API
- Zmieniono nazwę typu
messaging.WebpushFCMOptions
namessaging.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
.