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 kullanmaya başlamıştır. Ayrıca, hata işleme ve semantikte de önemli 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ü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.18.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, 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, diğer API değişikliklerini içeren SDK'nın en yeni sürümünü (4. sürüm veya sonrası) 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() ve VerifySessionCookie() 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.WebpushFCMOptions türünün adı messaging.WebpushFcmOptions olarak değiştirildi.
  • Eklendi:
    • 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.