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 semantikte zarar veren değişiklikler de vardır.
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üncellemelerine neden olur:
- 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ümlü 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 kodunda aynı sürüme sahip 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 eski bir sürümü yüklemek için eski (sürümü belirtilmemiş) paket adını açık bir sürüm niteleyiciyle 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
Modülleri henüz etkinleştirmemiş geliştiriciler, sürümsüz paket adını kullanarak SDK'yı yüklemeye devam edebilir.
go get firebase.google.com/go
Ancak bu işlemin, diğer önemli API değişikliklerini içeren SDK'nın en yeni sürümünü (v4 veya sonraki sürümler) getirdiğini unutmayın.
Hata işleme ile ilgili genel değişiklikler
v4 SDK'sı, platform düzeyindeki hata koşullarını işlemek için işlevler sağlayan yeni bir errorutils paketi sunar. Hatanın bir arka uç hizmeti hatasından kaynaklanması durumunda, yeni errorutils.HTTPResponse() işlevini çağırarak orijinal hata yanıtına erişebilirsiniz. Bu paketteki işlevleri, SDK'daki herhangi bir API tarafından döndürülen hatalarla 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()
- Desteği sonlandırıldı:
IsProjectNotFound()IsUnknown()IsInsufficientPermission()IsInvalidEmail()
FCM API değişiklikleri
messaging.WebpushFCMOptionstürümessaging.WebpushFcmOptionsolarak yeniden adlandırıldı.- Eklendi:
IsThirdPartyAuthError()IsQuotaExceeded()IsSenderIDMismatch()IsUnregistered()IsUnavailable()
- Desteği sonlandırıldı:
IsInvalidAPNSCredentials()IsMessageRateExceeded()IsMismatchedCredential()IsRegistrationTokenNotRegistered()IsServerUnavailable()IsTooManyTopics()IsUnknown()
IID API değişiklikleri
iid paketinde 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.