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

از نسخه 4.0.0، Firebase Admin SDK for Go وارد ماژول های 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.13.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 (نسخه 4 یا جدیدتر) را دریافت می کند که شامل سایر تغییرات API شکسته است.

تغییرات رسیدگی به خطاهای عمومی

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

Authentication API تغییر می کند

  • توابع مدیریت خطای جدید اضافه شده است تا در ارتباط با VerifyIDToken() و VerifySessionCookie() API استفاده شود:
    • 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()

IID API تغییر می کند

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