ย้ายไปยัง Go Admin SDK v4

ตั้งแต่เวอร์ชัน 4.0.0 เป็นต้นไป Firebase Admin SDK for 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.13.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 หรือใหม่กว่า) ซึ่งมีการเปลี่ยนแปลง API ที่ไม่ทำงานอื่นๆ

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

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

การเปลี่ยนแปลง API การตรวจสอบสิทธิ์

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