החל מגרסה 4.0.0, Firebase Admin SDK ל-Go הצטרף למודולים של Go. בנוסף, יש שינויים מהותיים בטיפול בשגיאות ובסמנטיקה.
שינויים בהתקנה
בהתאם לשיטות המומלצות למודולים, הגרסה הראשית של ה-SDK נוספה לשם החבילה. השינוי הזה גורם לעדכונים הבאים בשמות החבילות:
- firebase.google.com/go → firebase.google.com/go/v4
- thought firebase.google.com/go/auth → firebase.google.com/go/v4/auth
- thought firebase.google.com/go/db → firebase.google.com/go/v4/db
- firebase.google.com/go/iid ← firebase.google.com/go/v4/iid
- thought 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.22.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.
שינויים כלליים בטיפול בשגיאות
בגרסה 4 של ה-SDK יש חבילת errorutils חדשה שמספקת פונקציות לטיפול במצבי שגיאה ברמת הפלטפורמה. אם השגיאה נגרמה בגלל שגיאה בשירות לקצה העורפי, אפשר לגשת לתגובת השגיאה המקורית על ידי קריאה לפונקציה החדשה errorutils.HTTPResponse(). אתם יכולים להשתמש בפונקציות שבחבילה הזו עם שגיאות שמוחזרות על ידי כל API ב-SDK.
שינויים ב-API של Authentication
- הוספנו פונקציות חדשות לטיפול בשגיאות, שאפשר להשתמש בהן בשילוב עם ממשקי ה-API של
VerifyIDToken()ו-VerifySessionCookie():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.