Новости 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, в нем также есть:
- Новый Crashlytics SDK вышел из стадии бета-тестирования;
- Приращение значений атомарного поля базы данных Realtime с
ServerValue.increment()
.
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
- Firestore-bigquer-export-v0.1.4 - исправления ошибок
Облачные функции
- Cloud Functions v3.6.1 - обновляет зависимость TypeScript для исправления проблем сборки.
Firebase CLI
- Firebase Tools v8.1.1 - исправляет ошибку при развертывании облачных функций для Firebase из подкаталога проекта.