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

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

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

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

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

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

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

Для просмотра рабочего кода см. Отправка уведомлений FCM .

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

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

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

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

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

Чтобы просмотреть рабочий код, см. пример Text Moderation . В этом образце исправлены ненормативная лексика, а также «крики» в верхнем регистре в сообщениях чата.

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

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

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

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

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

Пошаговое руководство по примеру обработки изображений см. в разделе Обработка событий хранения .

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

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

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

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

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

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