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-уведомления
- Python: fcm-уведомления
Другие интересные варианты использования уведомлений
- Отправляйте письма-подтверждения пользователям, подписавшимся на рассылку новостей.
- Отправьте приветственное письмо после завершения регистрации пользователя.
- Отправлять SMS-подтверждение при создании пользователем новой учетной записи.
Выполнять очистку и обслуживание базы данных
Благодаря обработке событий базы данных Cloud Functions вы можете изменять Realtime Database или Cloud Firestore в зависимости от поведения пользователя, поддерживая систему в желаемом состоянии. Например, вы можете отслеживать события записи и изменять формат (например, переводить все буквы в верхний регистр) определённых строк в сообщениях пользователей. Вот как это может работать:
- Обработчик событий базы данных функции прослушивает события записи по определенному пути и извлекает данные событий, содержащие текст сообщений.
- Функция обрабатывает текст, изменяя регистр строк на верхний.
- Функция записывает обновленный текст обратно в базу данных.
Чтобы просмотреть рабочий код, посмотрите пример кода на GitHub:
- Node.js: заглавные буквы-rtdb
- Python: заглавные буквы-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 webhook .
- Функция отправляет уведомление о фиксации на канал команды Slack.
Другие способы интеграции со сторонними сервисами и API
- Используйте API Google Cloud Vision для анализа и маркировки загруженных изображений.
- Переводите сообщения с помощью Google Translate.
- Используйте пользовательскую аутентификацию для входа пользователей.
- Отправьте запрос на веб-перехватчик по записи в Realtime Database .
- Включить полнотекстовый поиск по элементам Realtime Database .
- Обработка платежей от пользователей.
- Создавайте автоматические ответы на телефонные звонки и SMS-сообщения.
- Создайте чат-бот с помощью Google Assistant.