Что я могу делать с облачными функциями?

Cloud Functions предоставляет разработчикам доступ к событиям Firebase и Google Cloud, а также масштабируемые вычислительные мощности для запуска кода в ответ на эти события. Хотя ожидается, что приложения Firebase будут использовать облачные функции уникальными способами для удовлетворения своих уникальных требований, типичные варианты использования могут относиться к следующим областям:

Просмотрите примеры использования и примеры для каждой категории , которая вас интересует, а затем приступить к нашему приступить к работе учебник или на конкретные практические руководства для событий аутентификации , аналитика событий и многое другое. См eventType ссылки API для полного списка поддерживаемых типов событий.

Уведомлять пользователей, когда происходит что-то интересное

Разработчики могут использовать облачные функции, чтобы поддерживать заинтересованность пользователей и получать актуальную информацию о приложении. Рассмотрим, например, приложение, которое позволяет пользователям следить за действиями друг друга в приложении. Каждый раз, когда пользователь добавляет себя в качестве последователя другого пользователя, в базу данных реального времени происходит запись. Затем это событие записи может вызвать функцию создания уведомлений Firebase Cloud Messaging (FCM), чтобы соответствующие пользователи знали, что у них появились новые подписчики.

Диаграмма, показывающая поток приложения, описанный ниже

  1. Функция запускается при записи в путь к базе данных реального времени, где хранятся подписчики.
  2. Функция компонует сообщение для отправки через ТСМ.
  3. ТСМ посылает сообщение уведомления на устройство пользователя.

Для просмотра рабочего кода, см уведомления Send ТСМ .

Другие интересные варианты использования уведомлений

Выполнение очистки и обслуживания базы данных

С помощью обработки событий базы данных Cloud Functions вы можете изменять базу данных Realtime или Cloud Firestore в ответ на поведение пользователя, поддерживая систему в актуальном состоянии и в чистоте. Например, в приложении для комнаты чата вы можете отслеживать события записи и удалять неприемлемый или непристойный текст из сообщений пользователей. Вот как это могло сработать:

Диаграмма, показывающая поток приложения, описанный ниже

  1. Обработчик событий базы данных функции прослушивает события записи по определенному пути и извлекает данные о событиях, содержащие текст любых сообщений чата.
  2. Функция обрабатывает текст, чтобы обнаружить и удалить любой несоответствующий язык.
  3. Функция записывает обновленный текст обратно в базу данных.

Для просмотра рабочего кода, см Текст Модераторов образца. Этот образец очищает ненормативную лексику, а также "крики" в верхнем регистре в сообщениях чата.

Другие варианты использования очистки и обслуживания базы данных

Выполняйте интенсивные задачи в облаке, а не в приложении

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

Диаграмма, показывающая поток приложения, описанный ниже

  1. Функция срабатывает, когда файл изображения загружается в облачное хранилище.
  2. Функция загружает изображение и создает его уменьшенную версию.
  3. Функция записывает это местоположение эскиза в базу данных, чтобы клиентское приложение могло его найти и использовать.
  4. Функция загружает эскиз обратно в облачное хранилище в новом месте.
  5. Приложение загрузит ссылку на миниатюру.

Для ознакомления с на примере обработки изображений , см Ручки для хранения событий .

Другие примеры пакетных заданий в облаке Firebase

Интеграция со сторонними сервисами и API

Облачные функции могут помочь вашему приложению лучше работать с другими сервисами, вызывая и открывая веб-API. Например, приложение, используемое для совместной работы над разработкой, может публиковать коммиты GitHub в чате рабочей группы.

Диаграмма, показывающая поток приложения, описанный ниже

  1. Пользователь отправляет коммиты в репозиторий GitHub.
  2. Функция HTTPS спусковые через GitHub webhook API .
  3. Функция отправляет уведомление о фиксации в канал Slack команды.

Другие способы интеграции со сторонними сервисами и API