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