Облачные функции предоставляют разработчикам доступ к событиям Firebase и Google Cloud, а также масштабируемую вычислительную мощность для запуска кода в ответ на эти события. Хотя ожидается, что приложения Firebase будут использовать облачные функции уникальными способами для удовлетворения своих уникальных требований, типичные варианты использования могут относиться к следующим областям:
- Сообщайте пользователям, когда происходит что-то интересное .
- Выполнение санитарной обработки и обслуживания базы данных .
- Выполняйте интенсивные задачи в облаке, а не в своем приложении .
- Интеграция со сторонними сервисами и API .
Ознакомьтесь с вариантами использования и примерами для каждой интересующей вас категории, а затем перейдите к нашему руководству по началу работы или к конкретным практическим руководствам по событиям аутентификации , событиям аналитики и т. д.
Уведомлять пользователей, когда происходит что-то интересное
Разработчики могут использовать облачные функции, чтобы поддерживать интерес пользователей и предоставлять актуальную информацию о приложении. Рассмотрим, например, приложение, которое позволяет пользователям следить за действиями друг друга в приложении. Каждый раз, когда пользователь добавляет себя в качестве подписчика другого пользователя, в базе данных реального времени происходит запись. Затем это событие записи может активировать функцию для создания уведомлений Firebase Cloud Messaging (FCM), чтобы соответствующие пользователи знали, что у них появились новые подписчики.
- Функция срабатывает при записи пути к базе данных реального времени, где хранятся подписчики.
- Функция составляет сообщение для отправки через FCM .
- FCM отправляет уведомление на устройство пользователя.
Для просмотра рабочего кода см. Отправка уведомлений FCM .
Другие интересные варианты использования уведомлений
- Отправлять электронные письма с подтверждением подписки/отписки пользователей на рассылку новостей .
- Отправьте приветственное письмо, когда пользователь завершит регистрацию .
- Отправлять SMS-подтверждение, когда пользователь создает новую учетную запись.
Выполнение санитарной обработки и обслуживания базы данных
С помощью обработки событий базы данных Cloud Functions вы можете изменять базу данных Realtime Database или Cloud Firestore в ответ на поведение пользователя, поддерживая систему в актуальном состоянии и в чистоте. Например, в приложении для чата вы можете отслеживать события записи и удалять неприемлемый или оскорбительный текст из сообщений пользователей. Вот как это может работать:
- Обработчик событий базы данных функции прослушивает события записи по определенному пути и извлекает данные о событиях, содержащие текст любых сообщений чата.
- Функция обрабатывает текст для обнаружения и очистки любого недопустимого языка.
- Функция записывает обновленный текст обратно в базу данных.
Чтобы просмотреть рабочий код, см. пример Text Moderation . В этом образце исправлены ненормативная лексика, а также «крики» в верхнем регистре в сообщениях чата.
Другие варианты использования для очистки и обслуживания базы данных
- Очистить содержимое удаленного пользователя из базы данных реального времени .
- Ограничьте количество дочерних узлов в базе данных Firebase .
- Отслеживайте количество элементов в списке базы данных реального времени .
- Скопируйте данные из базы данных Realtime в Google Cloud BigQuery .
- Преобразование текста в смайлики.
- Управление вычисляемыми метаданными для записей базы данных.
Выполняйте интенсивные задачи в облаке, а не в своем приложении
Разработчики могут воспользоваться преимуществами облачных функций, чтобы перенести в облако Google ресурсоемкую работу (тяжелый процессор или сеть), которую нецелесообразно выполнять на устройстве пользователя. Например, вы можете написать функцию для прослушивания загрузки изображений в облачное хранилище, загрузить изображение в экземпляр, выполняющий функцию, изменить его и загрузить обратно в облачное хранилище. Ваши изменения могут включать изменение размера, обрезку или преобразование изображений. Инструменты командной строки ImageMagick предоставляются для использования с облачными функциями, чтобы упростить эту работу.
- Функция срабатывает, когда файл изображения загружается в облачное хранилище.
- Функция загружает изображение и создает его уменьшенную версию.
- Функция записывает расположение эскиза в базу данных, чтобы клиентское приложение могло его найти и использовать.
- Функция загружает миниатюру обратно в облачное хранилище в новом месте.
- Приложение загружает ссылку на миниатюру.
Пошаговое руководство по примеру обработки изображений см. в разделе Обработка событий хранения .
Другие примеры пакетных заданий в облаке Firebase
- Периодически удаляйте неиспользуемые учетные записи Firebase .
- Автоматически модерировать загружаемые изображения .
- Отправляйте массовые электронные письма пользователям.
- Периодически собирайте и суммируйте данные.
- Обработать очередь незавершенных работ.
Интеграция со сторонними сервисами и API
Облачные функции могут помочь вашему приложению лучше работать с другими службами, вызывая и предоставляя доступ к веб-API. Например, приложение, используемое для совместной разработки, может публиковать коммиты GitHub в чате рабочей группы.
- Пользователь отправляет коммиты в репозиторий GitHub.
- Функция HTTPS запускается через API веб-перехватчика GitHub .
- Функция отправляет уведомление о коммите в канал команды Slack.
Другие способы интеграции со сторонними сервисами и API
- Используйте Google Cloud Vision API для анализа загруженных изображений и добавления тегов.
- Переводите сообщения с помощью Google Translate .
- Используйте поставщиков аутентификации, таких как LinkedIn или Instagram, для входа пользователей.
- Отправка запроса на веб-перехватчик в базе данных реального времени пишет .
- Включить полнотекстовый поиск по элементам базы данных в реальном времени .
- Обработка платежей от пользователей .
- Создавайте автоответы на телефонные звонки и SMS-сообщения.
- Создайте чат-бота с помощью Google Assistant .