Начиная с версии 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.18.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 версии 4 представлен новый пакет 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 .