Go के एडमिन SDK v4 पर माइग्रेट करें

Go के लिए Firebase Admin SDK के वर्शन 4.0.0 से, Go मॉड्यूल का इस्तेमाल किया जा रहा है. साथ ही, गड़बड़ी को ठीक करने और सिमैंटिक में नुकसान पहुंचा सकने वाले बदलाव किए गए हैं.

इंस्टॉलेशन में बदलाव

मॉड्यूल के सबसे सही तरीकों का पालन करते हुए, एसडीके के मेजर वर्शन को पैकेज के नाम में जोड़ दिया गया है. इस बदलाव की वजह से, पैकेज के नाम में ये अपडेट किए गए हैं:

  • 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.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 टूल का नया वर्शन (v4 या इसके बाद का वर्शन) फ़ेच होता है. इसमें एपीआई में किए गए अन्य बदलाव भी शामिल होते हैं.

गड़बड़ी ठीक करने की सुविधा में सामान्य बदलाव

v4 SDK टूल में एक नया errorutils पैकेज शामिल किया गया है. इसमें प्लैटफ़ॉर्म-लेवल पर होने वाली गड़बड़ियों को मैनेज करने के लिए फ़ंक्शन उपलब्ध कराए गए हैं. अगर बैकएंड सेवा में गड़बड़ी की वजह से कोई गड़बड़ी हुई है, तो नए फ़ंक्शन errorutils.HTTPResponse() को कॉल करके, गड़बड़ी के ओरिजनल रिस्पॉन्स को ऐक्सेस किया जा सकता है. इस पैकेज में मौजूद फ़ंक्शन का इस्तेमाल, एसडीके में मौजूद किसी भी एपीआई से मिलने वाली गड़बड़ियों के साथ किया जा सकता है.

Authentication एपीआई में हुए बदलाव

  • गड़बड़ी ठीक करने वाले नए फ़ंक्शन जोड़े गए हैं. इनका इस्तेमाल, VerifyIDToken() और VerifySessionCookie() एपीआई के साथ किया जा सकता है:
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • अब इस्तेमाल नहीं किया जा सकता:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

FCM एपीआई में हुए बदलाव

  • messaging.WebpushFCMOptions टाइप का नाम बदलकर messaging.WebpushFcmOptions किया गया.
  • जोड़ी गई:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • अब इस्तेमाल नहीं किया जा सकता:
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

आईआईडी एपीआई में हुए बदलाव

iid पैकेज में गड़बड़ी ठीक करने के लिए उपलब्ध सभी फ़ंक्शन अब बंद कर दिए गए हैं. इसके बजाय, errorutils पैकेज में दिए गए गड़बड़ी को ठीक करने वाले फ़ंक्शन का इस्तेमाल करें.