از نسخه 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.15.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
استفاده کنید.