- PVSM.RU - https://www.pvsm.ru -
В конце прошлого месяца в Праге прошла конференция Firebase Summit 2018, посвященная сервисам Firebase, многие из которых сейчас претендуют на звание стандарта в индустрии разработки мобильных приложений. Постараюсь хоть и с задержкой, но рассказать о том, что интересного удалось услышать и увидеть. В этой статье мы рассмотрим анонсы (перевод официального пресс-релиза [1]) с моими правками и комментариями.
Основные анонсы:
Ниже вы можете найти более подробную информацию про каждый из анонсов.
Поддержка сервисов Firebase войдет в пакет поддержки Google Cloud Platform (GCP), а бета-версия саппорта будет доступна к концу года. Если у вас уже приобретен пакет поддержки GCP, бета-версия позволит задавать вопросы по Firebase через канал поддержки GCP без дополнительной платы. Как только функция станет общедоступной, будут введены гарантированное время отклика и техническая поддержка корпоративных клиентов. Подробную информацию о поддержке GCP можно найти здесь [2].
Если вы хотели бы и дальше работать с бесплатной поддержкой Firebase, не переживайте, Firebase не планирует реформировать текущую модель [3]. Один из наиболее распространенных способов взаимодействия с Firebase сейчас – их официальный форум в Slack [4], если вы его еще не видели, советую ознакомиться.
Команда Firebase запустила Firebase Management API – REST API, который позволяет создавать проекты Firebase и управлять ими программным путем. Management API предназначен для более глубокой интеграции экосистемы Firebase в существующий в компании рабочий процесс. Кроме того, Management API позволит партнерским сервисам облегчить взаимодействие с экосистемой Firebase. К примеру, теперь есть возможность выполнять развертывание проектов на
Развёртывание Firebase-проекта в StackBlitz.
Набор инструментов ML Kit, представленный [9] на конференции Google I/O в мае, делает машинное обучение простым и доступным для всех разработчиков вне зависимости от их опыта. Если эта область вам не очень знакома, можете пользоваться встроенными API для распознавания, например, текста или лиц. Если же у вас имеется опыт в машинном обучении, можете загрузить собственные модели TensorFlow Lite и поддерживать их через Firebase.
На Firebase Summit был представлен обновленный API для распознавания лиц. В рамках бета-версии в него добавили определение контуров лица, позволяющее идентифицировать более ста точек на лице и вокруг него. Функция позволит, к примеру, с высокой точностью накладывать на лица маски или проводить ретушь: сглаживание кожи или изменение тона. Узнать больше можно из документации.
Определение контуров лица с помощью ML Kit.
На Google I/O была анонсирована автоматическая конвертация TensorFlow-моделей в TensorFlow Lite с параллельным сжатием, которая теперь вышла в альфа-тестирование. Эта фича основана на технологии Learn2Compress, подробнее о ней можно почитать в блоге Google [10]. В качестве примера использования была приведена социальная платформа Fishbrain, которой удалось сжать модель для классификации изображений с 80 Мб до 860 Кб, при этом сохранив показатели точности примерно на том же уровне. Несмотря на то, что в официальном пресс-релизе эта фича не обозначена, про нее можно узнать из записи выступления [11] на конференции.
Конвертация TensorFlow-модели в TensorFlow Lite и параллельное сжатие.
Тестирование приложений может представлять сложности, особенно если в них используются файловые хранилища и базы данных Firebase. К примеру, достаточно трудоемкой задачей является настройка правил доступа к информации в Realtime Database, которую приходилось тестировать сразу в продакшене. Для решения этих проблем были запущены локальные эмуляторы для Cloud Firestore [12] и Realtime Database [13]. Эмуляторы позволяют разрабатывать и тестировать локально, а также могут быть встроены в процесс тестирования и непрерывной интеграции. Подробнее об эмуляторах можно почитать здесь [14].
Firebase Remote Config достаточно удобен для удаленного управления конфигурацией приложения, к примеру, для кастомизации интерфейса, проведения A/B тестов и раскатки новых фич без обновления приложения в Google Play. Однако механизм получения конфигурационных данных на клиенте нельзя было назвать гибким: по-умолчанию информация обновлялась не чаще, чем раз в N часов. Это обеспечивало значительную задержку между временем публикации обновления в конфигурации и моментом, когда пользователь его получит.
В Cloud Functions for Firebase были добавлены триггеры [15] на события Firebase Remote Config, что теперь позволяет при внесении каких-либо изменений в Remote Config инициировать вызов функции-обработчика в Cloud Functions.
К примеру, с помощью этой фичи теперь можно обновлять конфигурацию Remote Config на клиентских приложениях в режиме реального времени. Для этого при изменении конфигурационных данных следует отправлять пуш через Firebase Cloud Messaging на клиентское приложение, чтобы оно, в свою очередь, обновило Remote Config. Подробная инструкция о том, как это сделать, находится тут [16].
Обновление Remote Config в мобильных приложениях в режиме реального времени.
Бета-тестирование Firebase Test Lab для iOS, объявленное на Google I/O, официально завершено, Firebase открыл общий доступ к Test Lab для iOS. Помимо этого, за последние месяцы была увеличена ферма iOS-устройств, добавлена поддержка iOS 12 и более старых версий системы. Больше информации в документации [17].
Test Lab на iOS.
В Performance Monitoring добавили возможность анализировать трассировку индивидуального стека пользователя чтобы понять, что именно предшествовало снижению производительности. К примеру, на скриншоте ниже видно, что загрузка процессора скакнула, когда приложение загружало и отрисовывало на экране логотип продукта. Эта информация подскажет, в каком участке кода искать ошибку.
Анализ сессии пользователя в Performance Monitoring.
С обилием информации и множеством проблем, которые помогает найти Performance Monitoring, бывает трудно расставить приоритеты. Именно для этого команда Firebase добавила функциональность для работы с багами, а именно возможность отключить оповещения о проблеме, закрыть проблему или открыть проблему заново. Отключение оповещений позволяет отвлечься от проблемы и сосредоточиться на других задачах. Пометка «закрыто» означает, что проблема решена, но если она вернется, то Firebase автоматически пришлет уведомление. Более подробную информацию о новых возможностях Performance Monitoring можно найти здесь [18].
Помимо новой email-рассылки с отчетом о стабильности приложения, Crashlytics получил интеграцию с PagerDuty. Дайджест укажет на возникающие проблемы, которые могут доставить немало неприятностей в будущем, а интеграция с PagerDuty позволит уведомить своих коллег в случае кризисной ситуации в любое удобное время. О том, как провести интеграцию, читайте здесь [19].
Несколько месяцев назад была завершена интеграция Crashlytics с BigQuery, с помощью которой теперь можно производить более глубокий анализ данных о сбоях приложения. Чтобы облегчить начало работы с BigQuery, Firebase опубликовал шаблон Data Studio, с которым можно быстро сгенерировать отчет и поделиться им с командой. Подробная информация по ссылке [20].
Шаблон для Data Studio.
На прошлогодней конференции Firebase Summit был представлен [21] сервис Firebase Predictions, который по данным из Firebase Analytics сегментирует пользователей относительно прогнозируемого действия, используя методы машинного обучения.
Это позволяет без погружения в анализ данных и машинное обучение получить представление о том, какие пользователи с большей вероятностью откажутся от приложения, а какие совершат покупку или выполнят любое другое конверсионное действие.
На конференции было объявлено о том, что Predictions выходит из бета-версии в общий доступ и получит целый ряд новых функций. Во-первых, для каждого прогноза добавится расширенная информация об учтенных моделью факторах (события, устройство, пользовательские данные и т.д.). Во-вторых, к каждому отчету будет прилагаться инфографика качества прогноза, по которой можно будет отследить, какие прогнозы оправдались лучше остальных. И, в-третьих, для желающих получить более глубокий анализ прогнозов или использовать данные в работе с другими сервисами, будет доступен экспорт спрогнозированных данных в BigQuery. Подробности по ссылке [22].
Прогноз в Firebase Predictions.
Если раньше разбиение пользователей на аудитории в Google Analytics for Firebase осуществлялось в зависимости от событий, типа устройства и других статичных характеристик, то теперь появляется несколько принципиально новых настроек.
Получить дополнительную информацию и начать работу с обновленным сервисом можно здесь [23].
Новый веб-интерфейс Firebase Cloud Messaging позволяет настраивать автоматическую рассылку push-уведомлений (в том числе периодических) при появлении новых пользователей, подходящих под заданные критерии. Например, можно отправлять уведомления по дате их первого или последнего запуска приложения. Также был обновлен экран эффективности push-рассылок. Познакомьтесь с новым UI поближе [24].
Настройка расписания для отправки push-уведомлений в Firebase Cloud Messaging.
Все доклады доступны на YouTube [25], краткий видео-обзор на ключевые анонсы можно найти здесь [26].
Автор: Сергей Сметанин
Источник [27]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka-pod-ios/299118
Ссылки в тексте:
[1] официального пресс-релиза: https://firebase.googleblog.com/2018/10/whats-new-at-firebase-summit-2018.html
[2] можно найти здесь: https://cloud.google.com/support/
[3] текущую модель: https://firebase.google.com/support/
[4] Slack: https://firebase.community/
[5] хостинг: https://www.reg.ru/?rlink=reflink-717
[6] StackBlitz: https://medium.com/@ericsimons/announcing-split-second-static-deploys-for-firebase-7440d8e84879
[7] Glitch: https://medium.com/glitch/build-firebase-apps-instantly-on-glitch-e312e594701c
[8] здесь: https://firebase.google.com/docs/projects/api/reference/rest
[9] представленный: https://developers.googleblog.com/2018/05/introducing-ml-kit.html
[10] блоге Google: https://ai.googleblog.com/2018/05/custom-on-device-ml-models.html
[11] записи выступления: https://youtu.be/bTSWzddyL7E?t=1031
[12] Cloud Firestore: https://firebase.google.com/products/firestore
[13] Realtime Database: https://firebase.google.com/products/realtime-database/
[14] здесь: https://firebase.google.com/docs/firestore/security/test-rules-emulator
[15] добавлены триггеры: https://firebase.google.com/docs/functions/rc-events
[16] тут: https://firebase.google.com/docs/remote-config/propagate-updates-realtime
[17] документации: https://firebase.google.com/docs/test-lab/
[18] здесь: https://firebase.google.com/docs/perf-mon/issue-management
[19] читайте здесь: https://console.firebase.google.com/u/0/project/_/settings/integrations/pagerduty
[20] по ссылке: https://cloud.google.com/solutions/mobile/mobile-firebase-analytics-bigquery#visualizing_exported_crashlytics_data_with_data_studio
[21] был представлен: https://firebase.googleblog.com/2017/10/whats-new-at-firebase-dev-summit-2017.html
[22] по ссылке: https://firebase.google.com/docs/predictions/risk-profiles
[23] начать работу с обновленным сервисом можно здесь: https://support.google.com/firebase/answer/6317509
[24] Познакомьтесь с новым UI поближе: https://console.firebase.google.com/project/_/notification
[25] YouTube: https://www.youtube.com/playlist?list=PLl-K7zZEsYLnqdlmz7iFe9Lb6cRU3Nv4R
[26] здесь: https://www.youtube.com/watch?v=FuFgUzUVOFs
[27] Источник: https://habr.com/post/429684/?utm_source=habrahabr&utm_medium=rss&utm_campaign=429684
Нажмите здесь для печати.