מעבר אל 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.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.