Как добавить 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 перейдите на страницу Проекты.
  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. App Check автоматически применяется к Firebase AI Logic, чтобы защитить квоту API.
  • Сервисному аккаунту будет предоставлен доступ к вашей базе данных 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 перейдите на страницу Безопасность > Аутентификация > Способ входа и настройте нужные способы входа.

  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, выберите Настройки > Интеграции и нажмите на карточку 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 о "общедоступном ключе API Google для вашего проекта Google Cloud". Что нужно сделать

Если вы получили от Google Cloud электронное письмо с информацией о "общедоступном ключе API Google для вашего проекта Google Cloud" и указанный в письме ключ API является ключом API Firebase, убедитесь, что он соответствует следующим требованиям, чтобы его можно было безопасно включить в код или файлы конфигурации. Вы можете проверить следующее на странице 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 и управлять ими.