Firebase Summit 2018: коротко о главном

в 7:53, , рубрики: firebase, Firebase Analytics, firebase cloud messaging, Firebase Remote Config, Firebase Storage, Firebase Test Lab, Google Cloud Platform, machine learning, TensorFlow, Блог компании Mail.Ru Group, машинное обучение, Разработка под android, разработка под iOS

Firebase Summit 2018: коротко о главном - 1

В конце прошлого месяца в Праге прошла конференция Firebase Summit 2018, посвященная сервисам Firebase, многие из которых сейчас претендуют на звание стандарта в индустрии разработки мобильных приложений. Постараюсь хоть и с задержкой, но рассказать о том, что интересного удалось услышать и увидеть. В этой статье мы рассмотрим анонсы (перевод официального пресс-релиза) с моими правками и комментариями.

Краткое описание некоторых сервисов Firebase, о которых далее пойдет речь.
Firebase Summit 2018: коротко о главном - 2
Полный перечень сервисов Firebase.

  • Firebase Remote Config – облачный сервис для удаленной настройки конфигурации приложения.
  • Firebase ML Kit – облачный сервис для использования моделей машинного обучения в мобильном приложении. Доступны как высокоточные, предварительно обученные модели глубокого машинного обучения, так и кастомные модели.
  • Firebase Cloudstore – масштабируемая облачная NoSQL база данных.
  • Firebase Realtime Database – облачная NoSQL база данных реального времени.
  • Firebase Test Lab – облачная ферма устройств для тестирования мобильных приложений.
  • Firebase Performance Monitoring – облачный сервис для мониторинга ключевых показателей производительности в мобильных приложениях.
  • Firebase Crashlytics – облачный сервис для отслеживания и анализа багов в мобильном приложении.
  • Firebase Cloud Messaging – облачный сервис для отправки push-уведомлений в мобильные приложения.

Основные анонсы:

  • Поддержка сервисов Firebase в ближайшее время войдет в пакет поддержки Google Cloud Platform.
  • Опубликован Firebase Management API, новый сервис, который позволяет программно управлять проектами Firebase.
  • Обновленная модель для распознавания лиц в ML Kit теперь определяет более 100 ключевых точек на лице.
  • Функция конвертации и сжатия TensorFlow-моделей перешла в альфа-тестирование.
  • Выпущены локальные эмуляторы для Cloud Firestore и Realtime Database.
  • В Cloud Functions добавили триггеры Remote Config.
  • Ферма устройств Test Lab для iOS вышла из тестирования в общий доступ.
  • В Performance Monitoring добавили более детальный анализ пользовательских сессий.
  • Добавлена интеграция Crashlytics с PagerDuty и BigQuery, опубликованы шаблоны для визуализации данных в Data Studio.
  • Сервис Predictions вышел из тестирования в общий доступ.
  • Добавлены новые настройки для работы с аудиториями в Google Analytics for Firebase.
  • В Firebase Cloud Messaging добавили возможность настройки автоматических таргетированных рассылок.

Ниже вы можете найти более подробную информацию про каждый из анонсов.

Служба поддержки сервисов Firebase

Поддержка сервисов Firebase войдет в пакет поддержки Google Cloud Platform (GCP), а бета-версия саппорта будет доступна к концу года. Если у вас уже приобретен пакет поддержки GCP, бета-версия позволит задавать вопросы по Firebase через канал поддержки GCP без дополнительной платы. Как только функция станет общедоступной, будут введены гарантированное время отклика и техническая поддержка корпоративных клиентов. Подробную информацию о поддержке GCP можно найти здесь.

Если вы хотели бы и дальше работать с бесплатной поддержкой Firebase, не переживайте, Firebase не планирует реформировать текущую модель. Один из наиболее распространенных способов взаимодействия с Firebase сейчас – их официальный форум в Slack, если вы его еще не видели, советую ознакомиться.

Инструменты для разработки

Управление проектами Firebase при помощи Firebase Management API

Команда Firebase запустила Firebase Management API – REST API, который позволяет создавать проекты Firebase и управлять ими программным путем. Management API предназначен для более глубокой интеграции экосистемы Firebase в существующий в компании рабочий процесс. Кроме того, Management API позволит партнерским сервисам облегчить взаимодействие с экосистемой Firebase. К примеру, теперь есть возможность выполнять развертывание проектов на хостинг Firebase напрямую через среды разработки StackBlitz и Glitch. Их платформы автоматически распознают создаваемое Firebase приложение и предложат вам развернуть их на хостинг Firebase, не покидая самой платформы. Самое крутое, что эта функция доступна не только партнерам, а всем пользователям Firebase. Узнать о ней больше и начать работу можно здесь.

Firebase Summit 2018: коротко о главном - 3
Развёртывание Firebase-проекта в StackBlitz.

Улучшенное распознавание лиц в ML Kit

Набор инструментов ML Kit, представленный на конференции Google I/O в мае, делает машинное обучение простым и доступным для всех разработчиков вне зависимости от их опыта. Если эта область вам не очень знакома, можете пользоваться встроенными API для распознавания, например, текста или лиц. Если же у вас имеется опыт в машинном обучении, можете загрузить собственные модели TensorFlow Lite и поддерживать их через Firebase.

На Firebase Summit был представлен обновленный API для распознавания лиц. В рамках бета-версии в него добавили определение контуров лица, позволяющее идентифицировать более ста точек на лице и вокруг него. Функция позволит, к примеру, с высокой точностью накладывать на лица маски или проводить ретушь: сглаживание кожи или изменение тона. Узнать больше можно из документации.

Firebase Summit 2018: коротко о главном - 4
Определение контуров лица с помощью ML Kit.

Альфа-версия конвертации и сжатия TensorFlow-моделей в ML Kit

На Google I/O была анонсирована автоматическая конвертация TensorFlow-моделей в TensorFlow Lite с параллельным сжатием, которая теперь вышла в альфа-тестирование. Эта фича основана на технологии Learn2Compress, подробнее о ней можно почитать в блоге Google. В качестве примера использования была приведена социальная платформа Fishbrain, которой удалось сжать модель для классификации изображений с 80 Мб до 860 Кб, при этом сохранив показатели точности примерно на том же уровне. Несмотря на то, что в официальном пресс-релизе эта фича не обозначена, про нее можно узнать из записи выступления на конференции.

Firebase Summit 2018: коротко о главном - 5
Конвертация TensorFlow-модели в TensorFlow Lite и параллельное сжатие.

Локальные эмуляторы для Cloud Firestore и Realtime Database

Тестирование приложений может представлять сложности, особенно если в них используются файловые хранилища и базы данных Firebase. К примеру, достаточно трудоемкой задачей является настройка правил доступа к информации в Realtime Database, которую приходилось тестировать сразу в продакшене. Для решения этих проблем были запущены локальные эмуляторы для Cloud Firestore и Realtime Database. Эмуляторы позволяют разрабатывать и тестировать локально, а также могут быть встроены в процесс тестирования и непрерывной интеграции. Подробнее об эмуляторах можно почитать здесь.

Интеграция Remote Config и Cloud Functions: обновляем конфигурацию в режиме реального времени

Firebase Remote Config достаточно удобен для удаленного управления конфигурацией приложения, к примеру, для кастомизации интерфейса, проведения A/B тестов и раскатки новых фич без обновления приложения в Google Play. Однако механизм получения конфигурационных данных на клиенте нельзя было назвать гибким: по-умолчанию информация обновлялась не чаще, чем раз в N часов. Это обеспечивало значительную задержку между временем публикации обновления в конфигурации и моментом, когда пользователь его получит.

В Cloud Functions for Firebase были добавлены триггеры на события Firebase Remote Config, что теперь позволяет при внесении каких-либо изменений в Remote Config инициировать вызов функции-обработчика в Cloud Functions.

К примеру, с помощью этой фичи теперь можно обновлять конфигурацию Remote Config на клиентских приложениях в режиме реального времени. Для этого при изменении конфигурационных данных следует отправлять пуш через Firebase Cloud Messaging на клиентское приложение, чтобы оно, в свою очередь, обновило Remote Config. Подробная инструкция о том, как это сделать, находится тут.

Firebase Summit 2018: коротко о главном - 6
Обновление Remote Config в мобильных приложениях в режиме реального времени.

Инструменты для повышения качества приложения

Релиз-версия Test Lab на iOS

Бета-тестирование Firebase Test Lab для iOS, объявленное на Google I/O, официально завершено, Firebase открыл общий доступ к Test Lab для iOS. Помимо этого, за последние месяцы была увеличена ферма iOS-устройств, добавлена поддержка iOS 12 и более старых версий системы. Больше информации в документации.

Firebase Summit 2018: коротко о главном - 7
Test Lab на iOS.

Performance Monitoring: анализ сессий и работа с багами

В Performance Monitoring добавили возможность анализировать трассировку индивидуального стека пользователя чтобы понять, что именно предшествовало снижению производительности. К примеру, на скриншоте ниже видно, что загрузка процессора скакнула, когда приложение загружало и отрисовывало на экране логотип продукта. Эта информация подскажет, в каком участке кода искать ошибку.

Firebase Summit 2018: коротко о главном - 8
Анализ сессии пользователя в Performance Monitoring.

С обилием информации и множеством проблем, которые помогает найти Performance Monitoring, бывает трудно расставить приоритеты. Именно для этого команда Firebase добавила функциональность для работы с багами, а именно возможность отключить оповещения о проблеме, закрыть проблему или открыть проблему заново. Отключение оповещений позволяет отвлечься от проблемы и сосредоточиться на других задачах. Пометка «закрыто» означает, что проблема решена, но если она вернется, то Firebase автоматически пришлет уведомление. Более подробную информацию о новых возможностях Performance Monitoring можно найти здесь.

Интеграция Crashlytics с PagerDuty

Помимо новой email-рассылки с отчетом о стабильности приложения, Crashlytics получил интеграцию с PagerDuty. Дайджест укажет на возникающие проблемы, которые могут доставить немало неприятностей в будущем, а интеграция с PagerDuty позволит уведомить своих коллег в случае кризисной ситуации в любое удобное время. О том, как провести интеграцию, читайте здесь.

Интеграция Crashlytics c BigQuery и Data Studio

Несколько месяцев назад была завершена интеграция Crashlytics с BigQuery, с помощью которой теперь можно производить более глубокий анализ данных о сбоях приложения. Чтобы облегчить начало работы с BigQuery, Firebase опубликовал шаблон Data Studio, с которым можно быстро сгенерировать отчет и поделиться им с командой. Подробная информация по ссылке.

Firebase Summit 2018: коротко о главном - 9
Шаблон для Data Studio.

Инструменты для работы с аналитикой

Релиз-версия Predictions

На прошлогодней конференции Firebase Summit был представлен сервис Firebase Predictions, который по данным из Firebase Analytics сегментирует пользователей относительно прогнозируемого действия, используя методы машинного обучения.

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

На конференции было объявлено о том, что Predictions выходит из бета-версии в общий доступ и получит целый ряд новых функций. Во-первых, для каждого прогноза добавится расширенная информация об учтенных моделью факторах (события, устройство, пользовательские данные и т.д.). Во-вторых, к каждому отчету будет прилагаться инфографика качества прогноза, по которой можно будет отследить, какие прогнозы оправдались лучше остальных. И, в-третьих, для желающих получить более глубокий анализ прогнозов или использовать данные в работе с другими сервисами, будет доступен экспорт спрогнозированных данных в BigQuery. Подробности по ссылке.

Firebase Summit 2018: коротко о главном - 10
Прогноз в Firebase Predictions.

Обновленные аудитории в Google Analytics for Firebase

Если раньше разбиение пользователей на аудитории в Google Analytics for Firebase осуществлялось в зависимости от событий, типа устройства и других статичных характеристик, то теперь появляется несколько принципиально новых настроек.

  • Динамичные аудитории. Теперь аудитории динамичны по умолчанию: Firebase будет автоматически включать в них подходящих пользователей и исключать тех, кто уже не подпадает под заданные критерии. Например, если вы ориентируете рекламу на пользователей, дошедших до 5 уровня в вашей игре, то пользователи, дошедшие до 6 уровня, автоматически будут исключены. Аналогичным образом пользователи, добравшиеся до 5 уровня, войдут в нужный сегмент.
  • Критерии исключения из аудитории. Теперь можно фильтровать аудиторию, добавляя критерии исключения, которые позволят формировать аудитории наподобие «пользователи, добавившие товар в корзину, но не купившие его».
  • Управление продолжительностью жизни пользователя в аудитории. Эта функция позволяет, к примеру, таргетироваться на пользователей, совершавших нужное вам действие в определенный период времени, например, «осуществляли покупку в последние две недели».

Получить дополнительную информацию и начать работу с обновленным сервисом можно здесь.

Автоматическая отправка таргетированных push-уведомлений в Cloud Messaging

Новый веб-интерфейс Firebase Cloud Messaging позволяет настраивать автоматическую рассылку push-уведомлений (в том числе периодических) при появлении новых пользователей, подходящих под заданные критерии. Например, можно отправлять уведомления по дате их первого или последнего запуска приложения. Также был обновлен экран эффективности push-рассылок. Познакомьтесь с новым UI поближе.

Firebase Summit 2018: коротко о главном - 11
Настройка расписания для отправки push-уведомлений в Firebase Cloud Messaging.

А где посмотреть?

Все доклады доступны на YouTube, краткий видео-обзор на ключевые анонсы можно найти здесь.

Автор: Сергей Сметанин

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js