Pierwsze kroki z Firebase Data Connect
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Z tego krótkiego wprowadzenia dowiesz się, jak utworzyć Firebase Data Connect w aplikacji za pomocą produkcyjnej instancji SQL.
W Firebase konsoli:
Dodaj Firebase Data Connect do projektu Firebase.
Utwórz schemat aplikacji za pomocą generowania schematu z pomocą AI w konsoli Firebase i wdroż go.
utworzyć instancję Cloud SQL dla aplikacji;
Dzięki Gemini w Firebase możesz wypełnić bazę danych przykładowymi danymi.
Twórz zapytania i mutacje z pomocą AI, które możesz wdrażać i wykorzystywać do lokalnego tworzenia kodu klienta.
Następnie w lokalnym środowisku programistycznym wykonaj te czynności:
Skonfiguruj narzędzia deweloperskie, w tym rozszerzenie Visual Studio Code, aby pracować z instancją produkcyjną.
Zsynchronizuj środowisko lokalne z zasobami utworzonymi w konsoli.
Generuj pakiety SDK o silnym typowaniu i używaj ich w aplikacji.
Proces w konsoli: użyj pomocy AI, aby zaprojektować schemat, a następnie wdrożyć go w bazie danych
Jeśli nie masz jeszcze projektu Firebase, utwórz go.
W Firebasekonsoli kliknij Dodaj projekt i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.
Przejdź do sekcji Data Connect w konsoli Firebase.
Kliknij przycisk Pierwsze kroki z Gemini.
W wyświetlonym panelu przepływu pracy Generator schematów opisz aplikację, aby usługa
Gemini mogła Ci pomóc w utworzeniu schematu GraphQL.
Sprawdź schemat GraphQL, a następnie kliknij Uaktualnij i wdróż.
Przenieś projekt na abonament Blaze. Umożliwia to utworzenie instancji Cloud SQL for PostgreSQL.
Wybierz Utwórz nową instancję Cloud SQL. W wyświetlonym oknie wybierz lokalizację i nazwę bazy danych Cloud SQL for PostgreSQL.
Wdrażany jest schemat aplikacji wraz z bazą danych PostgreSQL odpowiadającą temu schematowi.
Proces w konsoli: korzystanie z pomocy AI przy tworzeniu operacji dla klientów
Po wdrożeniu schematu możesz podjąć pierwsze kroki, aby udostępnić te dane w aplikacjach klienckich. W tym celu utwórz łącznik zapytań i mutacji, który wdrożysz na backendzie, a później wywołasz z klientów.
Nasze narzędzia wspomagane przez AI są po to, aby Ci pomóc.
Gdy pojawi się odpowiedni komunikat, kliknij przycisk Wygeneruj operacje za pomocą Gemini.
Po chwili w wyświetlonym panelu przepływu pracy Wygeneruj operacje przejrzyj listę zapytań i mutacji podanych przez Gemini na podstawie Twojego schematu.
Kliknij każdy wiersz operacji, aby sprawdzić kod GraphQL, który ją definiuje. W razie potrzeby użyj ikony kosza, aby usunąć operacje, których nie potrzebujesz.
Aby dodać operacje, kliknij przycisk + Dodaj. Następnie:
Opisz operację w języku naturalnym.
Przykład:
List all products
Sprawdź wygenerowany kod GraphQL.
Jeśli operacja jest akceptowalna, kliknij Wstaw, aby dodać ją do listy operacji.
Kontynuuj usuwanie i dodawanie operacji, aż zestaw operacji będzie odpowiedni.
Aby wdrożyć tę listę operacji jako zestaw oprogramowania sprzęgającego, które może być wywoływane przez klienta, wybierz nazwę oprogramowania sprzęgającego, a następnie kliknij Wdróż.
Proces w konsoli: używanie Gemini w Firebase do tworzenia mutacji i wypełniania bazy danych
W poprzednich krokach utworzyliśmy Data Connectschemat składający się z odpowiednich typów elementów i wdrożyliśmy go w środowisku produkcyjnym. Oznacza to, że utworzyliśmy i wdrożyliśmy też bazę danych PostgreSQL z odpowiednimi tabelami.
Aby wypełnić bazę danych, możesz użyć Gemini w Firebase, aby dodać dane z mutacjami, które aktualizują co najmniej jedną z Twoich tabel.
Otwórz kartę Dane.
Kliknij ikonę Pomóż mi pisać w GraphQLpen_spark i kliknij kartę Dane początkowe.
Kliknij Wygeneruj. Zwracane są mutacje, które wypełniają Twoje dane.
Sprawdź dane wyjściowe. W razie potrzeby kliknij Edytuj, aby doprecyzować prompt, a następnie kliknij Wygeneruj ponownie.
Następnie kliknij Wstaw, aby wstawić zmianę w edytorze danych.
Kliknij Wykonaj.
Gdy uruchamiasz mutacje, dane są zapisywane w odpowiednich tabelach w bazie danych PostgreSQL. W konsoli możesz utworzyć zapytanie, aby wyświetlić przechowywane dane:
Powtórz poprzednie kroki, używając Pomóż mi napisać GraphQLpen_spark, aby utworzyć zapytanie.
W wyświetlonym polu wpisz dane.
Przykład:
Query data for all sample products in my app.
Kliknij Wygeneruj, a potem Uruchom.
Przepływ lokalny: konfigurowanie projektu lokalnego
Teraz, gdy masz już dane w wdrożonej bazie danych i wdrożony łącznik, możesz kontynuować tworzenie schematu i łączników w lokalnym środowisku programistycznym.
Najpierw musisz skonfigurować środowisko lokalne. Data Connect oferuje 2 sposoby instalowania narzędzi deweloperskich.
W katalogu projektu uruchom to polecenie.
Skrypt instaluje wiersz poleceń Firebase i rozszerzenie Data Connect VS Code oraz przeprowadza Cię przez firebase init
dataconnect, aby skonfigurować projekt. Jeśli nie masz zainstalowanej aplikacji VS Code na komputerze, skrypt otworzy ją w przeglądarce.
Otwórz ekran rozszerzenia Data Connect VS Code, klikając ikonę Firebase
w panelu po lewej stronie Visual Studio Code.
Aby uruchomić emulator z lokalną bazą danych PGlite, kliknij Start emulators (Uruchom emulatory).
Przepływ lokalny: znajdź schemat i łącznik w środowisku lokalnym
Opcja automatycznej instalacji w systemie macOS lub Linux, której używasz do synchronizowania komponentów z istniejącym projektem, ma następujące skutki:
Synchronizuje wdrożony schemat.
Znajdź schemat: znajduje się on w katalogu projektu Firebase w pliku /dataconnect/schema/schema.gql.
Synchronizuje zapytania i mutacje w łączniku, który został wdrożony.
Znajdź łącznik: operacje znajdują się w katalogu projektu Firebase, w katalogu /dataconnect/connector/.
Przepływ lokalny: zrozumienie schematu
Przykładowy schemat: film
W Data Connect pola GraphQL są mapowane na kolumny. Typ Movie
prawdopodobnie będzie zawierać id, title, imageUrl i genre.
Data Connect rozpoznaje podstawowe typy danych String i UUID.
# File `/dataconnect/schema/schema.gql`# By default, a UUID id key will be created by default as primary key.typeMovie@table{id:UUID!@default(expr:"uuidV4()")title:String!imageUrl:String!genre:String}
Przykład schematu 1:1: MovieMetadata
W przypadku filmów możesz modelować metadane filmów.
Na przykład w schema.gql możesz dodać ten fragment kodu lub kod opinii wygenerowany przez Gemini.
# Movie - MovieMetadata is a one-to-one relationshiptypeMovieMetadata@table{# This time, we omit adding a primary key because# you can rely on Data Connect to manage it.# @unique indicates a 1-1 relationshipmovie:Movie!@unique# movieId: UUID <- this is created by the above referencerating:FloatreleaseYear:Intdescription:String}
Zwróć uwagę, że pole movie jest mapowane na typ Movie.
Data Connect rozumie, że jest to relacja między Movie a MovieMetadata, i będzie zarządzać nią w Twoim imieniu.
Przepływ lokalny: dodawanie większej ilości danych do tabel
W panelu edytora IDE zobaczysz przyciski CodeLens wyświetlane nad typami GraphQL w /dataconnect/schema/schema.gql. Podobnie jak w konsoli możesz utworzyć mutację, aby dodać dane do produkcyjnej bazy danych.
Aby dodać dane do tabeli, pracując lokalnie:
W sekcji schema.gql kliknij przycisk Dodaj dane nad deklaracją jednego z typów (np. Movie, Product, Account, w zależności od charakteru aplikacji).
Do katalogu roboczego dodawany jest nowy plik, <type>_insert.qgl, np. Movie_insert.gql lub Product_insert.gql. Wpisz na stałe dane w polach tego typu.
Kliknij przycisk Uruchom (wersja produkcyjna).
Powtórz poprzednie kroki, aby dodać rekord do innych tabel.
Aby szybko sprawdzić, czy dane zostały dodane:
Wróć do schema.gql i kliknij przycisk Read data (Odczytaj dane) nad deklaracją typu.
W pliku <type>_read.gql, np. Product_read.gql, kliknij przycisk Uruchom (produkcyjnie), aby wykonać zapytanie.
Schemat i operacje łącznika są synchronizowane lokalnie.
Możesz teraz używać rozszerzenia VS Code do generowania pakietów SDK klienta, aby zacząć implementować wywołania zapytań i mutacji w aplikacjach na iOS, Androida, w internecie i Flutterze.
W interfejsie rozszerzenia kliknij przycisk Dodaj pakiet SDK do aplikacji.
W wyświetlonym oknie wybierz katalog zawierający kod aplikacji. Data ConnectKod pakietu SDK zostanie wygenerowany i zapisany w tym katalogu.
Wybierz platformę aplikacji, a następnie zwróć uwagę, że kod pakietu SDK jest od razu generowany w wybranym katalogu.
Przepływ lokalny: użyj pakietów SDK, aby wywołać zapytanie z aplikacji
Wcześniej wdrożono schemat i operacje w konsoli Firebase.
Aby wywoływać operacje z aplikacji, możesz użyć pakietu SDK, który został wygenerowany w celu zaimplementowania wywołania zapytania ListMovies.Data Connect
Aby użyć wygenerowanego pakietu SDK, skonfiguruj go jako zależność w Xcode.
Na górnym pasku nawigacyjnym Xcode wybierz File > Add Package Dependencies > Add Local (Plik > Dodaj zależności pakietu > Dodaj lokalnie) i wybierz folder zawierający wygenerowany pakiet Package.swift.
W głównym delegacie aplikacji:
Zaimportuj Data Connectpakiet SDK i wygenerowany pakiet SDK:
importFirebaseDataConnect// Generated queries.// Update as needed with the package name of your generated SDK.import<CONNECTOR-PACKAGE-NAME>
letconnector=DataConnect.moviesConnector
Wywołaj metody Data Connect:
structListMovieView:View{@StateObjectprivatevarqueryRef=connector.listMovies.ref()varbody:someView{VStack{Button{Task{do{tryawaitrefresh()}catch{print("Failed to refresh: \(error)")}}}label:{Text("Refresh")}// use the query results in a viewForEach(queryRef.data?.movies??[]){movieinText(movie.title)}}}}@MainActorfuncrefresh()asyncthrows{_=tryawaitqueryRef.execute()}structContentView_Previews:PreviewProvider{staticvarpreviews:someView{ListMovieView()}}
Aby użyć wygenerowanego pakietu SDK, skonfiguruj Data Connect jako zależność w Gradle.
Zaktualizuj plugins i dependencies w app/build.gradle.kts.
plugins{// Use whichever versions of these dependencies suit your application.// The versions shown here were the latest as of March 14, 2025.// Note, however, that the version of kotlin("plugin.serialization") must,// in general, match the version of kotlin("android").id("com.android.application")version"8.9.0"id("com.google.gms.google-services")version"4.4.2"valkotlinVersion="2.1.10"kotlin("android")versionkotlinVersionkotlin("plugin.serialization")versionkotlinVersion}dependencies{// Use whichever versions of these dependencies suit your application.// The versions shown here were the latest versions as of March 14, 2025.implementation("com.google.firebase:firebase-dataconnect:16.0.0-beta04")implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.1")implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3")// These dependencies are not strictly required, but will very likely be used// when writing modern Android applications.implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0")implementation("androidx.appcompat:appcompat:1.7.0")implementation("androidx.activity:activity-ktx:1.10.1")implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7")implementation("com.google.android.material:material:1.12.0")}
W głównym działaniu w aplikacji:
Pobierz instancję oprogramowania sprzęgającego z wygenerowanego pakietu SDK:
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-10-24 UTC."],[],[]]