يوضّح لك هذا الدليل كيفية البدء في إجراء طلبات إلى Gemini API مباشرةً من تطبيقك باستخدام Firebase AI Logic حِزم تطوير البرامج (SDK) الخاصة بالعميل للنظام الأساسي الذي اخترته.
يمكنك أيضًا استخدام هذا الدليل للبدء في الوصول إلى نماذج Imagen باستخدام حِزم تطوير البرامج (SDK) Firebase AI Logic.
كان اسم
المتطلبات الأساسية
Swift
يفترض هذا الدليل أنّك على دراية بكيفية استخدام Xcode لتطوير تطبيقات لمنصات Apple (مثل iOS).
تأكَّد من أنّ بيئة التطوير وتطبيق منصات Apple يستوفيان المتطلبات التالية:
- الإصدار 16.2 من Xcode أو إصدار أحدث
- يستهدف تطبيقك الإصدار iOS 15 أو إصدارًا أحدث، أو الإصدار macOS 12 أو إصدارًا أحدث
(اختياري) اطّلِع على التطبيق النموذجي.
يمكنك تجربة حزمة تطوير البرامج (SDK) بسرعة، أو الاطّلاع على عملية تنفيذ كاملة لمختلف حالات الاستخدام، أو استخدام التطبيق النموذجي إذا لم يكن لديك تطبيق خاص بمنصات Apple. لاستخدام التطبيق النموذجي، عليك ربطه بمشروع على Firebase.
Kotlin
يفترض هذا الدليل أنّك على دراية بكيفية استخدام "استوديو Android" لتطوير تطبيقات لنظام Android.
يجب التأكّد من أنّ بيئة التطوير وتطبيق Android يستوفيان المتطلبات التالية:
- استوديو Android (أحدث إصدار)
- يستهدف تطبيقك المستوى 21 من واجهة برمجة التطبيقات أو المستويات الأحدث
(اختياري) اطّلِع على التطبيق النموذجي.
يمكنك تجربة حزمة تطوير البرامج (SDK) بسرعة، أو الاطّلاع على عملية تنفيذ كاملة لمختلف حالات الاستخدام، أو استخدام التطبيق النموذجي إذا لم يكن لديك تطبيق Android خاص بك. لاستخدام التطبيق النموذجي، عليك ربطه بمشروع على Firebase.
Java
يفترض هذا الدليل أنّك على دراية بكيفية استخدام "استوديو Android" لتطوير تطبيقات لنظام Android.
يجب التأكّد من أنّ بيئة التطوير وتطبيق Android يستوفيان المتطلبات التالية:
- استوديو Android (أحدث إصدار)
- يستهدف تطبيقك المستوى 21 من واجهة برمجة التطبيقات أو المستويات الأحدث
(اختياري) اطّلِع على التطبيق النموذجي.
يمكنك تجربة حزمة تطوير البرامج (SDK) بسرعة، أو الاطّلاع على عملية تنفيذ كاملة لمختلف حالات الاستخدام، أو استخدام التطبيق النموذجي إذا لم يكن لديك تطبيق Android خاص بك. لاستخدام التطبيق النموذجي، عليك ربطه بمشروع على Firebase.
Web
يفترض هذا الدليل أنّك على دراية باستخدام JavaScript لتطوير تطبيقات الويب. هذا الدليل مستقل عن أي إطار عمل.
تأكَّد من أنّ بيئة التطوير وتطبيق الويب يستوفيان المتطلبات التالية:
- (اختياري) Node.js
- متصفّح ويب حديث
(اختياري) اطّلِع على التطبيق النموذجي.
يمكنك تجربة حزمة تطوير البرامج (SDK) بسرعة، أو الاطّلاع على عملية تنفيذ كاملة لمختلف حالات الاستخدام، أو استخدام التطبيق النموذجي إذا لم يكن لديك تطبيق ويب خاص بك. لاستخدام التطبيق النموذجي، عليك ربطه بمشروع على Firebase.
Dart
يفترض هذا الدليل أنّك على دراية بتطوير التطبيقات باستخدام Flutter.
تأكَّد من أنّ بيئة التطوير وتطبيق Flutter يستوفيان المتطلبات التالية:
- Dart 3.2.0 والإصدارات الأحدث
(اختياري) اطّلِع على التطبيق النموذجي.
يمكنك تجربة حزمة تطوير البرامج (SDK) بسرعة، أو الاطّلاع على عملية تنفيذ كاملة لمختلف حالات الاستخدام، أو استخدام التطبيق النموذجي إذا لم يكن لديك تطبيق Flutter خاص بك. لاستخدام التطبيق النموذجي، عليك ربطه بمشروع على Firebase.
Unity
يفترض هذا الدليل أنّك على دراية بتطوير الألعاب باستخدام Unity.
يجب التأكّد من أنّ بيئة التطوير ولعبة Unity تستوفيان المتطلبات التالية:
- الإصدار 2021 من Unity Editor أو الإصدارات الأحدث
(اختياري) اطّلِع على التطبيق النموذجي.
يمكنك تجربة حزمة تطوير البرامج (SDK) بسرعة، أو الاطّلاع على عملية تنفيذ كاملة لمختلف حالات الاستخدام، أو استخدام التطبيق النموذجي إذا لم يكن لديك لعبة Unity خاصة بك. لاستخدام التطبيق النموذجي، عليك ربطه بمشروع على Firebase.
الخطوة 1: إعداد مشروع على Firebase وربط تطبيقك به
سجِّل الدخول إلى Firebase وحدة التحكّم، ثم اختَر مشروعك على Firebase.
في وحدة تحكّم Firebase، انتقِل إلى صفحة Firebase AI Logic.
انقر على Get started (البدء) لتشغيل سير عمل موجّه يساعدك في إعداد واجهات برمجة التطبيقات المطلوبة والموارد لمشروعك.
اختَر مقدّم خدمة "Gemini API" الذي تريد استخدامه مع حِزم تطوير البرامج (SDK) الخاصة بـ Firebase AI Logic. يُنصح باستخدام Gemini Developer API للمستخدمين للمرة الأولى. يمكنك دائمًا إضافة معلومات الفوترة أو إعداد Vertex AI Gemini API لاحقًا إذا أردت ذلك.
Gemini Developer API — الفوترة اختيارية (متاحة في خطة أسعار Spark بدون تكلفة، ويمكنك الترقية لاحقًا إذا أردت ذلك)
ستفعّل وحدة التحكّم واجهات برمجة التطبيقات المطلوبة وتنشئ مفتاح واجهة برمجة تطبيقات Gemini في مشروعك.
يجب عدم إضافة مفتاح واجهة برمجة التطبيقات Gemini هذا إلى قاعدة رموز تطبيقك. مزيد من المعلوماتVertex AI Gemini API — مطلوب إعداد الفوترة (يتطلّب خطة تسعير Blaze للدفع حسب الاستخدام)
ستساعدك وحدة التحكّم في إعداد الفوترة وتفعيل واجهات برمجة التطبيقات المطلوبة في مشروعك.
إذا طُلب منك ذلك في سير عمل وحدة التحكّم، اتّبِع التعليمات الظاهرة على الشاشة لتسجيل تطبيقك وربطه بمنصة Firebase.
انتقِل إلى الخطوة التالية في هذا الدليل لإضافة حزمة تطوير البرامج (SDK) إلى تطبيقك.
الخطوة 2: إضافة حزمة تطوير البرامج (SDK)
بعد إعداد مشروعك على Firebase وربط تطبيقك به (راجِع الخطوة السابقة)، يمكنك الآن إضافة حزمة تطوير البرامج (SDK) Firebase AI Logic إلى تطبيقك.
Swift
استخدِم أداة Swift Package Manager لتثبيت الموارد الاعتمادية في Firebase وإدارتها.
تتيح مكتبة Firebase AI Logic الوصول إلى واجهات برمجة التطبيقات للتفاعل مع نماذج Gemini وImagen. يتم تضمين المكتبة
كجزء من حزمة تطوير البرامج (SDK) لمنصة Firebase على أجهزة Apple (firebase-ios-sdk
).
إذا كنت تستخدم Firebase حاليًا، تأكَّد من أنّ حزمة Firebase هي الإصدار 11.13.0 أو إصدار أحدث.
في Xcode، بعد فتح مشروع تطبيقك، انتقِل إلى ملف (File) > إضافة تبعيات الحزمة (Add Package Dependencies).
عندما يُطلب منك ذلك، أضِف مستودع حزمة تطوير البرامج (SDK) لمنصة Firebase على أجهزة Apple:
https://github.com/firebase/firebase-ios-sdk
اختَر أحدث إصدار من حزمة SDK.
اختَر مكتبة
FirebaseAI
.
عند الانتهاء، سيبدأ Xcode تلقائيًا في حلّ التبعيات وتنزيلها في الخلفية.
Kotlin
توفّر حزمة تطوير البرامج (SDK) لنظام التشغيل Android (firebase-ai
) إمكانية الوصول إلى واجهات برمجة التطبيقات للتفاعل مع نماذج Gemini وImagen.Firebase AI Logic
في ملف Gradle الخاص بالوحدة (على مستوى التطبيق) (مثل <project>/<app-module>/build.gradle.kts
)،
أضِف الاعتمادية لمكتبة Firebase AI Logic لنظام التشغيل Android.
ننصحك باستخدام
Firebase Android BoM
للتحكّم في إصدارات المكتبة.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.15.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }
باستخدام Firebase Android BoM، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Firebase Android.
Java
توفّر حزمة تطوير البرامج (SDK) لنظام التشغيل Android (firebase-ai
) إمكانية الوصول إلى واجهات برمجة التطبيقات للتفاعل مع نماذج Gemini وImagen.Firebase AI Logic
في ملف Gradle الخاص بالوحدة (على مستوى التطبيق) (مثل <project>/<app-module>/build.gradle.kts
)،
أضِف الاعتمادية لمكتبة Firebase AI Logic لنظام التشغيل Android.
ننصحك باستخدام
Firebase Android BoM
للتحكّم في إصدارات المكتبة.
بالنسبة إلى Java، عليك إضافة مكتبتَين إضافيتَين.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.15.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") // Required for one-shot operations (to use `ListenableFuture` from Guava Android) implementation("com.google.guava:guava:31.0.1-android") // Required for streaming operations (to use `Publisher` from Reactive Streams) implementation("org.reactivestreams:reactive-streams:1.0.4") }
باستخدام Firebase Android BoM، سيستخدم تطبيقك دائمًا إصدارات متوافقة من مكتبات Firebase Android.
Web
تتيح مكتبة Firebase AI Logic الوصول إلى واجهات برمجة التطبيقات للتفاعل مع نماذج Gemini وImagen. يتم تضمين المكتبة كجزء من حزمة تطوير البرامج (SDK) على الإنترنت لبرنامج Firebase JavaScript.
ثبِّت حزمة Firebase JS SDK للويب باستخدام npm:
npm install firebase
إعداد Firebase في تطبيقك:
import { initializeApp } from "firebase/app"; // TODO(developer) Replace the following with your app's Firebase configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize FirebaseApp const firebaseApp = initializeApp(firebaseConfig);
Dart
توفّر إضافة Firebase AI Logic في Flutter (firebase_ai
) إمكانية الوصول إلى واجهات برمجة التطبيقات للتفاعل مع نماذج Gemini وImagen.
من دليل مشروع Flutter، شغِّل الأمر التالي لتثبيت المكوّن الإضافي الأساسي والمكوّن الإضافي Firebase AI Logic:
flutter pub add firebase_core && flutter pub add firebase_ai
في ملف
lib/main.dart
، استورِد المكوّن الإضافي الأساسي لـ Firebase والمكوّن الإضافي Firebase AI Logic وملف الإعداد الذي أنشأته سابقًا:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';
في ملف
lib/main.dart
أيضًا، عليك إعداد Firebase باستخدام الكائنDefaultFirebaseOptions
الذي تم تصديره من ملف الإعداد:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
أعِد إنشاء تطبيق Flutter:
flutter run
Unity
نزِّل حزمة تطوير البرامج (SDK) Firebase Unity، ثم استخرِجها في مكان مناسب.
حزمة تطوير البرامج (SDK) الخاصة بـ Firebase Unity ليست خاصة بنظام أساسي معيّن.
في مشروع Unity المفتوح، انتقِل إلى Assets (الأصول) > Import Package (استيراد الحزمة) > Custom Package (حزمة مخصّصة).
من حزمة SDK التي تم استخراجها، اختَر الحزمة
FirebaseAI
.في نافذة استيراد حزمة Unity، انقر على استيراد.
في وحدة تحكّم Firebase، انقر على التالي في سير عمل الإعداد.
الخطوة 3: تهيئة الخدمة وإنشاء مثيل نموذج
انقر على مزوّد Gemini API لعرض المحتوى والرمز الخاصين بالمزوّد على هذه الصفحة. |
قبل إرسال طلب إلى نموذج Gemini،
عليك تهيئة الخدمة لموفّر واجهة برمجة التطبيقات الذي اخترته وإنشاء مثيل GenerativeModel
.
Swift
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")
Kotlin
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.5-flash")
Java
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-2.5-flash');
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.5-flash");
يُرجى العِلم أنّه استنادًا إلى الميزة التي تستخدمها، قد لا تتمكّن دائمًا من إنشاء GenerativeModel
.
- للوصول إلى Imagen نموذج،
أنشئ
ImagenModel
مثيلاً.
بعد الانتهاء من دليل البدء هذا، تعرَّف على كيفية اختيار نموذج لحالة الاستخدام والتطبيق.
الخطوة 4: إرسال طلب إلى نموذج
أنت الآن جاهز لإرسال طلب موجّه إلى نموذج Gemini.
يمكنك استخدام generateContent()
لإنشاء نص من طلب يحتوي على نص:
Swift
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")
Kotlin
في Kotlin، تكون الطرق في حزمة تطوير البرامج (SDK) هذه عبارة عن دوال معلّقة ويجب استدعاؤها من نطاق روتين فرعي.
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.5-flash")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)
Java
بالنسبة إلى Java، تعرض الطرق في حزمة تطوير البرامج (SDK) هذهListenableFuture
.
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });
// Wrap in an async function so you can use await
async function run() {
// Provide a prompt that contains text
const prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
const result = await model.generateContent(prompt);
const response = result.response;
const text = response.text();
console.log(text);
}
run();
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-2.5-flash');
// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];
// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case
var model = ai.GetGenerativeModel(modelName: "gemini-2.5-flash");
// Provide a prompt that contains text
var prompt = "Write a story about a magic backpack.";
// To generate text output, call GenerateContentAsync with the text input
var response = await model.GenerateContentAsync(prompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");
ما هي الإجراءات الأخرى التي يمكنك تنفيذها؟
مزيد من المعلومات عن النماذج المتاحة
يمكنك الاطّلاع على النماذج المتاحة لمختلف حالات الاستخدام والحصص والأسعار الخاصة بها.
تجربة إمكانات أخرى
- مزيد من المعلومات حول إنشاء نص من الطلبات التي تتضمّن نصًا فقط، بما في ذلك كيفية بث الردّ
- إنشاء نص من خلال تقديم طلب باستخدام أنواع مختلفة من الملفات، مثل الصور وملفات PDF والفيديوهات والمقاطع الصوتية
- إنشاء محادثات متعدّدة الأدوار (محادثة)
- إنشاء نتائج منظَّمة (مثل JSON) من الطلبات النصية والوسائط المتعددة
- إنشاء صور من طلبات نصية (Gemini أو Imagen)
- إدخال المحتوى وإخراجه (بما في ذلك الصوت) باستخدام Gemini Live API
- استخدِم استدعاء الدوال لربط النماذج التوليدية بالأنظمة والمعلومات الخارجية.
كيفية التحكّم في إنشاء المحتوى
- التعرّف على تصميم الطلبات، بما في ذلك أفضل الممارسات والاستراتيجيات وأمثلة على الطلبات
- ضبط مَعلمات النموذج مثل درجة الحرارة والحد الأقصى لعدد الرموز المميزة الناتجة (بالنسبة إلى Gemini) أو نسبة العرض إلى الارتفاع وإنشاء صور أشخاص (بالنسبة إلى Imagen)
- استخدام إعدادات الأمان لتعديل احتمالية تلقّي ردود قد تُعتبر ضارة
تقديم ملاحظات حول تجربتك مع Firebase AI Logic