در این شروع سریع، یاد خواهید گرفت که چگونه Firebase Data Connect در برنامه خود با یک نمونه تولیدی SQL ایجاد کنید.
در کنسول Firebase شما:
- Firebase Data Connect به پروژه Firebase خود اضافه کنید.
- طرحی برای یک برنامه با تولید طرحواره به کمک هوش مصنوعی در کنسول Firebase ایجاد کنید و آن را مستقر کنید.
- یک نمونه Cloud SQL برای برنامه خود تهیه کنید.
- با Gemini در Firebase ، پایگاه داده خود را با داده های نمونه پر کنید.
- پرس و جوها و جهشها را با تولید عملیات به کمک هوش مصنوعی ایجاد کنید، که میتوانید آنها را مستقر کرده و برای توسعه کد مشتری به صورت محلی استفاده کنید.
سپس، در محیط توسعه محلی خود، شما:
- یک ابزار توسعه شامل پسوند Visual Studio Code برای کار با نمونه تولید خود تنظیم کنید.
- محیط محلی خود را با دارایی هایی که در کنسول ایجاد کرده اید همگام سازی کنید.
- SDKهایی با تایپ قوی ایجاد کنید و از آنها در برنامه خود استفاده کنید.
جریان کنسول: از کمک هوش مصنوعی برای طراحی طرحواره خود استفاده کنید، سپس آن را در پایگاه داده خود مستقر کنید
- اگر قبلاً این کار را نکرده اید، یک پروژه Firebase ایجاد کنید.
- در کنسول Firebase ، روی افزودن پروژه کلیک کنید، سپس دستورالعملهای روی صفحه را دنبال کنید.
- به بخش Data Connect کنسول Firebase بروید.
- روی دکمه شروع با جمینی کلیک کنید.
- در پانل گردش کار Schema Generator که ظاهر میشود، یک برنامه را توصیف کنید تا Gemini بتواند به ایجاد یک طرح GraphQL با شما کمک کند.
- طرح GraphQL را مرور کنید، سپس روی Upgrade و Deploy کلیک کنید.
پروژه خود را به پلان Blaze ارتقا دهید. این به شما امکان می دهد یک Cloud SQL برای نمونه PostgreSQL ایجاد کنید.
Create a new Cloud SQL instance را انتخاب کنید. در گفتگوی ظاهر شده، یک مکان و نامگذاری برای پایگاه داده Cloud SQL برای PostgreSQL خود انتخاب کنید.
طرح برنامه شما به همراه یک پایگاه داده PostgreSQL مربوط به آن طرح استقرار یافته است.
جریان کنسول: از کمک هوش مصنوعی برای ایجاد عملیات برای مشتریان خود استفاده کنید
هنگامی که طرح شما مستقر شد، می توانید اولین گام ها را برای در دسترس قرار دادن این داده ها از برنامه های سرویس گیرنده خود با ایجاد یک اتصال دهنده از پرس و جوها و جهش ها برای استقرار در backend و بعداً تماس از مشتریان بردارید.
ابزارهای کمکی هوش مصنوعی ما اینجا هستند تا به شما کمک کنند.
وقتی از شما خواسته شد، روی دکمه Generate operations with Gemini کلیک کنید.
پس از چند لحظه، در پنل Generate your Operations Workflow که ظاهر میشود، فهرست پرسوجوها و جهشهای ارائه شده توسط Gemini را بر اساس طرح شما مرور کنید.
برای بررسی کد GraphQL که آن عملیات را تعریف می کند، روی هر ردیف عملیات کلیک کنید. در صورت لزوم، از کنترل سطل زباله برای حذف عملیاتی که به آن نیاز ندارید استفاده کنید.
برای افزودن عملیات، روی دکمه + افزودن کلیک کنید. سپس:
عملیات خود را به زبان طبیعی شرح دهید.
به عنوان مثال:
List all products
GraphQL تولید شده را مرور کنید.
اگر عملیات قابل قبول است، روی Insert کلیک کنید تا آن را به لیست عملیات خود اضافه کنید.
حذف و افزودن عملیات را تا زمانی که مجموعه عملیات شما قابل قبول باشد ادامه دهید.
برای استقرار این لیست از عملیات به عنوان یک مجموعه اتصال دهنده قابل فراخوانی مشتری، نام رابط را انتخاب کنید، سپس روی Deploy کلیک کنید.
جریان کنسول: از Gemini در Firebase برای ایجاد یک جهش و پر کردن پایگاه داده خود استفاده کنید
با تکمیل مراحل قبلی، شما یک طرحواره Data Connect متشکل از انواع موجودیت مرتبط ایجاد کردید و آن را برای تولید مستقر کردید، به این معنی که یک پایگاه داده PostgreSQL با جداول مربوطه نیز ایجاد و مستقر شد.
برای پر کردن پایگاه داده خود، می توانید از Gemini در Firebase استفاده کنید تا به شما کمک کند ورودی های زبان طبیعی خود را برای تعریف یک جهش GraphQL برای به روز رسانی یکی از جداول خود و یک پرس و جو برای تأیید به روز رسانی های خود استفاده کنید.
تب Data را باز کنید.
روی نماد Help me write GraphQL pen_spark کلیک کنید و در کادری که ظاهر میشود، ورودی خود را تایپ کنید.
به عنوان مثال:
Add data for three sample products to my app.
روی Generate کلیک کنید. جهش برگردانده شده است.
خروجی را مرور کنید. در صورت نیاز، روی Edit کلیک کنید تا درخواست اصلاح شود و روی Regenerate کلیک کنید.
سپس روی Insert کلیک کنید تا جهش در ویرایشگر داده وارد شود.
روی Run کلیک کنید.
هنگامی که جهش را اجرا می کنید، داده ها در جدول قابل اجرا در پایگاه داده PostgreSQL شما نوشته می شود. برای مشاهده داده های ذخیره شده می توانید یک پرس و جو در کنسول ایجاد کنید:
مراحل قبلی را با استفاده از Help me write GraphQL pen_spark برای ایجاد یک پرس و جو تکرار کنید.
در کادر ظاهر شده، ورودی خود را تایپ کنید.
به عنوان مثال:
Query data for all sample products in my app.
روی Generate و سپس Run کلیک کنید.
جریان محلی: ابزار توسعه را انتخاب کنید
اکنون که دادههای خود را در پایگاه داده مستقر کردهاید، و یک رابط مستقر کردهاید، میتوانید به توسعه طرحواره و رابطهای خود در محیط توسعه محلی خود ادامه دهید.
ابتدا باید یک محیط محلی راه اندازی کنید. Data Connect دو راه را برای نصب ابزارهای توسعه به شما ارائه می دهد.
جریان محلی: محیط توسعه را تنظیم کنید
- یک دایرکتوری جدید برای پروژه محلی خود ایجاد کنید.
دستور زیر را در دایرکتوری جدیدی که ایجاد کردید اجرا کنید.
curl -sL https://firebase.tools/dataconnect | bash
این اسکریپت سعی می کند محیط توسعه را برای شما تنظیم کند و یک IDE مبتنی بر مرورگر راه اندازی کند. این IDE ابزارهایی از جمله پسوندهای کد VS از پیش همراه را فراهم می کند تا به شما کمک کند طرحواره خود را مدیریت کنید و پرس و جوها و جهش هایی را برای استفاده در برنامه خود تعریف کنید و SDK هایی با تایپ قوی ایجاد کنید.
alias dataconnect='curl -sL https://firebase.tools/dataconnect | bash'
جریان محلی: دایرکتوری پروژه خود را تنظیم کنید
برای راه اندازی پروژه محلی خود، دایرکتوری پروژه خود را مقداردهی اولیه کنید. در پنجره IDE، در پانل سمت چپ، روی نماد Firebase کلیک کنید تا رابط کاربری افزونه Data Connect VS Code باز شود:
- روی دکمه Sign in with Google کلیک کنید.
- روی دکمه Connect a Firebase project کلیک کنید و پروژه ای را که قبلا در کنسول ایجاد کردید انتخاب کنید.
روی دکمه Run firebase init کلیک کنید و جریان را کامل کنید.
روی دکمه Start emulators کلیک کنید.
جریان محلی: طرح و رابط خود را در محیط محلی پیدا کنید
مرحله firebase init
در بخش قبل دارایی ها را با محیط توسعه محلی شما همگام می کند:
- این طرحی را که شما مستقر کرده اید همگام می کند
- طرح خود را پیدا کنید: در فهرست پروژه Firebase شما، در فایل
/dataconnect/schema/schema.gql
قرار دارد.
- طرح خود را پیدا کنید: در فهرست پروژه Firebase شما، در فایل
- پرس و جوها و جهش ها را در رابطی که شما مستقر کرده اید همگام می کند
- رابط خود را پیدا کنید: عملیات در فهرست پروژه Firebase شما، در فهرست
/dataconnect/connector/
قرار دارد.
- رابط خود را پیدا کنید: عملیات در فهرست پروژه Firebase شما، در فهرست
جریان محلی: طرح واره خود را درک کنید
مثال طرحواره: فیلم
در Data Connect ، فیلدهای GraphQL به ستونها نگاشت میشوند. یک نوع Movie
احتمالاً دارای id
، title
، imageUrl
و genre
خواهد بود. Data Connect انواع داده های اولیه String
و UUID
را تشخیص می دهد.
# File `/dataconnect/schema/schema.gql`
# By default, a UUID id key will be created by default as primary key.
type Movie @table {
id: UUID! @default(expr: "uuidV4()")
title: String!
imageUrl: String!
genre: String
}
جدول طرحواره 1:1: MovieMetadata
با فیلمها، میتوانید ابرداده فیلم را مدلسازی کنید.
برای مثال، در schema.gql
، میتوانید قطعه یا کد بررسی زیر را که توسط Gemini تولید شده است اضافه کنید.
# Movie - MovieMetadata is a one-to-one relationship
type MovieMetadata @table {
# This time, we omit adding a primary key because
# you can rely on Data Connect to manage it.
# @unique indicates a 1-1 relationship
movie: Movie! @unique
# movieId: UUID <- this is created by the above reference
rating: Float
releaseYear: Int
description: String
}
توجه داشته باشید که فیلد movie
به نوعی از Movie
نگاشت شده است. Data Connect می داند که این رابطه بین Movie
و MovieMetadata
است و این رابطه را برای شما مدیریت می کند.
درباره طرحواره های Data Connect در مستندات بیشتر بیاموزید
جریان محلی: داده های بیشتری را به جداول خود اضافه کنید
در پانل ویرایشگر IDE، میتوانید مشاهده کنید که دکمههای CodeLens روی انواع GraphQL در /dataconnect/schema/schema.gql
ظاهر میشوند. همانطور که در کنسول انجام دادید، می توانید یک جهش ایجاد کنید تا داده ها را به پایگاه داده تولید خود اضافه کنید.
کار به صورت محلی، برای افزودن داده به جدول:
- در
schema.gql
، روی دکمه افزودن داده در بالای اعلامیه برای یکی از انواع خود (مثلMovie
،Product
،Account
، بسته به ماهیت برنامه) کلیک کنید. - یک فایل جدید،
<type>_insert.qgl
، به فهرست کاری شما، مانندMovie_insert.gql
یاProduct_insert.gql
اضافه می شود. داده های کد سخت در فیلدهای مربوط به آن نوع. - روی دکمه Run (Production) کلیک کنید.
- برای افزودن رکورد به جداول دیگر مراحل قبلی را تکرار کنید.
برای تأیید سریع داده ها اضافه شد:
- به
schema.gql
برگردید، روی دکمه Read data بالای اعلان نوع کلیک کنید. - در فایل
<type>_read.gql
ایجاد شده، مانندProduct_read.gql
، روی دکمه Run (Production) کلیک کنید تا کوئری اجرا شود.
درباره جهش های Data Connect در مستندات بیشتر بیاموزید
جریان محلی: ایجاد SDK
عملیات طرح و اتصال شما به صورت محلی همگام سازی می شود. اکنون می توانید از ابزارهای محلی برای تولید SDK های مشتری استفاده کنید تا شروع به اجرای فراخوانی به پرس و جوها و جهش ها در برنامه های iOS، Android، وب و Flutter کنید.
- روی دکمه افزودن SDK به برنامه کلیک کنید.
در گفتگوی ظاهر شده، دایرکتوری حاوی کد برنامه خود را انتخاب کنید. کد SDK Data Connect در آنجا تولید و ذخیره خواهد شد.
پلت فرم برنامه خود را انتخاب کنید، سپس توجه داشته باشید که کد SDK بلافاصله در فهرست انتخابی شما ایجاد می شود.
جریان محلی: از SDK ها برای فراخوانی درخواست خود از یک برنامه استفاده کنید
اکنون که طرحواره به روز شده شما (در صورت وجود). و درخواست شما برای تولید مستقر می شود، می توانید از SDK که Data Connect ایجاد کرده است برای اجرای فراخوانی به درخواست ListMovies
خود استفاده کنید.
وب
- Firebase را به برنامه وب خود اضافه کنید.
در فایل اصلی برنامه React شما:
- SDK تولید شده خود را وارد کنید
- روش های Data Connect فراخوانی کنید.
import React from 'react'; import ReactDOM from 'react-dom/client'; // Generated queries. // Update as needed with the path to your generated SDK. import { listMovies, ListMoviesData } from '@movie-app/movies'; function App() { const [movies, setMovies] = useState<ListMoviesData['movies']>([]); useEffect(() => { listMovies.then(res => setMovies(res.data)); }, []); return ( movies.map(movie => <h1>{movie.title}</h1>); ); } const root = ReactDOM.createRoot(document.getElementById('root')); root.render(<App />);
سویفت
- Firebase را به برنامه iOS خود اضافه کنید.
برای استفاده از SDK تولید شده، آن را به عنوان یک وابستگی در Xcode پیکربندی کنید.
در نوار پیمایش بالای Xcode، File > Add Package Dependencies > Add Local را انتخاب کنید و پوشه حاوی
Package.swift
تولید شده را انتخاب کنید.در نماینده اصلی برنامه شما:
- SDK تولید شده خود را وارد کنید
- روش های Data Connect فراخوانی کنید.
import SwiftUI import FirebaseDataConnect // Generated queries. // Update as needed with the package name of your generated SDK. import <CONNECTOR-PACKAGE-NAME> let connector = DataConnect.moviesConnector struct ListMovieView: View { @StateObject private var queryRef = connector.listMovies.ref() var body: some View { VStack { Button { Task { do { try await refresh() } catch { print("Failed to refresh: \(error)") } } } label: { Text("Refresh") } // use the query results in a view ForEach(queryRef.data?.movies ?? []) { movie in Text(movie.title) } } } @MainActor func refresh() async throws { _ = try await queryRef.execute() } struct ContentView_Previews: PreviewProvider { static var previews: some View { ListMovieView() } }
کاتلین اندروید
- Firebase را به برنامه اندروید خود اضافه کنید.
برای استفاده از SDK تولید شده، Data Connect به عنوان یک وابستگی در Gradle پیکربندی کنید.
plugins
وdependencies
در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" val kotlinVersion = "2.1.10" kotlin("android") version kotlinVersion kotlin("plugin.serialization") version kotlinVersion } 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") }
در فعالیت اصلی برنامه شما:
- SDK تولید شده خود را وارد کنید
- روش های Data Connect فراخوانی کنید.
import android.os.Bundle import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle import kotlinx.coroutines.launch private val connector = com.myapplication.MoviesConnector.instance class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textView: TextView = findViewById(R.id.text_view) lifecycleScope.launch { lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) { val result = connector.listMovies.runCatching { execute { } } val newTextViewText = result.fold( onSuccess = { val titles = it.data.movies.map { it.title } "${titles.size} movies: " + titles.joinToString(", ") }, onFailure = { "ERROR: ${it.message}" } ) textView.text = newTextViewText } } } }
بال زدن
- Firebase را به برنامه Flutter خود اضافه کنید.
- flutterfire CLI
dart pub global activate flutterfire_cli
. -
flutterfire configure
اجرا کنید. - در عملکرد اصلی برنامه شما:
- SDK تولید شده خود را وارد کنید
- روش های Data Connect فراخوانی کنید.
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'firebase_options.dart';
// Generated queries.
// Update as needed with the path to your generated SDK
import 'movies_connector/movies.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Column(children: [
ConstrainedBox(
constraints: const BoxConstraints(maxHeight: 200),
child: FutureBuilder(
future: MoviesConnector.instance.listMovies().execute(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
return ListView.builder(
scrollDirection: Axis.vertical,
itemBuilder: (context, index) => Card(
child: Text(
snapshot.data!.data.movies[index].title,
)),
itemCount: snapshot.data!.data.movies.length,
);
}
return const CircularProgressIndicator();
}),
)
])));
}
}
مراحل بعدی
پروژه مستقر خود را مرور کنید و ابزارهای بیشتری را کشف کنید:
- داده ها را به پایگاه داده خود اضافه کنید، طرحواره های خود را بررسی و اصلاح کنید، و سرویس Data Connect خود را در کنسول Firebase نظارت کنید.
به اطلاعات بیشتر در اسناد دسترسی پیدا کنید. به عنوان مثال، از آنجایی که شروع سریع را کامل کرده اید:
- ابزارهای کمکی و راهنمایی های بیشتر هوش مصنوعی را کشف کنید تا به شما در ایجاد طرحواره ها، پرس و جوها و جهش ها کمک کند. راهنمای کمک هوش مصنوعی بهترین شیوه ها برای نوشتن درخواست ها را پوشش می دهد.
- درباره طرحواره، پرس و جو و توسعه جهش بیشتر بیاموزید
- درباره ایجاد SDK های مشتری و درخواست های تماس و جهش از کد مشتری برای وب ، Android ، iOS و Flutter بیاموزید.