Chuyển sang SDK dành cho quản trị viên Go phiên bản 4

Kể từ phiên bản 4.0.0, Firebase Admin SDK cho Go đã chọn sử dụng các mô-đun Go. Ngoài ra, có những thay đổi mang tính đột phá trong xử lý lỗi và ngữ nghĩa.

Thay đổi về quá trình cài đặt

Để tuân thủ các phương pháp hay nhất về mô-đun, phiên bản chính của SDK đã được thêm vào tên gói. Thay đổi này dẫn đến những nội dung cập nhật sau đây về tên gói:

  • 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

Nhà phát triển đã sử dụng các mô-đun

Sử dụng tên gói có phiên bản để cài đặt phiên bản mới nhất của 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

Bạn phải sử dụng cùng một tên gói có phiên bản trong mã nguồn khi nhập SDK.

package helloworld

import (
        "firebase.google.com/go/v4"
        "firebase.google.com/go/v4/auth"
        "firebase.google.com/go/v4/messaging"
)

Để cài đặt một phiên bản cũ hơn, hãy sử dụng tên gói cũ (không có phiên bản) với một trình đủ tiêu chuẩn phiên bản rõ ràng.

# 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

Nhà phát triển hiện không sử dụng mô-đun

Những nhà phát triển chưa chọn sử dụng các mô-đun vẫn có thể tiếp tục cài đặt SDK bằng tên gói không có phiên bản.

go get firebase.google.com/go

Tuy nhiên, lưu ý rằng thao tác này sẽ tìm nạp phiên bản mới nhất của SDK (phiên bản 4 trở lên) có chứa các thay đổi khác đối với API.

Các thay đổi chung về việc xử lý lỗi

SDK v4 giới thiệu một gói errorutils mới cung cấp các hàm để xử lý các điều kiện lỗi ở cấp nền tảng. Trong trường hợp lỗi do lỗi dịch vụ phụ trợ gây ra, bạn có thể truy cập vào phản hồi lỗi ban đầu bằng cách gọi hàm mới errorutils.HTTPResponse(). Bạn có thể sử dụng các hàm trong gói này với lỗi do mọi API trong SDK trả về.

Các thay đổi về API Authentication

  • Thêm các hàm xử lý lỗi mới để dùng cùng với các API VerifyIDToken()VerifySessionCookie():
    • IsIDTokenInvalid()
    • IsIDTokenExpired()
    • IsSessionCookieInvalid()
    • IsSessionCookieExpired()
    • IsCertificateFetchFailed()
  • Không dùng nữa:
    • IsProjectNotFound()
    • IsUnknown()
    • IsInsufficientPermission()
    • IsInvalidEmail()

Các thay đổi về API FCM

  • Đổi tên loại messaging.WebpushFCMOptions thành messaging.WebpushFcmOptions.
  • Đã thêm:
    • IsThirdPartyAuthError()
    • IsQuotaExceeded()
    • IsSenderIDMismatch()
    • IsUnregistered()
    • IsUnavailable()
  • Không dùng nữa:
    • IsInvalidAPNSCredentials()
    • IsMessageRateExceeded()
    • IsMismatchedCredential()
    • IsRegistrationTokenNotRegistered()
    • IsServerUnavailable()
    • IsTooManyTopics()
    • IsUnknown()

Các thay đổi về API IID

Tất cả các hàm xử lý lỗi hiện có trong gói iid hiện đã không được dùng nữa. Thay vào đó, hãy sử dụng các hàm xử lý lỗi tương ứng có trong gói errorutils.