Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Замечания к выпуску Firebase Admin Java SDK

Чтобы просмотреть примечания к выпуску для консоли Firebase и для других платформ Firebase и связанных с ними SDK, см. Примечания к выпуску Firebase .

Версия 6.15.0 - 23 июля 2020 г.

  • Admin SDK теперь импортирует все зависимости Google Cloud Platform через com.google.cloud:libraries-bom .

Аутентификация

Версия 6.14.0 - 17 июня 2020 г.

  • Обновлена ​​версия зависимости Cloud Firestore до 1.34.0.
  • Обновлена ​​версия зависимости Cloud Storage до 1.108.0.
  • Обновлены другие зависимости SDK. Netty, Google API Client, Google HTTP Client, Google API Common и библиотеки JSON, от которых зависит SDK, обновлены до более поздних версий.

Облачные сообщения

  • Добавлены FcmOptions в MulticastMessage . Спасибо pavlospt за вклад .
  • Добавлена ​​поддержка параметра direct_boot_ok .

Версия 6.13.0 - 14 мая 2020 г.

Аутентификация

  • Добавлены getUsers() и deleteUsers() для получения и удаления учетных записей пользователей.

Версия 6.12.2 - 11 февраля 2020 г.

  • API управления проектами в классе FirebaseProjectManagement теперь автоматически повторяют операции, которые не выполняются из-за допустимых ошибок HTTP.

Аутентификация

  • API управления пользователями в классе FirebaseAuth теперь автоматически повторяют операции, которые не выполняются из-за допустимых ошибок HTTP.

Версия 6.12.1 - 23 января 2020 г.

Облачные сообщения

  • Класс AndroidNotification теперь корректно форматирует поле event_time отправленное в службу облачных сообщений.

Версия 6.12.0 - 18 декабря 2019 г.

  • Исправлена ​​ошибка в разборе строки даты при обработке ошибок. Спасибо sakebook за вклад .

Облачный Пожарный Магазин

  • Обновлена ​​версия зависимостей google-cloud-firestore до 1.31.0, которая обеспечивает поддержку запросов IN . Спасибо achuinard за вклад .

Облачные сообщения

  • Добавлен notificationCount параметр AndroidNotification класса. Спасибо knocknarea за вклад .
  • SDK теперь корректно обрабатывает THIRD_PARTY_AUTH_ERROR ошибки THIRD_PARTY_AUTH_ERROR возвращаемый серверной службой при отправке уведомлений на iOS и веб-целям.

Версия 6.11.0 - 30 октября 2019 г.

  • Обновлена ​​версия зависимости Cloud Firestore до 1.21.0.
  • Обновлена ​​версия зависимости Cloud Storage до 1.91.0.

Облачные сообщения

  • Добавлен Builder для создания объектов Notification .
  • В класс AndroidNotification добавлен ряд новых параметров, которые позволяют дополнительно настраивать уведомления, предназначенные для устройств Android.
  • Количество сообщений в пакете увеличено до 500.

Версия 6.10.0 - 04 сентября 2019 г.

Облачные сообщения

  • Добавлен новый API WebpushFcmOptions для настройки функций, предоставляемых FCM SDK для Web. Спасибо Кирмерзликину за вклад .
  • Добавлены новые API для указания URL-адреса изображения в уведомлениях.

База данных в реальном времени

  • Теперь разработчики могут тестировать вызовы API-интерфейса базы данных реального времени, направляя трафик SDK в эмулятор RTDB. Установите FIREBASE_DATABASE_EMULATOR_HOST среды FIREBASE_DATABASE_EMULATOR_HOST чтобы указать конечную точку эмулятора в формате host:port .

Версия 6.9.0 - 18 июля 2019 г.

  • Обновлена ​​версия клиента Cloud Firestore до 1.9.0.
  • Обновлена ​​версия клиента Cloud Storage до 1.79.0.
  • Обновлена ​​версия клиента API Google до 1.30.1.
  • Обновлена ​​версия зависимости от Guava до 26.0-android.

Firebase Cloud Messaging

  • Добавлены FcmOptions , AndroidFcmOptions и ApnsFcmOptions для указания меток аналитики для уведомлений FCM.
  • API MulticastMessage.Builder теперь поддерживает указание маркеров регистрации устройства в виде Collection вместо List .

Версия 6.8.1 - 24 апреля 2019 г.

Firebase Cloud Messaging

  • SDK теперь автоматически повторяет попытки вызова API FCM из-за ошибок HTTP 500 и 503.

База данных в реальном времени

  • SDK теперь генерирует исключения с четкими сообщениями об ошибках при сериализации POJO с нестандартными числовыми объектами.

Версия 6.8.0 - 14 марта 2019 г.

Firebase Cloud Messaging

  • Новый API sendMulticast() для отправки сообщения в список токенов регистрации устройства.
  • Новый API sendAll() для отправки списка сообщений в виде одного пакета.

Версия 6.7.0 - 9 января 2019 г.

  • Экземпляры Firestore инициализированные SDK, теперь очищаются при FirebaseApp.delete() .

Аутентификация

  • Добавлены API для генерации ссылок действий по электронной почте для создания ссылок для сброса пароля, проверки электронной почты и входа в ссылку электронной почты с помощью generatePasswordResetLink() , generateEmailVerificationLink() и generateSignInWithEmailLink() . Смотрите документацию для более подробной информации и примеров кода.

Облачные сообщения

  • Класс Aps теперь поддерживает настройку критического звука. Для этой цели был введен новый класс CriticalSound .
  • Добавлен новый setChannelId() метод в AndroidNotification.Builder API для настройки канала уведомления ID Android (новое в Android O).

Версия 6.6.0 - 28 ноября 2018 г.

  • Новый API-интерфейс FirebaseProjectManagement для управления приложениями в проекте Firebase.
  • Новые listAndroidApps() и listIosApps() для listIosApps() списка существующих приложений в проекте.
  • Новые createAndroidApp() и createIosApp() для создания новых приложений в проекте.
  • Новый AndroidApp и IosApp API - интерфейсы для обновления отдельных приложений.

Аутентификация

  • API-интерфейсы управления пользователями в FirebaseAuth были перенесены в новую конечную точку REST Identity Toolkit. Идентификатор проекта теперь требуется для использования FirebaseAuth . Разработчики, использующие учетные данные учетной записи службы или внедряющие в управляемые среды выполнения Google, такие как App Engine, не заметят разницы.

Облачные сообщения

  • Класс ApsAlert теперь поддерживает спецификацию субтитров. Спасибо химиды за вклад .
  • Улучшена обработка ошибок за счет запроса более подробного ответа об ошибке из серверной службы FCM.

Версия 6.5.0 - 14 сентября 2018 г.

  • FirebaseOptions.Builder предоставляет новый setFirestoreOptions() который можно использовать для настройки экземпляров Firestore инициализированных SDK.
  • Обновлена ​​версия клиента Cloud Firestore до версии 0.61.0-бета.
  • Обновлена ​​версия клиента Cloud Storage до 1.43.0.

Версия 6.4.0 - 28 августа 2018 г.

Облачные сообщения

  • Тип WebpushNotification теперь предоставляет API-интерфейс Builder и поддерживает произвольные пары ключ-значение в своей полезной нагрузке.

Версия 6.3.0 - 17 июля 2018 г.

  • Admin SDK теперь может считывать идентификатор проекта Firebase / Google Cloud Platform из переменных среды GCLOUD_PROJECT и GOOGLE_CLOUD_PROJECT .

Аутентификация

  • Admin SDK теперь может создавать собственные токены без инициализации учетными данными учетной записи службы.
  • SDK теперь предоставляет setServiceAccountId() опции setServiceAccountId() , который можно использовать для установки только клиентской электронной почты учетной записи службы.
  • При развертывании в среде, управляемой Google (например, Google App Engine), SDK может автоматически обнаруживать идентификатор учетной записи службы без какой-либо явной настройки.

Версия 6.2.0 - 31 мая 2018 г.

Аутентификация

Версия 6.1.0 - 15 мая 2018 г.

Аутентификация

  • Устаревший неправильно названный setCustomClaims() . Разработчики должны вместо этого использовать метод setCustomUserClaims() .

Версия 6.0.0 - 8 мая 2018 г.

  • Интерфейсы FirebaseAuth , FirebaseMessaging и FirebaseInstanceId теперь предоставляют набор методов блокировки. Каждая операция имеет блокирующую и асинхронную версии.
  • Удален устаревший интерфейс FirebaseCredential .
  • Удален устаревший интерфейс Task вместе с пакетом com.google.firebase.tasks .
  • Прекращена поддержка Java 7 App Engine. Разработчикам рекомендуется использовать Admin SDK с Java 8 при развертывании на App Engine.
  • Удалены устаревшие API FirebaseDatabase.setLogLevel() и связанные утилиты ведения журналов. Разработчики должны использовать SLF4J для прямой настройки регистрации.

    Подробнее об этих критических изменениях см. В Руководстве по миграции Admin SDK .

Версия 5.11.0 - 25 апреля 2018 г.

  • Обновлена ​​версия зависимости Google Cloud Firestore до версии 0.45.0-бета.
  • Обновлена ​​версия зависимости Google Cloud Storage до 1.27.0.
  • Обновлена ​​версия зависимости Netty до 4.1.22.

Аутентификация

Версия 5.10.0 - 17 апреля 2018 г.

инициализация

  • Добавлены setConnectTimeout() и setReadTimeout() в класс FirebaseOptions.Builder . Эти методы позволяют настроить время ожидания для исходящих HTTP-запросов, сделанных SDK. Эти настройки влияют на все запросы, кроме запросов к базе данных Firebase Realtime и Cloud Firestore.

Облачные сообщения

  • Добавлен метод setMutableContent() в класс Aps.Builder . Это можно использовать для установки свойства mutable-content при отправке сообщений FCM целевым объектам APN.
  • Добавлена ​​поддержка для указания произвольных полей значения ключа в классе Aps.Builder .
  • Улучшена обработка ошибок в API FirebaseMessaging .

Аутентификация

  • API-интерфейс FirebaseAuth теперь использует HttpTransport настроенный через FirebaseOptions для получения сертификатов открытых ключей при проверке токенов идентификаторов. Спасибо xbauquet за вклад .

Версия 5.9.0 - 14 февраля 2018 г.

Облачные сообщения

  • Новый API FirebaseMessaging для отправки сообщений FCM и управления подписками на темы.
  • Новый sendAsync() для отправки сообщений FCM.
  • Новый метод subscribeToTopicAsync() для подписки списка токенов регистрации устройства на тему FCM.
  • Новый метод unsubscribeFromTopicAsync() для отмены подписки списка токенов регистрации устройства из раздела FCM.

Аутентификация

  • Метод verifyIdTokenAsync() теперь имеет перегрузку, которая принимает логический параметр checkRevoked . Когда true , дополнительная проверка выполняется, чтобы видеть, был ли токен отозван.
  • Новый revokeRefreshTokensAsync() для аннулирования всех токенов, выданных пользователю.
  • Класс UserRecord представляет новый getTokensValidAfterTimestamp() для возврата времени, до которого токены были недействительными.

База данных в реальном времени

  • Исключения, генерируемые обработчиками событий базы данных, теперь регистрируются.

Облачный Пожарный Магазин

  • Обновлен клиент Cloud Firestore до последней доступной версии.

инициализация

  • Метод FirebaseOptions.Builder.setStorageBucket() теперь выдает явное исключение, когда вызывается с URL-адресом корзины вместо имени.
  • Реализовано исправление для потенциального конфликта версий Guava, который вызывал IllegalStateException (предусловие) в некоторых средах.

Версия 5.8.0 - 11 января 2018 г.

инициализация

  • Метод FirebaseApp.initializeApp() теперь предоставляет перегрузку, которая не требует никаких аргументов. Это инициализирует приложение, используя учетные данные приложения Google по умолчанию и другие FirebaseOptions загруженные из переменной среды FIREBASE_CONFIG .

Аутентификация

  • Улучшена обработка ошибок в API управления пользователями в классе FirebaseAuth . Эти операции теперь генерируют исключения с четко определенными кодами ошибок .

База данных в реальном времени

  • SDK теперь сериализует большие целые двойные значения как длинные, когда это уместно.

Версия 5.7.0 - 21 декабря 2017 г.

  • Новый API FirebaseInstanceId который облегчает удаление идентификаторов экземпляров и связанных пользовательских данных из проектов Firebase.

Аутентификация

  • Больше не используется зависимость org.json в API аутентификации, что упрощает использование API в средах с конфликтующими библиотеками JSON.

Версия 5.6.0 - 08 декабря 2017 г.

  • Обновлена ​​версия Google API Common зависимость до последней (1.2.0).

Аутентификация

  • Добавлен метод listUsersAsync() в класс FirebaseAuth . Этот метод позволяет перечислять или перебирать все учетные записи пользователей в проекте Firebase.
  • Добавлен метод setCustomUserClaimsAsync() в класс FirebaseAuth . Этот метод позволяет настроить пользовательские утверждения для пользователя Firebase. Пользовательские утверждения могут быть доступны через токен идентификатора этого пользователя.

База данных в реальном времени

  • Повторно внедрил коммуникационный уровень WebSocket клиента Realtime Database, используя Netty.

Версия 5.5.0 - 07 ноября 2017 г.

База данных в реальном времени

  • Гарантированное изящное завершение рабочих потоков базы данных при вызове FirebaseApp.delete() .

Версия 5.4.0 - 11 октября 2017 г.

  • Новый API-интерфейс ThreadManager который можно использовать для указания пула потоков и ThreadFactory которые должны использоваться SDK.
  • Все API, которые поддерживают асинхронные операции, теперь возвращают ApiFuture . Старый API Task устарел. Для каждого метода x() который возвращает Task , был xAsync() новый xAsync() который возвращает ApiFuture .
  • SDK теперь гарантирует постепенное завершение всех запущенных потоков. В большинстве сред SDK будет использовать демонов для всех фоновых действий. Разработчик также может инициировать постепенное завершение потоков, вызывая FirebaseApp.delete() .

инициализация

  • FirebaseOptions теперь можно инициализировать с помощью GoogleCredentials . Это новый рекомендуемый способ указания учетных данных при инициализации SDK. Старые API-интерфейсы FirebaseCredential и FirebaseCredentials устарели.

Версия 5.3.1 - 13 сентября 2017 г.

Аутентификация

  • verifyIdToken() точную и более подробную ошибку от verifyIdToken() в случае низкоуровневого исключения.

База данных в реальном времени

  • Правильная обработка и регистрация исключений, onComplete() событием onComplete() обработчиков транзакций.

Версия 5.3.0 - 14 августа 2017 г.

  • Новый API Cloud Storage, который облегчает доступ к корзинам Google Cloud Storage с помощью библиотеки google-cloud-storage .
  • Интегрирован с библиотекой SLF4J для всех целей ведения журнала.

Аутентификация

  • Добавлен метод getUserByPhoneNumber() в интерфейс FirebaseAuth . Этот метод позволяет получить информацию о профиле пользователя по номеру телефона.
  • Типы CreateRequest и UpdateRequest теперь предоставляют сеттеры для указания номера телефона, который можно использовать для создания пользователей с полем номера телефона и / или обновления номера телефона, связанного с пользователем.
  • В метод UserRecord добавлен метод getPhoneNumber() , который предоставляет номер телефона, связанный с учетной записью пользователя.
  • Добавлен метод getPhoneNumber() для UserInfo , который предоставляет номер телефона, связанный с учетной записью пользователя связанным провайдером идентификации.

База данных в реальном времени

  • Устаревший метод FirebaseDatabase.setLogLevel() . Используйте SLF4J для настройки ведения журнала.
  • Ведение подробного сообщения об ошибке, когда клиенту базы данных не удается пройти аутентификацию на внутренних серверах Firebase.

Версия 5.2.0 - 14 июня 2017 г.

  • Новые фабричные методы в классе FirebaseCredentials которые принимают аргументы HttpTransport и JsonFactory . Эти параметры используются, когда учетные данные выполняют HTTP-вызовы для получения маркеров доступа OAuth2.
  • Новые setHttpTransport() и setJsonFactory() в классе FirebaseOptions . Эти настройки используются всеми службами SDK, кроме FirebaseDatabase .

Версия 5.1.0 - 07 июня 2017 г.

Аутентификация

  • Новый API управления пользователями, который позволяет предоставлять и управлять пользователями Firebase из приложений Java. Этот API добавляет getUser() , getUserByEmail() , createUser() , updateUser() и deleteUser() в интерфейс FirebaseAuth .

Версия 5.0.1 - 01 июня 2017 г.

База данных в реальном времени

  • Исправлена ​​утечка потока API базы данных, из-за которой SDK работал нестабильно при работе в среде Google App Engine.

Версия 5.0.0 - 17 мая 2017 г.

инициализация

  • Методы фабрики в классе FirebaseCredentials теперь могут генерировать IOExceptions , обеспечивая семантику быстрого отказа и облегчая обработку ошибок.
  • setServiceAccount() метод setServiceAccount() был удален из класса FirebaseOptions.Builder в пользу метода setCredential() .
  • Попытка инициализировать SDK без установки учетных данных теперь приводит к исключению.
  • Интерфейс FirebaseCredential теперь возвращает новый тип GoogleOAuthAccessToken , который инкапсулирует как строку токена, так и время ее истечения.

Версия 4.1.7 - 20 апреля 2017 г.

  • Представляем новый метод FirebaseApp.delete() , который можно использовать для изящного закрытия экземпляров приложения. Все вызовы приложения после вызова delete() будут вызывать исключения. При необходимости удаленные экземпляры приложения могут быть повторно инициализированы с тем же именем.

  • Обновлены зависимости SDK. Библиотеки Guava, Google API Client и JSON, от которых зависит SDK, были обновлены до более поздних версий.

Версия 4.1.6 - 04 апреля 2017 г.

База данных в реальном времени

  • Обновлен SDK для выбора правильной реализации пула потоков при работе на обычной JVM с библиотеками App Engine в classpath к classpath

Версия 4.1.5 - 28 марта 2017 г.

База данных в реальном времени

  • Исправлена ​​неверная константа версии SDK в классе FirebaseDatabase , выпущенная в версии 4.1.4.

Версия 4.1.4 - 28 марта 2017 г.

Аутентификация

  • Обновлен SDK, чтобы периодически обновлять токен доступа OAuth, который внутренне используется FirebaseApp . Это уменьшает количество ошибок аутентификации, встречающихся во время выполнения различными компонентами SDK (например, База данных реального времени), почти до нуля. Эта функция активна по умолчанию при работе в типичных средах Java или в среде Google App Engine с поддержкой фоновых потоков.

Версия 4.1.3 - 7 марта 2017 г.

База данных в реальном времени

  • Обновлена ​​база данных реального времени для правильной замены токена идентификатора, используемого для аутентификации базовой веб-розетки при создании нового токена идентификатора. Соединение websocket по-прежнему отключается и подключается каждый час, когда истекает токен ID, если только вы вручную не getAccessToken для FirebaseCredential используемого для аутентификации SDK. В будущем выпуске SDK будет автоматически обновлять ID-токены автоматически до истечения срока их действия.

Версия 4.1.2 - 14 февраля 2017 г.

инициализация

  • Обновлен initalizeApp() для синхронного чтения из InputStream чтобы избежать проблем с закрытием потока после инициализации SDK.
  • Исправлены запутанные сообщения об ошибках при инициализации SDK с null или неправильно сформированным InputStream .

Версия 4.1.1 - 1 февраля 2017 г.

Аутентификация

  • Исправлена ​​проблема зависимости, из-за которой метод verifyIdToken() всегда генерировал исключение.

Версия 4.1.0 - 24 января 2017 г.

инициализация

Аутентификация

  • В этом verifyIdToken() метод verifyIdToken() работает и выдает исключение из-за неправильной зависимости. Это было исправлено в версии 4.1.1 .

Версия 4.0.4 - 17 января 2017 г.

  • Исправлена ​​проблема, из-за которой потоки прерывались в Google App Engine через 24 часа, из-за чего SDK не отвечал.
  • Исправлены проблемы, приводившие к сбою выполнения асинхронной задачи в автоматически масштабируемых экземплярах Google App Engine.

Аутентификация

  • Улучшены сообщения об ошибках и добавлена ​​поддержка App Engine для verifyIdToken() .

База данных в реальном времени

  • Исправлено состояние гонки, которое могло возникать при добавлении новых записей во время закрытия соединения.

Версия 4.0.3 - 6 декабря 2016 г.

инициализация

  • Исправлена setDatabaseAuthVariableOverride() к игнорированию null ввода в метод setDatabaseAuthVariableOverride() , из-за которого у приложения оставался полный доступ администратора. Теперь передача этого значения имеет ожидаемое поведение: приложение имеет неаутентифицированный доступ к базе данных реального времени и ведет себя так, как будто ни один пользователь не вошел в приложение.

База данных в реальном времени

  • Использование метода updateChildren() теперь отменяет только транзакции, которые непосредственно включены в обновленные пути (но не транзакции в соседних путях). Например, обновление в /move для ребенка узла walk отменят транзакции на / , /move и /move/walk и в любых дочерних узлах под /move/walk . Но он больше не будет отменять транзакции на узлах одного уровня, таких как /move/run .

Версия 4.0.2 - 15 ноября 2016 г.

  • Это обновление восстанавливает совместимость с Java 7 для Admin Java SDK.

Версия 4.0.1 - 8 ноября 2016 г.

  • Исправлена ​​проблема с отсутствующей зависимостью в JAR 4.0.0 которой API базы данных не работал.
  • Эта версия была скомпилирована для Java 8 и не поддерживает Java 7. Это было исправлено в версии 4.0.2 .

Версия 4.0.0 - 7 ноября 2016 г.

  • SDK Admin Java (доступный в Maven как firebase-admin ) заменяет ранее существовавший пакет Maven firebase-server-sdk , который теперь устарел. См. Добавление Firebase Admin SDK на ваш Сервер, чтобы начать.
  • В этой версии отсутствует зависимость, из-за которой API базы данных не работает. Это было исправлено в версии 4.0.1 .
  • Эта версия была скомпилирована для Java 8 и не поддерживает Java 7. Это было исправлено в версии 4.0.2 .

Аутентификация

  • Метод createCustomToken() теперь асинхронный, возвращая Task<String> вместо String .