Начиная с версии 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.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.
Изменения API Authentication
- Добавлены новые функции обработки ошибок, которые будут использоваться совместно с API
VerifyIDToken()
иVerifySessionCookie()
:-
IsIDTokenInvalid()
-
IsIDTokenExpired()
-
IsSessionCookieInvalid()
-
IsSessionCookieExpired()
-
IsCertificateFetchFailed()
-
- Устарело:
-
IsProjectNotFound()
-
IsUnknown()
-
IsInsufficientPermission()
-
IsInvalidEmail()
-
Изменения API FCM
- Тип
messaging.WebpushFCMOptions
переименован вmessaging.WebpushFcmOptions
. - Добавлен:
-
IsThirdPartyAuthError()
-
IsQuotaExceeded()
-
IsSenderIDMismatch()
-
IsUnregistered()
-
IsUnavailable()
-
- Устарело:
-
IsInvalidAPNSCredentials()
-
IsMessageRateExceeded()
-
IsMismatchedCredential()
-
IsRegistrationTokenNotRegistered()
-
IsServerUnavailable()
-
IsTooManyTopics()
-
IsUnknown()
-
Изменения API IID
Все функции обработки ошибок, доступные в настоящее время в пакете iid
, устарели. Вместо этого используйте соответствующие функции обработки ошибок, представленные в пакете errorutils
.