Go Admin SDK v4'e geçiş yapın

Go için Firebase Admin SDK, 4.0.0 sürümünden itibaren Go modüllerini etkinleştirdi. Ayrıca, hata işleme ve anlambilimde zarar veren değişiklikler de söz konusudur.

Kurulum değişiklikleri

Modüller ile 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 son 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.15.0

SDK'yı içe aktarırken kaynak kodda aynı sürümlü 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"
)

Önceki bir sürümü yüklemek için açık bir sürüm belirteci içeren eski (sürüm belirtilmemiş) paket adını 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

Modülleri kullanmayan geliştiriciler

Henüz modülleri etkinleştirmemiş olan geliştiriciler, sürüm içermeyen paket adını kullanarak SDK'yı yüklemeye devam edebilir.

go get firebase.google.com/go

Ancak bu işlemin, SDK'nın zarar veren diğer API değişikliklerini içeren en son sürümünü (v4 veya sonraki sürüm) getirdiğini unutmayın.

Genel hata işleme değişiklikleri

v4 SDK'sı, platform düzeyindeki hata durumlarını işleme işlevleri sağlayan yeni bir errorutils paketi sunar. Hata, arka uç hizmet hatasından kaynaklanıyorsa 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() ve VerifySessionCookie() 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.WebpushFCMOptions türü messaging.WebpushFcmOptions olarak 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

Şu anda iid paketinde bulunan tüm hata işleme işlevleri kullanımdan kaldırıldı. Bunun yerine errorutils paketinde sağlanan ilgili hata işleme işlevlerini kullanın.