به Go Admin SDK نسخه 4 مهاجرت کنید

از نسخه ۴.۰.۰ به بعد، کیت توسعه نرم‌افزاری مدیریت فایربیس برای زبان گو Firebase Admin SDK for Go) ماژول‌های گو را پذیرفته است. همچنین، تغییرات مهمی در مدیریت خطا و معناشناسی ایجاد شده است.

تغییرات نصب

مطابق با بهترین شیوه‌های ماژول‌ها ، نسخه اصلی SDK به نام بسته اضافه شده است. این تغییر منجر به به‌روزرسانی‌های نام بسته زیر می‌شود:

  • 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

توسعه‌دهندگانی که از قبل از ماژول‌ها استفاده می‌کنند

برای نصب آخرین نسخه SDK از نام بسته نسخه‌بندی‌شده استفاده کنید.

# 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، باید از همان نام بسته‌ی نسخه‌بندی‌شده در کد منبع استفاده شود.

package helloworld

import (
        "firebase.google.com/go/v4"
        "firebase.google.com/go/v4/auth"
        "firebase.google.com/go/v4/messaging"
)

برای نصب نسخه‌های قدیمی‌تر، از نام بسته قدیمی (نسخه‌بندی نشده) به همراه یک توصیفگر نسخه صریح استفاده کنید.

# 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

توسعه‌دهندگانی که در حال حاضر از ماژول‌ها استفاده نمی‌کنند

توسعه‌دهندگانی که هنوز ماژول‌ها را انتخاب نکرده‌اند، می‌توانند با استفاده از نام بسته‌ی بدون نسخه، به نصب SDK ادامه دهند.

go get firebase.google.com/go

با این حال، توجه داشته باشید که این آخرین نسخه SDK (نسخه ۴ یا بالاتر) را دریافت می‌کند که شامل تغییرات مهم دیگری در API است.

تغییرات کلی در مدیریت خطا

نسخه چهارم SDK یک بسته جدید errorutils را معرفی می‌کند که توابعی را برای مدیریت شرایط خطای سطح پلتفرم فراهم می‌کند. در صورتی که خطایی توسط خطای سرویس backend ایجاد شده باشد، می‌توانید با فراخوانی تابع جدید errorutils.HTTPResponse() به پاسخ خطای اصلی دسترسی پیدا کنید. می‌توانید از توابع موجود در این بسته با خطاهایی که توسط هر API در SDK برگردانده می‌شوند، استفاده کنید.

تغییرات API Authentication

  • توابع جدید مدیریت خطا برای استفاده در رابطه با APIهای VerifyIDToken() و VerifySessionCookie() اضافه شده‌اند:
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • منسوخ شده:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

تغییرات API FCM

  • نوع messaging.WebpushFCMOptions را به messaging.WebpushFcmOptions تغییر نام داد.
  • اضافه شد:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • منسوخ شده:
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

تغییرات API IID

تمام توابع مدیریت خطای موجود در بسته iid اکنون منسوخ شده‌اند. به جای آنها از توابع مدیریت خطای مربوطه که در بسته errorutils ارائه شده‌اند استفاده کنید.