החל מגרסה 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.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 (גרסה 4 ואילך) שכוללת שינויים נוספים ב-API שעלולים לגרום לבעיות.
שינויים כלליים בטיפול בשגיאות
ב-SDK בגרסה 4 יש חבילה חדשה של 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
.