4.0.0 sürümünden itibaren Go için Firebase Admin SDK, Go modüllerini kullanmaya başladı. Ayrıca, hata işleme ve anlamsal yapıda da zarar veren değişiklikler var.
Yükleme değişiklikleri
Modüllerle ilgili en iyi uygulamalara uygun olarak, SDK'nın ana sürümü paket adına eklendi. Bu değişiklik, aşağıdaki paket adı güncellemeleriyle sonuçlanır:
- 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
Modülleri zaten kullanan geliştiriciler
SDK'nın en yeni sürümünü yüklemek için sürüm içeren paket adını kullanın.
# 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.22.0
SDK'yı içe aktarırken kaynak kodda aynı sürüm oluşturulmuş paket adı kullanılmalıdır.
package helloworld
import (
"firebase.google.com/go/v4"
"firebase.google.com/go/v4/auth"
"firebase.google.com/go/v4/messaging"
)
Daha önceki bir sürümü yüklemek için eski (sürüm içermeyen) paket adını açık bir sürüm niteleyicisiyle birlikte kullanın.
# 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
Şu anda modül kullanmayan geliştiriciler
Henüz modülleri etkinleştirmemiş olan geliştiriciler, SDK'yı sürüm içermeyen paket adını kullanarak yüklemeye devam edebilir.
go get firebase.google.com/go
Ancak bu işlemin, diğer API'lerde uyumluluğu bozan değişiklikler içeren SDK'nın en son sürümünü (v4 veya sonraki sürümler) getirdiğini unutmayın.
Genel hata işleme değişiklikleri
v4 SDK'sı, platform düzeyindeki hata koşullarını işlemek için işlevler sağlayan yeni bir errorutils paketi sunar. Bir hata, arka uç hizmeti hatasından kaynaklanıyorsa errorutils.HTTPResponse() adlı yeni işlevi çağırarak orijinal hata yanıtına erişebilirsiniz. Bu paketteki işlevleri, SDK'daki herhangi bir API'nin döndürdüğü hatalarla birlikte kullanabilirsiniz.
Authentication API değişiklikleri
VerifyIDToken()veVerifySessionCookie()API'leriyle birlikte kullanılacak yeni hata işleme işlevleri eklendi:IsIDTokenInvalid()IsIDTokenExpired()IsSessionCookieInvalid()IsSessionCookieExpired()IsCertificateFetchFailed()
- Kullanımdan kaldırıldı:
IsProjectNotFound()IsUnknown()IsInsufficientPermission()IsInvalidEmail()
FCM API değişiklikleri
messaging.WebpushFCMOptionstürümessaging.WebpushFcmOptionsolarak yeniden adlandırıldı.- Eklenme:
IsThirdPartyAuthError()IsQuotaExceeded()IsSenderIDMismatch()IsUnregistered()IsUnavailable()
- Kullanımdan kaldırıldı:
IsInvalidAPNSCredentials()IsMessageRateExceeded()IsMismatchedCredential()IsRegistrationTokenNotRegistered()IsServerUnavailable()IsTooManyTopics()IsUnknown()
IID API değişiklikleri
iid paketinde şu anda bulunan tüm hata işleme işlevleri artık kullanımdan kaldırıldı. Bunun yerine errorutils paketinde sağlanan ilgili hata işleme işlevlerini kullanın.