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