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