Новости Firebase: 19–25 апреля

Привет, мир

Это статья 01 Новостей Firebase - серии статей, в которых вы можете найти самые свежие новости из мира Firebase. Каждые 1-2 недели будет публиковаться новая статья, в которой обсуждаются (большинство) изменений, внесенных в официальные инструменты, SDK, образцы приложений и некоторые сторонние библиотеки. Также ожидайте увидеть, что нового: официальный блог Firebase, публикация Firebase Developers Medium, канал Firebase Youtube и сайт Firebase с открытым исходным кодом.

Отказ от ответственности: я не работаю на Firebase, Google или другие упомянутые здесь организации. Взгляды, мысли и мнения, выраженные в этой статье, принадлежат исключительно мне, и не обязательно этим организациям.

SDK Firebase для Android

Начнем с Android SDK, одного из моих любимых.

Обновлена ​​куча библиотек из Android SDK. В первую очередь:

Аутентификацию получил библиотеку KTX

Общедоступность библиотек KTX была объявлена к концу марта 2020 года, а недавно Authentication получила свою библиотеку KTX.

Это означает, что если вы используете Kotlin для создания приложений Android, вы можете обновить свой код, сделав его более лаконичным и идиоматичным, используя некоторые функции языка Kotlin.
Чтобы начать работу с KTX аутентификации, просто добавьте суффикс -ktx к зависимость Gradle и убедитесь, что вы используете версию 19.3.1 или выше:

dependencies {
  // Other dependencies
  implementation "com.google.firebase:firebase-auth-ktx:19.3.1"
}

Это позволяет вам использовать некоторые из новых функций расширения:

Вы можете найти больше расширений, включенных в Auth KTX, в справочной документации.

Firebase Crashlytics SDK вышла из бета-версии

В этом году Firebase анонсировала новый Crashlytics SDK, который должен заменить Fabric’s Crashlytics. Новый SDK, который только что вышел из бета-версии, больше соответствует другим SDK Firebase и предлагает улучшенные API. Он также включает SDK для NDK и плагин gradle. Этот плагин Gradle должен заменить предыдущий плагин Fabric, который был необходим для использования Crashlytics SDK.

Что мне лично нравится в этом SDK, так это то, что он предлагает Singleton, как и все другие библиотеки Firebase. Это упрощает имитацию экземпляра Crashlytics при написании тестов для вашего приложения. Итак, вместо Fabric.with(getContext(), Crashlytics()) вы теперь будете использовать FirebaseCrashlytics.getInstance().

А чтобы узнать, как перейти на новый SDK Firebase Crashlytics, вы можете ознакомиться с руководством по миграции.

Приращения значений атомарного поля для базы данных реального времени

Это функция, на которую я надеялся. Как вы, возможно, знаете, сложно сохранить счетчики или любое другое поле, которое может подвергаться одновременным изменениям. Чтобы решить эту проблему, вы можете либо использовать облачные функции, либо обновить свои поля с помощью транзакций. Начиная с версии 19.3.0, теперь вы можете использовать ServerValue.increment(double) для атомарного увеличения счетчиков.

Например, если вы хотите увеличить счет пользователя в базе данных, вы можете просто сделать:

val reference: DatabaseReference = ...
reference.child("userId").updateChildren(
  hashMapOf("score" to ServerValue.increment(5)) //incrementing by 5
)

SDK Firebase для iOS

Очевидно, что iOS SDK нельзя было оставить без внимания. Как и Android SDK, в нем также есть:

SDK для администрирования сервера

Node.js

  • Поскольку этот SDK зависит от клиентского SDK JavaScript, он унаследовал admin.database.ServerValue.increment() для приращений значений атомарных полей.
  • ML Kit для Firebase теперь предоставляет API для создания, обновления, получения, перечисления, публикации, отмены публикации и удаления пользовательских моделей машинного обучения, размещенных в Firebase. Вы можете использовать этот API, позвонив admin.machineLearning(), чтобы узнать больше в Документации Firebase.
  • Еще один API, который был недавно добавлен, - это Remote Config API, который позволяет разработчикам программно управлять набором параметров и условий в формате JSON, известным как шаблон Remote Config. API может использоваться admin.remoteConfig(), и вы можете увидеть все доступные функции в Справочной документации.

Python

Подобно Node.js Admin SDK, Python Admin SDK также имеет api для управления размещенными модулями машинного обучения. Вы можете использовать его, импортировав модуль ml: from firebase_admin import ml. Подробнее об использовании см. Документация Firebase.

.СЕТЬ

В Admin .NET Authentication SDK есть 2 новых API: RevokeRefreshTokensAsync() для отзыва любых ранее выданных токенов обновления для пользователя и VerifyIdTokenAsync() для проверки, был ли данный токен идентификатора отозван с момента его выпуска.

Расширения Firebase

storage-resize-images теперь поддерживает WebP

Расширение storage-resize-images поддерживалось модулем npm imagemagick, который не включает поддержку WebP. Чтобы обеспечить поддержку WebP, команда расширений изменила расширение, чтобы вместо него использовать резкий модуль npm. Это изменение входит в версию 0.1.6 расширения. См. Документацию, чтобы узнать, как обновлять расширения.

Канал Firebase на YouTube

Было опубликовано новое видео из Создание приложения со списком дел с SwiftUI и Firebase Semi-live Series. На этом Питер Фризе показывает, как реализовать вход с помощью Apple на iOS с использованием аутентификации Firebase, чтобы пользователи могли входить в систему с Apple ID.

[Бонус] Виртуальные встречи Firebase

В этом месяце Firebase также провела серию Виртуальных встреч, нацеленных на объединение пользователей Firebase и разработчиков в интимных онлайн-настройках.
На прошлой неделе они провели Создание безопасных приложений с помощью Firebase с отличной презентацией от Megha Bangalore, а на этой неделе, 29 апреля, они проведут мероприятие Достижение непрерывного развертывания с помощью Firebase Remote Config с Стивом Уилбером. Вы можете увидеть расписание будущих встреч и / или зарегистрироваться для участия на их сайте.

На этой неделе все. Ниже вы можете найти другие второстепенные выпуски, которые произошли за последнюю неделю.

Как было сказано в начале статьи, это первая из серии. Пожалуйста, дайте мне знать в комментариях, было ли это полезно для вас и что вы хотели бы видеть здесь.

Совет от Чету Хаасе за потрясающую работу, которую он проделал с серией блогов, видео и подкастов Now In Android, которая послужила источником вдохновения для создания этой серии.

Другие второстепенные релизы

Android

  • Аналитика 17.4.0 - исправление ошибок и прекращение поддержки приемника Install Referrer Broadcast;
  • Cloud Firestore 21.4.3 - ограничено количество одновременных поисков документов, которые он будет выполнять при устранении несоответствий в локальном кэше.
  • Cloud Messaging 20.1.6 - Исправлены ошибки.
  • In-App-Messaging и In-App-Messaging Display 19.0.6 - исправлены ошибки.
  • Firebase Instance IID 20.1.6 - улучшена FirebaseOptions валидация. Это может показаться незначительным изменением, но оно может показать вам некоторые ошибки, если вы не предоставите api key, app id и project id. В некоторых случаях повторная загрузка файла google-services.json из консоли Firebase может помочь исправить ошибки.
  • MLKit Common 22.1.1, Predictions 19.0.7 и Remote Config 19.1.4 - внутренние изменения для последующего перехода с Firebase Instance IID на Firebase Installations.

iOS

Исправления ошибок и внутренние изменения в модулях: Аналитика, Auth, Cloud Firestore, In App Messaging, FCM и Storage.

JavaScript (Интернет) 7.14.2

  • Cloud Firestore теперь отклоняет операции записи, если они не могут быть сохранены в IndexedDB. Раньше из-за этих ошибок происходил сбой клиента. Это также должно исправить больше сбоев, связанных с IndexedDB.
  • Облачный обмен сообщениями - изменено для сравнения имени хоста, а не всего URL-адреса, чтобы определить, есть ли соответствующий оконный клиент.

Единство 6.14.0

  • Cloud Firestore - Firestore.LoggingEnabled заменен на Firestore.LogLevel для согласованности с другими API Firebase Unity, а его получатель удален.
  • Crashlytics - (iOS) Удалены ссылки на API UIWebView для предотвращения отказов в App Store.

SDK для администрирования сервера

  • "Узел. Auth »- выставлены поля email, email_verified, phone_number и picture из типа DecodedIdToken.
  • Go 3.12.1 - отложенная загрузка учетных данных до тех пор, пока не потребуется, что позволяет вызывать некоторые API, такие как auth.VerifyIDToken(), без учетных данных.
    - Cloud Firestore обновил удаленную конечную точку, используемую операциями управления темами.

Расширения Firebase

Облачные функции

  • Cloud Functions v3.6.1 - обновляет зависимость TypeScript для исправления проблем сборки.

Firebase CLI

  • Firebase Tools v8.1.1 - исправляет ошибку при развертывании облачных функций для Firebase из подкаталога проекта.