Как добавить Firebase в приложение Google AI Studio

Режим сборки в Google AI Studio позволяет автоматически настраивать и интегрировать сервисы Firebase в веб-приложения и приложения Android.

  • Cloud Firestore и Firebase Authentication (для веб-приложений и приложений Android) – для создания приложений с постоянным хранилищем данных и безопасным входом.
  • Firebase AI Logic и Firebase App Check (для приложений Android), чтобы безопасно вызывать модели Gemini напрямую из мобильного приложения, не раскрывая ключи API.

Всего один запрос и несколько кликов – и агент Google AI Studio настроит проект Firebase, подключит к нему ваше приложение и сгенерирует нужный код и файлы конфигурации Firebase прямо в приложении.

Узнайте больше о создании полнофункциональных веб-приложений и приложений для Android в документации Google AI Studio.

Обзор. Как добавить серверную часть в приложение Google AI Studio

  1. Опишите свою идею. Создайте новое приложение в Google AI Studio и опишите функцию, для которой требуется база данных, аутентификация или генеративный искусственный интеллект (для приложений Android). Например, вы можете ввести такой запрос:

    • Build a shared to-do list app using Firebase as a backend.
    • Build an Android recipe app that uses Firebase AI Logic to suggest meals from ingredients.
  2. Включите интеграцию с Firebase. В появившейся карточке задайте настройки:

    1. Настройте проект или местоположение (необязательно). Нажмите на значок Настройки и выберите местоположение или проект Google Cloud.

    2. Подтвердите выбор. Чтобы продолжить, нажмите кнопку Включить Firebase.

    Затем агент автоматически настраивает нужные сервисы Firebase в вашем проекте Firebase, подключает к нему ваше приложение и генерирует нужный код и файлы конфигурации Firebase:

    • Веб-приложения

      • Возможные услуги: Cloud Firestore, Authentication и Firebase Security Rules
      • Файлы: /src/lib/firebase.ts и firestore.rules
    • Приложения для Android

      • Возможные сервисы: Cloud Firestore, Authentication и Firebase Security Rules. Если в приложении используются ИИ-функции: Firebase AI Logic и Firebase App Check.
      • Файлы включают google-services.json, firestore.rules и firebase_applet_config.xml.
  3. Развертывание или публикация. Когда все будет готово, вы сможете развернуть или опубликовать приложение.

    • Веб-приложения. Чтобы развернуть веб-приложение в Cloud Run, выберите Поделиться > Опубликовать. Приложение будет автоматически развернуто в том же проекте, который вы выбрали во время настройки.
    • Приложения для Android. Установите приложение на физическое устройство через USB для локального тестирования или опубликуйте его для определенных тестировщиков в Google Play для внутреннего тестирования.

    Прежде чем делиться приложением, развертывать или публиковать его, обязательно проверьте Firebase Security Rules, созданные ИИ.

Как добавить Firebase в приложение во время разработки

Если вы хотите добавить интеграцию с Firebase в приложение, над которым работаете в Google AI Studio, вы можете сделать это в любой момент на этапе итерации, используя один из следующих вариантов:

  • Поговорите с агентом. Попросите его добавить функцию, для которой требуется база данных, аутентификация или генеративный искусственный интеллект для Android (например, Add a Firestore database to this app или Add Firebase AI Logic to summarize notes).
  • В меню настроек. Выберите Настройки > Интеграции и нажмите на карточку Firebase Firestore & Auth.

В обоих случаях запустится процесс настройки интеграции с Firebase, в ходе которого вы сможете выбрать проект, настроить местоположение серверной части и включить интеграцию для приложения, как описано в обзоре.

После включения интеграции вы можете в любое время проверить ее конфигурацию, включая проект, местоположение, адрес электронной почты службы поддержки приложения и идентификатор базы данных. Для этого перейдите в раздел Настройки > Интеграции и нажмите на карточку Firebase Firestore и Auth.

Общая квота для Cloud Firestore

В зависимости от того, когда вы создали приложение, соответствует ли ваш аккаунт требованиям и какую платформу вы используете (начальный уровень недоступен для приложений Android), ваши базы данных могут размещаться в проекте Google Cloud начального уровня или в стандартном проекте. Однако в обоих случаях все базы данных Cloud Firestore, подготовленные агентом Google AI Studio, помещаются в одну группу баз данных "Общая квота ИИ" в вашем проекте. Все они имеют следующие характеристики:

  • Общая квота. Все базы данных в группе используют общую квоту на использование (подробнее…).
  • Аккаунт Cloud Billing не требуется. Вы можете создавать и тестировать приложения, не добавляя платежные данные. Подробнее о том, как добавить платежные данные, рассказывается ниже.
  • Ежедневный сброс. Если вы достигнете дневного лимита (например, 50 000 операций чтения в день), сервис будет приостановлен для всех баз данных в группе и возобновит работу на следующий день около полуночи по тихоокеанскому времени.

Для Cloud Firestore баз данных в группе с общей квотой действуют следующие ограничения:

Показатель Квота
Хранящиеся данные Всего 1 ГиБ
Исходящий сетевой трафик 10 ГиБ в месяц
Запись данных о единицах 40 000 записей в день
Чтение единиц измерения 50 000 операций чтения в день;
Обновление данных в реальном времени 50 000 обновлений в день

(Необязательно.) Добавьте платежный аккаунт, чтобы увеличить квоту Cloud Firestore.

Если ваше приложение станет популярным и вам потребуется выйти за рамки бесплатных ограничений для Cloud Firestore, вы можете добавить платежные данные, чтобы перейти на тарифный план Blaze с оплатой по мере использования.

Возможно, вы уже добавили платежные данные в проект по другим причинам, например чтобы использовать Nano Banana. Если это так, то ваш проект уже использует тарифный план Blaze и вы можете сразу перейти к обновлению базы данных.

1. Добавьте платежные данные (если вы ещё этого не сделали)

Вы можете настроить оплату непосредственно в Google AI Studio.

  1. В Google AI Studio перейдите на страницу Projects (Проекты).
  2. Нажмите Настроить платежный аккаунт рядом с нужным проектом.
  3. Следуя подсказкам на экране, выберите страну, примите условия и добавьте способ оплаты или выберите существующий платежный аккаунт. Вас также могут попросить внести предоплату (которая не распространяется на использование Firebase и сервисов Google Cloud).

Шаг 2. Обновите базу данных

Даже после добавления платежных данных базы данных Cloud Firestore, созданные агентом Google AI Studio, остаются в группе с общей квотой. Чтобы включить полное платное масштабирование для определенной базы данных, необходимо вручную обновить ее.

  1. Перейдите в консоль Firebase и выберите проект, содержащий базу данных, которую вы хотите обновить.
  2. На панели навигации слева выберите Databases & Storage (Базы данных и хранилище) > Firestore.
  3. Если в вашем проекте несколько экземпляров базы данных Cloud Firestore, выберите тот, который хотите обновить.
  4. В верхней части страницы вы увидите баннер, сообщающий, что для базы данных действуют ограничения общей квоты ИИ. Чтобы обновить ее, нажмите Обновить базу данных > Перейти на оплату по мере использования.Если вы не видите этот баннер, значит база данных не была создана агентом Google AI Studio и не входит в группу с общей квотой или уже была обновлена.

Изменение, отключающее общую квоту и включающее оплату по мере использования для вашей базы данных, должно вступить в силу в течение нескольких минут.

Security Rules поколение

Агент Google AI Studio автоматически генерирует Firebase Security Rules на основе логики вашего приложения. Эти Security Rules по умолчанию запрещают доступ, то есть конечные пользователи вашего приложения могут получить доступ только к своим данным.

Если вы вручную измените Security Rules в консоли Firebase, агент Google AI Studio не узнает об этом и перезапишет изменения при последующих итерациях приложения. Рекомендуем использовать агент Google AI Studio, чтобы настроить Firebase Security Rules. Это позволит сохранить изменения и согласовать их с логикой приложения.

Firebase AI Logic и App Check для приложений Android

Когда вы создаете приложение для Android с функциями на основе генеративного ИИ в Google AI Studio, агент автоматически интегрирует Firebase AI Logic и применяет Firebase App Check.

В отличие от веб-приложений в Google AI Studio, которые выполняют вызовы Gemini API из серверной среды выполнения на Cloud Run, приложения Android распространяются как клиентские двоичные файлы (APK). Если встроить ключ Gemini API непосредственно в APK, его можно будет извлечь и использовать для злоупотреблений, связанных с оплатой. Использование Firebase AI Logic с App Check защищает ваш проект, проверяя, что запросы к Gemini API поступают от подлинного экземпляра вашего приложения.

Как App Check работает в тестовой и рабочей средах

Google AI Studio настраивает App Check так, чтобы ваше приложение работало безопасно без ручной настройки, независимо от того, тестируете ли вы прототип или публикуете его в Google Play.

  • Тестирование и обмен (отладочные сборки). Когда вы просматриваете приложение в эмуляторе Google AI Studio, устанавливаете его на телефон через USB или делитесь им с доверенными тестировщиками в Google AI Studio, приложение использует отладочный токен App Check, которым Google AI Studio управляет автоматически в фоновом режиме. Соавторы могут сразу же тестировать ИИ-функции, не видя ваши ключи API и секреты.
  • Публикация в Google Play (конечные сборки). Когда вы создаете конечную версию для Google Play, ваше приложение автоматически переключается на reCAPTCHA Enterprise для проверки рабочей версии с помощью предварительно настроенного ключа сайта. Вам не нужно вручную связывать Google Play или настраивать поставщиков App Check перед публикацией.

Как использовать существующий проект

При первой настройке интеграции с Firebase вы можете выбрать существующий проект Google Cloud, владельцем которого являетесь:

  1. В появившемся окне нажмите на значок Настройки .
  2. Выберите проект и нажмите Enable Firebase (Включить Firebase).

По мере работы над приложением вы можете попросить агента использовать другой проект, например с помощью такого запроса:

Add Firestore to this app using project PROJECT_ID.

При выборе проекта происходит следующее:

  • В этом проекте будет создана новая база данных Cloud Firestore с использованием общей квоты.
  • Будет настроен вход в Firebase Authentication с аккаунтом Google.
  • Для приложений Android, использующих генеративный искусственный интеллект, будут настроены Firebase AI Logic, Firebase App Check и reCAPTCHA Enterprise. Для защиты квоты API в Firebase AI Logic автоматически применяется App Check.
  • Сервисному аккаунту будет предоставлен доступ к вашей базе данных Cloud Firestore. Чтобы разрешить администратору доступ из Google AI Studio, новому сервисному аккаунту с именем ais-sandbox@PROJECT_ID.iam.gservice.com будет предоставлено разрешение на доступ к вашей базе данных Cloud Firestore. Этот аккаунт связан только с вашими приложениями Google AI Studio.
  • Ограничения. Если в проекте Firebase уже есть база данных Cloud Firestore, агент не сможет добавить ещё одну. Вам нужно выбрать другой проект или создать новый пустой проект.

Используйте консоль Firebase

Вы можете посмотреть данные и настройки приложения в консоли Firebase. Вот как получить доступ к проекту Firebase, связанному с Google AI Studio:

  1. Перейдите в консоль Firebase и выберите проект с ярлыком AI Studio.

  2. На панели навигации слева выберите включенные сервисы в проекте:

    • Чтобы посмотреть и изменить сохраненные данные Cloud Firestore, перейдите в раздел Databases & Storage (Базы данных и хранилище) > Firestore.
    • Чтобы посмотреть или настроить параметры и данные Authentication, выберите Безопасность > Аутентификация.
    • Чтобы отслеживать использование, просматривать квоты или настраивать параметры для Firebase AI Logic, перейдите в раздел ИИ > Логика ИИ.
    • Чтобы управлять принудительным применением App Check, отслеживать запросы на подтверждение или отзывать токены отладки, перейдите в раздел Безопасность > Проверка приложений.

Устранение неполадок и часто задаваемые вопросы

Здесь вы найдете ответы на часто задаваемые вопросы и узнаете, как устранять проблемы при интеграции Firebase с приложением Google AI Studio.

Как выбирается проект Google Cloud / Firebase и местоположение?

При запросе бэкенда Firebase для приложения вы можете выбрать местоположение и проект в появившейся карточке:

  • Настройте проект или местоположение (необязательно). Нажмите на значок Настройки , выберите местоположение или проект Google Cloud, который хотите использовать, и нажмите Включить Firebase.

Обратите внимание на следующее:

  • Местоположение базы данных нельзя изменить. Выбрав местоположение базы данных, вы не сможете изменить его для этого проекта. Этот вариант будет использоваться по умолчанию для других бэкенд-служб.
  • Согласованность проектов. Чтобы обеспечить тесную интеграцию, Google AI Studio автоматически использует один и тот же проект как для бэкенда, так и для развертывания. Нельзя использовать разные проекты для разных сервисов в одном приложении.

Какие способы аутентификации поддерживаются?

Агент Google AI Studio настраивает вход с аккаунтом Google, когда вы просите настроить Authentication или экран входа. Вот как добавить в приложение дополнительные способы входа:

  1. В консоли Firebase перейдите на страницу Security (Безопасность) > Authentication (Аутентификация) > Sign-in method (Способ входа) и настройте нужные способы входа.

  2. Вернитесь в Google AI Studio и попросите агента Google AI Studio помочь вам обновить базу кода, чтобы добавить новый способ входа.

Можно ли создать мобильное приложение (например, для Android или iOS) с помощью Google AI Studio?

Агент Google AI Studio поддерживает создание как веб-приложений, так и приложений для Android. Интеграция с Firebase позволяет добавлять Cloud Firestore и Authentication как в веб-приложения, так и в приложения для Android, а также Firebase AI Logic и Firebase App Check в приложения для Android.

Создание приложений для iOS не поддерживается в Google AI Studio. Однако, как и все веб-приложения, веб-приложения, созданные с помощью Google AI Studio, могут быть доступны как мобильные веб-приложения из браузеров, установленных на мобильных устройствах (включая iOS).

Подробнее о создании приложений для Android рассказывается в документации Google AI Studio.

Почему интеграция Firebase AI Logic и App Check используется только для приложений Android, а не для веб-приложений?

Приложения для Android распространяются в виде клиентских двоичных файлов (APK). Если бы приложение Android вызывало Gemini API напрямую с помощью стандартного ключа API, любой мог бы декомпилировать APK, извлечь ключ и отправлять неавторизованные запросы. Чтобы этого не происходило, приложения Android, созданные в Google AI Studio, используют Firebase AI Logic вместе с Firebase App Check для проверки того, что запросы поступают от подлинного экземпляра вашего приложения.

Веб-приложения, созданные в Google AI Studio, выполняют запросы к Gemini API из безопасной серверной среды выполнения (размещенной в Cloud Run при развертывании) с помощью Google Gen AI SDK. Поскольку ключ API остается на сервере и никогда не передается в браузер клиента, для веб-приложений с такой структурой не требуются клиентские Firebase AI Logic и App Check.

Что такое файл firebase-blueprint.json?

Это промежуточный файл, который агент Google AI Studio использует, чтобы понять базу кода вашего приложения. Не изменяйте этот файл вручную, так как это может привести к тому, что агент сгенерирует неправильный код или небезопасный Security Rules.

Что делать, если появляется ошибка "Квота превышена"?

Достижение лимита квоты Cloud Firestore означает, что ваше приложение достигло дневного ограничения на использование для общей группы квот базы данных Cloud Firestore. Решить эту проблему можно двумя способами:

  • Вариант 1. Подождать. Квоты сбрасываются ежедневно около полуночи по тихоокеанскому времени.
  • Вариант 2. Перейдите на тарифный план Blaze с оплатой по мере использования.
    • Если агент Google AI Studio настроил для вас Cloud Firestore, вам нужно нажать кнопку Обновить базу данных, как описано в разделе Добавьте платежные данные, чтобы увеличить квоту Cloud Firestore, чтобы перевести базу данных в обычный платный режим. Если вы настроили Cloud Firestore вручную, нажимать кнопку Обновить базу данных не нужно.

Что делать, если появляется сообщение об ошибке "Отсутствуют или недостаточны разрешения"?

Эта ошибка возникает, когда приложение пытается считать или записать данные в базу данных Cloud Firestore, но запрос отклоняется Security Rules. Это означает, что Security Rules не разрешают выполнить операцию из-за текущего состояния аутентификации или пути к данным. Нажмите кнопку Исправить ошибку, чтобы агент Google AI Studio попытался исправить Security Rules.

Что произойдет с бэкендом Firebase, если я удалю приложение Google AI Studio?

Удаление приложения в Google AI Studio не приводит к автоматическому удалению связанного проекта Firebase, базы данных Cloud Firestore или конфигураций Firebase Authentication.

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

Может ли агент Google AI Studio удалять или изменять данные в моей базе данных Cloud Firestore?

Агент Google AI Studio предназначен для помощи в подготовке необходимых ресурсов бэкенда, а также для генерации кода и Security Rules. Хотя сам агент не может напрямую удалять, редактировать или изменять записи данных в вашей базе данных Cloud Firestore, он может написать код в вашем приложении, предназначенный для выполнения этих действий. Чтобы выполнить задачи по управлению данными, например удалить записи, перейдите на страницу Databases & Storage (Базы данных и хранилище) > Firestore в консоли Firebase.

Я работаю в организации, которая использует Google Cloud. Могу ли я подключить свое приложение Google AI Studio к существующему проекту в среде Google Cloud моей организации?

Да. Убедитесь, что проект Firebase находится в папке организации Google Cloud, а затем подключите его одним из следующих способов:

  • При включении. Когда вы впервые включаете интеграцию с Firebase в Google AI Studio, выберите существующий проект на появившейся карточке. Нажмите на значок Настройки и выберите проект.
  • Во время итерации. Если вы уже включили Firebase или хотите сменить проект позже, вы можете попросить агента использовать существующий проект, например:

      Add Firestore to this app using project PROJECT_ID.
    

Почему я не могу найти некоторые документы в консоли Firebase?

Когда агент AI Studio сохраняет данные по вложенному пути (например, /users/user1/messages/msg1), не создав сначала родительский документ (user1), он создает так называемый несуществующий родительский документ. Эти документы не отображаются в консоли Firebase, поэтому их может быть трудно найти при просмотре базы данных Cloud Firestore. Это не влияет на работу приложения, но вы можете описать проблему агенту AI Studio, чтобы он создал недостающие родительские документы.

Подробную информацию можно найти в разделе Несуществующие родительские документы.

Можно ли выбрать местоположение для базы данных Cloud Firestore?

Да. При первом включении интеграции с Firebase в Google AI Studio вы можете выбрать местоположение для базы данных Cloud Firestore.

Обратите внимание, что выбранное местоположение применяется ко всем базам данных Cloud Firestore, которые агент Google AI Studio создает в этом проекте Firebase. После этого изменить местоположение для этих баз данных будет нельзя.

Можно ли вернуть базу данных Cloud Firestore в группу с общей квотой после обновления?

После того как база данных будет удалена из группы с общей квотой и преобразована в обычный платный экземпляр, вы можете использовать команду curl, чтобы вернуть ее в группу с общей квотой. Обратите внимание, что все базы данных в группе с общей квотой должны быть одной версии и находиться в одном регионе.

  • PROJECT_ID : идентификатор проекта Firebase. Этот идентификатор можно найти в консоли Firebase на странице Настройки > Общие.

  • DATABASE_ID – идентификатор базы данных Cloud Firestore, который будет совпадать с идентификатором апплета. Чтобы найти идентификатор базы данных в Google AI Studio, выберите Settings (Настройки) > Integrations (Интеграции) и нажмите на карточку Firebase Firestore & Auth (Firebase Firestore и Auth).

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID?updateMask=free_tier_limited" \
-d '{"free_tier_limited": true}'

Как Google использует мои данные (например, код и запросы) в Google AI Studio?

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

Я получил от Google Cloud письмо о том, что в моем проекте Google Cloud есть общедоступный ключ API Google. Что нужно сделать

Если вы получили от Google Cloud письмо о том, что ключ API Google для вашего проекта Google Cloud находится в открытом доступе, и в письме указан ключ API Firebase, убедитесь, что ключ API соответствует перечисленным ниже требованиям. В этом случае его можно безопасно включать в код или файлы конфигурации. Вы можете проверить это на странице APIs & Services (API и сервисы) > Credentials (Учетные данные) в консоли Google Cloud.

  • Это ключ API, который вы используете для приложения Firebase и только для сервисов Firebase. Обычно эти клавиши называются Browser key (auto created by Firebase), Android key (auto created by Firebase) или iOS key (auto created by Firebase).
  • В белый список ограничений API ключа включены все необходимые API, связанные с Firebase.
  • В белом списке ограничений API нет других API. В частности, в списке не должно быть Generative Language API.

Также убедитесь, что вы используете Firebase Security Rules и App Check в соответствии с рекомендациями для продуктов Firebase, которые вы используете.

Подробную информацию о ключах API для Firebase и ответы на часто задаваемые вопросы можно найти в статье Использование ключей API для Firebase и управление ими.