Sejak versi 4.0.0, Firebase Admin SDK untuk Go telah disertakan dalam Modul Go. Selain itu, ada perubahan yang dapat menyebabkan gangguan dalam penanganan error dan semantik.
Perubahan penginstalan
Sesuai dengan praktik terbaik modul, versi utama SDK telah ditambahkan ke nama paket. Perubahan ini menyebabkan pembaruan nama paket berikut:
- 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
Developer sudah menggunakan modul
Gunakan nama paket berversi untuk menginstal versi terbaru 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.14.1
Nama paket yang sama yang mencantumkan versi harus digunakan dalam kode sumber saat mengimpor SDK.
package helloworld
import (
"firebase.google.com/go/v4"
"firebase.google.com/go/v4/auth"
"firebase.google.com/go/v4/messaging"
)
Untuk menginstal versi sebelumnya, gunakan nama paket lama (tanpa versi) dengan penentu versi yang eksplisit.
# 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
Developer saat ini tidak menggunakan modul
Developer yang belum memilih modul masih dapat menginstal SDK menggunakan nama paket tanpa versi.
go get firebase.google.com/go
Namun, perlu diperhatikan bahwa tindakan ini mengambil versi terbaru SDK (v4 atau yang lebih baru) yang berisi perubahan API lain yang dapat menyebabkan gangguan.
Perubahan penanganan error umum
SDK v4 memperkenalkan paket errorutils
baru yang menyediakan fungsi untuk
menangani kondisi error tingkat platform. Jika error disebabkan oleh
error layanan backend, Anda dapat mengakses respons error asli dengan memanggil
fungsi baru errorutils.HTTPResponse()
. Anda dapat menggunakan fungsi di dalam
paket ini dengan error yang ditampilkan oleh API apa pun di SDK.
Authentication Perubahan API
- Menambahkan fungsi penanganan error baru yang akan digunakan bersama dengan
VerifyIDToken()
danVerifySessionCookie()
API:IsIDTokenInvalid()
IsIDTokenExpired()
IsSessionCookieInvalid()
IsSessionCookieExpired()
IsCertificateFetchFailed()
- Tidak digunakan lagi:
IsProjectNotFound()
IsUnknown()
IsInsufficientPermission()
IsInvalidEmail()
FCM Perubahan API
- Mengganti nama jenis
messaging.WebpushFCMOptions
menjadimessaging.WebpushFcmOptions
. - Ditambahkan:
IsThirdPartyAuthError()
IsQuotaExceeded()
IsSenderIDMismatch()
IsUnregistered()
IsUnavailable()
- Tidak digunakan lagi:
IsInvalidAPNSCredentials()
IsMessageRateExceeded()
IsMismatchedCredential()
IsRegistrationTokenNotRegistered()
IsServerUnavailable()
IsTooManyTopics()
IsUnknown()
Perubahan IID API
Semua fungsi penanganan error yang saat ini tersedia dalam paket iid
kini
sudah tidak digunakan lagi. Sebagai gantinya, gunakan fungsi penanganan error yang sesuai yang disediakan dalam
paket errorutils
.