ย้ายข้อมูลไปยัง 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.17.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 ที่ทำให้เกิดการหยุดทำงานอื่นๆ

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

SDK v4 เปิดตัวแพ็กเกจ 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 แทน