החל מגרסה 4.0.0, Firebase Admin SDK ל-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"
)
כדי להתקין גרסה קודמת, צריך להשתמש בשם החבילה הישן (ללא גרסת build) עם מגדיר גרסה מפורש.
# 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
- הוספנו פונקציות חדשות לטיפול בשגיאות לשימוש בשילוב עם ממשקי ה-API של
VerifyIDToken()
ו-VerifySessionCookie()
:IsIDTokenInvalid()
IsIDTokenExpired()
IsSessionCookieInvalid()
IsSessionCookieExpired()
IsCertificateFetchFailed()
- הוצאה משימוש:
IsProjectNotFound()
IsUnknown()
IsInsufficientPermission()
IsInvalidEmail()
FCM שינויים ב-API
- שינית את השם של הסוג
messaging.WebpushFCMOptions
ל-messaging.WebpushFcmOptions
. - נוספו:
IsThirdPartyAuthError()
IsQuotaExceeded()
IsSenderIDMismatch()
IsUnregistered()
IsUnavailable()
- הוצאה משימוש:
IsInvalidAPNSCredentials()
IsMessageRateExceeded()
IsMismatchedCredential()
IsRegistrationTokenNotRegistered()
IsServerUnavailable()
IsTooManyTopics()
IsUnknown()
שינויים ב-IID API
כל הפונקציות לטיפול בטעויות שזמינות כרגע בחבילה iid
הוצאו משימוש. במקום זאת, צריך להשתמש בפונקציות המתאימות לטיפול בשגיאות שמפורטות בחבילה errorutils
.