מעבר אל Go Admin SDK גרסה 4

החל מגרסה 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.