Dodawanie Cloud Firestore i uwierzytelniania do aplikacji Google AI Studio

Tryb tworzenia w Google AI Studio może automatycznie konfigurować i integrować Cloud FirestoreFirebase Authentication z aplikacjami internetowymi, co ułatwia tworzenie aplikacji z trwałym przechowywaniem danych i bezpiecznymi procesami logowania. Wystarczy jeden prompt i kilka kliknięć, aby umożliwić Google AI Studio agentowi skonfigurowanie projektu Firebase, połączenie z nim aplikacji i wygenerowanie całego kodu Cloud FirestoreAuthentication bezpośrednio w aplikacji.

Omówienie: dodawanie backendu do aplikacji Google AI Studio

  1. Opisz swój pomysł: utwórz nową aplikację w Google AI Studio i opisz funkcję, która wymaga bazy danych lub uwierzytelniania. Możesz na przykład wpisać prompt:Build a shared to-do list app using Firebase as a backend.

  2. Włącz integrację z Firebase: gdy pojawi się odpowiedni komunikat, włącz Firebase, wybierz lokalizację projektu i zaakceptuj Warunki korzystania z Firebase. Następnie automatycznie połączy Twoją aplikację z projektem Firebase i wygeneruje niezbędny kod Cloud FirestoreAuthentication dla Twojej aplikacji, w tym plik /src/lib/firebase.ts i plik firestore.rules.

  3. Wdrażanie: gdy aplikacja będzie gotowa, użyj opcji Udostępnij > Opublikuj, aby wdrożyć aplikację internetową w Cloud Run.

    .

Informacje o limicie udostępnionym na koncie Cloud Firestore

Wszystkie bazy danych Cloud Firestore udostępnione przez agenta Google AI Studio są umieszczane w tej samej „grupie” baz danych w projekcie w Firebase. Wszystkie mają te cechy:

  • Limit udostępniony: wszystkie bazy danych w grupie mają wspólny limit wykorzystania (szczegóły poniżej).
  • Nie jest wymagane konto Cloud Billing: możesz tworzyć i testować aplikację bez dodawania rozliczeń. Szczegółowe informacje o opcjonalnym dodawaniu płatności znajdziesz poniżej.
  • Codzienne resetowanie: jeśli osiągniesz dzienny limit (np. 50 tys. odczytów dziennie), usługa zostanie wstrzymana dla wszystkich baz danych w grupie i wznowiona następnego dnia około północy czasu pacyficznego.

Bazy danych w grupie z udostępnionym limitem mają te same limity:Cloud Firestore

Dane Limit
Przechowywane dane Łącznie 1 GiB
Ruch wychodzący z sieci 10 GiB miesięcznie
Zapis jednostek 40 000 zapisów dziennie
Odczyt jednostek 50 000 odczytów dziennie
Jednostki aktualizacji w czasie rzeczywistym 50 000 aktualizacji dziennie
.

(Opcjonalnie) Dodaj płatności, aby uzyskać większy limit Cloud Firestore

Jeśli Twoja aplikacja zyska popularność i będziesz potrzebować większych limitów niż te dostępne w ramach bezpłatnego poziomuCloud Firestore, możesz przenieść projekt na abonament Blaze z płatnością według wykorzystania.

  1. Dodaj płatności (jeśli jeszcze tego nie zrobiono): otwórz konsolę Firebasepołącz konto rozliczeniowe z projektem.

  2. Uaktualnij bazę danych: domyślnie bazy danych Cloud Firestore utworzone przez agenta Google AI Studio nadal korzystają ze wspólnego limitu nawet po uaktualnieniu planu cenowego. Aby włączyć pełne skalowanie płatne w przypadku konkretnej bazy danych, musisz ręcznie przenieść ją z grupy za pomocą polecenia curl.

    • PROJECT_ID – identyfikator projektu w Firebase. Znajdziesz go w Ustawieniach projektu w konsoli Firebase.

    • DATABASE_ID : Cloud Firestore identyfikator bazy danych, który będzie zgodny z identyfikatorem apletu; znajdziesz go w kolumnie Nazwa na Cloud Firestorestronie baz danych w konsoli Firebase.

    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": false}'
    

Security Rules generowanie

Google AI Studio agent automatycznie generuje Firebase Security Rules na podstawie logiki Twojej aplikacji. Te Security Rules są zaprojektowane tak, aby domyślnie odmawiać dostępu, co oznacza, że użytkownicy końcowi Twojej aplikacji mogą uzyskiwać dostęp tylko do danych, których są właścicielami.

Pamiętaj, że jeśli ręcznie dostosujesz Security Rules bezpośrednio w konsoli Firebase, agent Google AI Studio nie będzie znać tych zmian i zostaną one zastąpione w kolejnych iteracjach aplikacji. Zalecamy używanie agenta Google AI Studio do dostosowywania Firebase Security Rules, aby mieć pewność, że zmiany zostaną zachowane i będą zgodne z logiką aplikacji.

Używanie istniejącego projektu

Możesz też poprosić Google AI Studioagenta o udostępnienieCloud Firestore w istniejącym Google Cloudprojekcie, który jest Twoją własnością. Poproś agenta o użycie istniejącego projektu, np. za pomocą prompta:

Add Firestore to this app using project PROJECT_ID.
  • W tym projekcie zostanie utworzona nowa baza danych Cloud Firestore przy użyciu wspólnego limitu.
  • Firebase Authentication z logowaniem przez Google.
  • Konto usługi otrzyma dostęp do Twojej bazy danych Cloud Firestore. Aby zezwolić na dostęp administratora z domeny Google AI Studio, nowe konto usługi o nazwie ais-sandbox@PROJECT_ID.iam.gservice.com otrzyma uprawnienia dostępu do bazy danych Cloud Firestore. To konto jest powiązane tylko z aplikacjami Google AI Studio.
  • Ograniczenia: jeśli projekt w Firebase ma już Cloud Firestorebazę danych, agent nie będzie mógł dodać kolejnej. Musisz utworzyć nowy, pusty projekt, aby go użyć.

Korzystanie z konsoli Firebase

Dane i ustawienia aplikacji możesz wyświetlić w konsoli Firebase. Aby uzyskać dostęp do projektów powiązanych z Google AI Studio, wykonaj te czynności:

  1. Otwórz Firebasekonsolę i wybierz projekt oznaczony jako AI Studio.

  2. W panelu nawigacji po lewej stronie kliknij Kompilacja > Cloud Firestore Baza danych, aby wyświetlić i edytować dane w Cloud Firestore, lub kliknij Kompilacja > Authentication, aby skonfigurować ustawienia i dane Authentication.

Rozwiązywanie problemów i najczęstsze pytania

Znajdź odpowiedzi na najczęstsze pytania i dowiedz się, jak rozwiązywać problemy podczas integrowania Firebase z aplikacją Google AI Studio.

Jak wybierany jest mój projekt Google Cloud lub Firebase?

Gdy używasz funkcji Dodaj backend Firebase, agent Google AI Studio automatycznie wybiera projekt w Firebase, który będzie używany w usługach backendu aplikacji (Cloud FirestoreFirebase Authentication).

Jeśli chcesz użyć konkretnego projektu, możesz poinstruować agenta, aby to zrobił, za pomocą prompta, np.:

Use project PROJECT_ID for the Firebase backend.

Jeśli później zdecydujesz się opublikować aplikację w Cloud Run, ważne jest, aby nadal używać tego samego projektu. Wybranie innego projektu spowoduje błędy, ponieważ nie będzie on zgodny z projektem używanym w backendzie.

Jakie metody uwierzytelniania są obsługiwane?

Google AI Studio Agent konfiguruje logowanie przez Google, gdy używasz funkcji Dodaj backend Firebase. Aby skonfigurować dodatkowe metody, włącz je w Firebase konsoli i poproś Google AI Studio agenta o pomoc w aktualizacji bazy kodu.

Czy mogę utworzyć aplikację mobilną (np. na Androida lub iOS) za pomocą Google AI Studio?

Obecnie agent Google AI Studio może tworzyć tylko aplikacje internetowe. Więcej informacji o obsługiwanych funkcjach znajdziesz w Google AI Studiodokumentacji agenta.

Pamiętaj jednak, że tak jak w przypadku wszystkich aplikacji internetowych, do aplikacji utworzonych przez Google AI Studio można uzyskać dostęp jako internetowych aplikacji mobilnych w przeglądarkach zainstalowanych na urządzeniach mobilnych.

Co to jest plik firebase-blueprint.json?

Jest to plik pośredni używany przez Google AI Studio agenta do zrozumienia bazy kodu aplikacji. Nie modyfikuj tego pliku ręcznie, ponieważ może to spowodować wygenerowanie przez agenta nieprawidłowego kodu lub niezabezpieczonego Security Rules.

Co zrobić, jeśli pojawi się błąd „Przekroczono limit”?

Osiągnięcie limitu Cloud Firestore oznacza, że aplikacja osiągnęła dzienny limit wykorzystania w przypadku grupy limitów współdzielonych bazy danych Cloud Firestore. Możesz to zrobić na 2 sposoby:

  • Opcja 1. Poczekaj: limity są resetowane codziennie około północy czasu pacyficznego.
  • Opcja 2. Przejście na wyższy pakiet: przejście na abonament Blaze z płatnością według wykorzystania.
    • Jeśli Google AI Studioagent skonfigurowałCloud Firestore za Ciebie bazę danych, musisz użyć curlpolecenia opisanego w artykule Dodawanie płatności, aby uzyskać większy limit Cloud Firestore i przekształcić bazę danych w zwykłą bazę płatną. Jeśli skonfigurujesz Cloud Firestore ręcznie, nie musisz uruchamiać polecenia curl.

Co zrobić, jeśli wyświetli się błąd „Brak uprawnień lub niewystarczające uprawnienia”?

Ten błąd występuje, gdy aplikacja próbuje odczytać lub zapisać dane w bazie danych Cloud Firestore, ale żądanie jest odrzucane przez Security Rules. Oznacza to, że Security Rules nie zezwala na próbę wykonania operacji na podstawie bieżącego stanu uwierzytelniania lub ścieżki danych. Kliknij przycisk Napraw błąd, aby poprosić agenta Google AI Studio o spróbowanie poprawienia Security Rules.

Co się stanie z backendem Firebase, gdy usunę aplikację Google AI Studio?

Usunięcie aplikacji w Google AI Studio nie powoduje automatycznego usunięcia połączonego projektu Firebase, Cloud Firestore bazy danych ani Firebase Authenticationkonfiguracji.

Jeśli dodasz backend Firebase, musisz ręcznie przejść do Firebasekonsoli i usunąć projekt lub wyczyścić poszczególne zasoby (np. Cloud Firestoreinstancję bazy danych i Authenticationdostawców), aby mieć pewność, że wszystkie dane i konfiguracje zostaną usunięte.

Czy agent Google AI Studio może usuwać lub edytować dane w mojej bazie danych Cloud Firestore?

Google AI Studio agent ma za zadanie udostępniać niezbędne zasoby backendu i generować kod oraz Security Rules. Sam agent nie może bezpośrednio usuwać, edytować ani manipulować wpisami w Twojej bazie danych Cloud Firestore, ale może pisać w aplecie kod, który jest przeznaczony do wykonywania tych działań. Aby wykonywać zadania związane z zarządzaniem danymi, takie jak usuwanie wpisów, otwórz Cloud Firestorestronę bazy danychFirebasekonsoli.

Należę do organizacji, która korzysta z Google Cloud. Czy mogę połączyć aplikację Google AI Studio z istniejącym projektem w środowisku Google Cloud mojej organizacji?

Sprawdź, czy projekt w Firebase znajduje się w określonym Google Cloud folderze organizacji:

  1. Utwórz projekt w Firebase ręcznie z wyprzedzeniem.

  2. Podczas konfigurowania backendu Firebase w Google AI Studio poproś agenta o użycie istniejącego projektu:

    Add Firestore to this app using project PROJECT_ID.
    

Dlaczego nie mogę znaleźć niektórych dokumentów w konsoli Firebase?

Gdy agent AI Studio zapisuje dane w zagnieżdżonej ścieżce (np. /users/user1/messages/msg1) bez wcześniejszego utworzenia dokumentu nadrzędnego (user1), tworzy tzw. nieistniejący dokument nadrzędny. Te dokumenty nie są wyświetlane w konsoli Firebase, co może utrudniać ich znalezienie podczas przeglądania bazy danych Cloud Firestore. Nie ma to wpływu na działanie aplikacji, ale możesz opisać problem agentowi AI Studio, aby poprosić go o utworzenie brakujących dokumentów nadrzędnych.

Więcej informacji znajdziesz w artykule Nieistniejące dokumenty nadrzędne.

Jak Google wykorzystuje moje dane (np. kod i prompty) w Google AI Studio?

Szczegółowe informacje o tym, jak wykorzystujemy Twoje dane, znajdziesz w Dodatkowych warunkach korzystania z Gemini API.

Otrzymałem(-am) e-maila od Google Cloud z informacją o „publicznie dostępnym kluczu interfejsu API Google powiązanym z projektem Google Cloud”. Co muszę zrobić?

Jeśli otrzymasz e-maila od Google Cloud z informacją o „publicznie dostępnym kluczu interfejsu API Google w projekcie Google Cloudi klucz interfejsu API wymieniony w tym e-mailu jest Twoim kluczem interfejsu API Firebase, upewnij się, że spełnia on poniższe wymagania, aby można go było bezpiecznie umieścić w kodzie lub plikach konfiguracyjnych. Możesz to sprawdzić w panelu Interfejsy API i usługi > Dane logowania w konsoli Google Cloud.

  • Jest to klucz API, którego używasz w aplikacji w Firebase i tylko w usługach Firebase. Klawisze te są zwykle nazywane Browser key (auto created by Firebase) lub Android key (auto created by Firebase) lub iOS key (auto created by Firebase).
  • Zawiera on wszystkie wymagane interfejsy API Firebase na liście dozwolonych „Ograniczenia interfejsu API”.
  • Nie ma on żadnych innych interfejsów API na liście dozwolonych w sekcji „Ograniczenia interfejsu API”. W szczególności lista nie powinna zawierać Generative Language API.

Upewnij się też, że używasz Firebase Security RulesApp Check zgodnie z zaleceniami w przypadku usług Firebase, z których korzystasz.

Szczegółowe informacje o kluczach interfejsu API Firebase oraz listę najczęstszych pytań znajdziesz w artykule Informacje o używaniu kluczy interfejsu API Firebase i zarządzaniu nimi.