Cloud Functions предоставляет разработчикам доступ к событиям Firebase и Google Cloud , а также масштабируемые вычислительные мощности для выполнения кода в ответ на эти события. Хотя ожидается, что приложения Firebase будут использовать Cloud Functions уникальным образом для удовлетворения своих уникальных требований, типичные сценарии использования могут относиться к следующим областям:
- Уведомлять пользователей о происходящих интересных событиях .
- Выполните очистку и обслуживание базы данных .
- Выполняйте ресурсоемкие задачи в облаке, а не в своем приложении .
- Интеграция со сторонними сервисами и API .
Ознакомьтесь с вариантами использования и примерами для каждой интересующей вас категории, а затем перейдите к нашему руководству по началу работы или к конкретным инструкциям по событиям аутентификации , аналитическим событиям и многому другому.
Уведомлять пользователей о происходящих интересных событиях
Разработчики могут использовать Cloud Functions , чтобы поддерживать вовлеченность пользователей и предоставлять им актуальную информацию о приложении. Рассмотрим, например, приложение, позволяющее пользователям следить за действиями друг друга. Каждый раз, когда пользователь добавляет себя в качестве подписчика другого пользователя, происходит запись в Realtime Database . Затем это событие записи может запустить функцию для создания уведомлений Firebase Cloud Messaging (FCM), чтобы сообщить соответствующим пользователям о появлении новых подписчиков.

- Функция срабатывает при записи в путь Realtime Database где хранятся данные о подписчиках.
- Функция формирует сообщение для отправки через FCM .
- FCM отправляет уведомление на устройство пользователя.
Чтобы проверить работоспособность кода, ознакомьтесь с примером кода на GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Другие интересные варианты использования уведомлений
- Отправляйте подтверждающие письма пользователям, подписавшимся на новостную рассылку.
- Отправьте приветственное письмо после завершения регистрации пользователя.
- При создании пользователем новой учетной записи отправляйте SMS-подтверждение.
Выполнить очистку и обслуживание базы данных.
Благодаря обработке событий базы данных Cloud Functions вы можете изменять Realtime Database или Cloud Firestore в ответ на действия пользователей, поддерживая систему в желаемом состоянии. Например, вы можете отслеживать события записи и изменять формат (например, набирать заглавные буквы) определенных строк в сообщениях пользователей. Вот как это может работать:

- Обработчик событий базы данных этой функции прослушивает события записи по определенному пути и извлекает данные события, содержащие текст сообщения.
- Функция обрабатывает текст, преобразуя строки в верхний регистр.
- Функция записывает обновленный текст обратно в базу данных.
Чтобы проверить работоспособность кода, ознакомьтесь с примером кода на GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
Другие варианты использования для очистки и обслуживания баз данных
- Удалите содержимое удаленного пользователя из Realtime Database .
- Ограничьте количество дочерних узлов в базе данных Firebase.
- Отслеживайте количество элементов в списке Realtime Database .
- Копирование данных из Realtime Database в Google Cloud BigQuery.
- Преобразовать текст в эмодзи.
- Управление вычисляемыми метаданными для записей базы данных.
Выполняйте ресурсоемкие задачи в облаке, а не в своем приложении.
Вы можете использовать Cloud Functions для переноса ресурсоемких задач (требующих больших вычислительных мощностей или сети) в облако Google, вместо запуска их на устройстве пользователя, что повысит скорость отклика вашего приложения. Например, вы можете написать функцию, которая будет отслеживать загрузку изображений в Cloud Storage , загружать изображение на экземпляр, на котором запущена функция, изменять его и загружать обратно в Cloud Storage . Ваши изменения могут включать изменение размера, обрезку или преобразование изображений с помощью таких инструментов, как Sharp или Pillow .

- Функция срабатывает при загрузке файла изображения в Cloud Storage .
- Функция загружает изображение и создает его уменьшенную версию.
- Эта функция записывает местоположение миниатюры в базу данных, чтобы клиентское приложение могло найти и использовать её.
- Эта функция загружает миниатюру обратно в Cloud Storage в новое место.
- Приложение загружает ссылку на миниатюру.
Для ознакомления с примером обработки изображений см. руководство по обработке событий Cloud Storage .
Другие примеры пакетных заданий в облаке Firebase.
- Периодически удаляйте неиспользуемые учетные записи Firebase в Node.js | Python .
- Автоматическое резервное копирование загруженных изображений в Node.js | Python .
- Отправляйте пользователям массовые электронные письма.
- Периодически собирайте и обобщайте данные.
- Обработать очередь ожидающих задач.
Интеграция со сторонними сервисами и API.
Cloud Functions может помочь вашему приложению лучше взаимодействовать с другими сервисами, вызывая и предоставляя доступ к веб-API. Например, приложение, используемое для совместной разработки, может публиковать коммиты GitHub в чате рабочей группы.

- Пользователь отправляет коммиты в репозиторий GitHub.
- Функция HTTPS запускается через API веб-перехватчиков GitHub .
- Функция отправляет уведомление о коммите в командный канал Slack.
Другие способы интеграции со сторонними сервисами и API.
- Используйте API Google Cloud Vision для анализа и добавления тегов к загруженным изображениям.
- Переводите сообщения с помощью Google Переводчика.
- Используйте пользовательскую аутентификацию для входа пользователей в систему.
- Отправьте запрос на веб-перехватчик при записи в Realtime Database .
- Включить полнотекстовый поиск по элементам Realtime Database .
- Обрабатывать платежи от пользователей.
- Создавайте автоматические ответы на телефонные звонки и SMS-сообщения.
- Создайте чат-бота с помощью Google Ассистента.