ย้ายข้อมูลไปยัง Go Admin SDK v4

ตั้งแต่เวอร์ชัน 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.1

ต้องใช้ชื่อแพ็กเกจเวอร์ชันเดียวกันในซอร์สโค้ดเมื่อนําเข้า 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 ขึ้นไป) ซึ่งมีการเปลี่ยนแปลง API อื่นๆ ที่ทำให้เกิดข้อขัดข้อง

การเปลี่ยนแปลงการจัดการข้อผิดพลาดทั่วไป

SDK เวอร์ชัน 4 เปิดตัวแพ็กเกจ errorutils ใหม่ที่มีฟังก์ชันสำหรับจัดการเงื่อนไขข้อผิดพลาดระดับแพลตฟอร์ม ในกรณีที่ข้อผิดพลาดเกิดจากข้อผิดพลาดของบริการแบ็กเอนด์ คุณจะเข้าถึงการตอบกลับข้อผิดพลาดเดิมได้โดยเรียกใช้ฟังก์ชันใหม่ errorutils.HTTPResponse() คุณสามารถใช้ฟังก์ชันในแพ็กเกจนี้กับข้อผิดพลาดที่ API ใน SDK แสดง

Authentication การเปลี่ยนแปลง API

  • เพิ่มฟังก์ชันการจัดการข้อผิดพลาดใหม่เพื่อใช้ร่วมกับ VerifyIDToken() และ VerifySessionCookie() API ดังนี้
    • 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 แทน