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