תחילת השימוש ב-Gemini API באמצעות ערכות ה-SDK של Firebase AI Logic

במדריך הזה מוסבר איך להתחיל לבצע קריאות אל Gemini API ישירות מהאפליקציה באמצעות ערכות ה-SDK של הלקוח Firebase AI Logic עבור הפלטפורמה שבחרתם.

אפשר גם להשתמש במדריך הזה כדי להתחיל לגשת למודלים של Imagen באמצעות ערכות ה-SDK של Firebase AI Logic.

דרישות מוקדמות

Swift

במדריך הזה אנחנו מניחים שאתם יודעים איך להשתמש ב-Xcode כדי לפתח אפליקציות לפלטפורמות של Apple (כמו iOS).

  • חשוב לוודא שסביבת הפיתוח והאפליקציה לפלטפורמות של אפל עומדות בדרישות הבאות:

    • ‫Xcode מגרסה 16.2 ואילך
    • האפליקציה מטרגטת ל-iOS מגרסה 15 ואילך, או ל-macOS מגרסה 12 ואילך
  • (אופציונלי) כדאי לעיין באפליקציה לדוגמה.

    הורדת האפליקציה למתחילים

    אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציה לדוגמה אם אין לכם אפליקציה משלכם לפלטפורמות של אפל. כדי להשתמש באפליקציה לדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.

Kotlin

במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם יודעים להשתמש ב-Android Studio כדי לפתח אפליקציות ל-Android.

  • צריך לוודא שסביבת הפיתוח ואפליקציית Android עומדות בדרישות הבאות:

    • ‫Android Studio (הגרסה העדכנית)
    • האפליקציה שלך מטרגטת לרמת API‏ 21 ומעלה
  • (אופציונלי) כדאי לעיין באפליקציה לדוגמה.

    הורדת אפליקציה לדוגמה

    אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציה לדוגמה אם אין לכם אפליקציית Android משלכם. כדי להשתמש באפליקציה לדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.

Java

במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם יודעים להשתמש ב-Android Studio כדי לפתח אפליקציות ל-Android.

  • צריך לוודא שסביבת הפיתוח ואפליקציית Android עומדות בדרישות הבאות:

    • ‫Android Studio (הגרסה העדכנית)
    • האפליקציה שלך מטרגטת לרמת API‏ 21 ומעלה
  • (אופציונלי) כדאי לעיין באפליקציה לדוגמה.

    הורדת אפליקציה לדוגמה

    אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציה לדוגמה אם אין לכם אפליקציית Android משלכם. כדי להשתמש באפליקציה לדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.

Web

במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם יודעים להשתמש ב-JavaScript כדי לפתח אפליקציות אינטרנט. המדריך הזה לא תלוי במסגרת מסוימת.

  • חשוב לוודא שסביבת הפיתוח ואפליקציית האינטרנט עומדות בדרישות הבאות:

    • (אופציונלי) Node.js
    • דפדפן אינטרנט מודרני
  • (אופציונלי) כדאי לעיין באפליקציה לדוגמה.

    הורדת אפליקציה לדוגמה

    אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציה לדוגמה אם אין לכם אפליקציית אינטרנט משלכם. כדי להשתמש באפליקציה לדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.

Dart

במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם יודעים לפתח אפליקציות באמצעות Flutter.

  • צריך לוודא שסביבת הפיתוח ואפליקציית Flutter עומדות בדרישות הבאות:

    • ‫Dart 3.2.0 ואילך
  • (אופציונלי) כדאי לעיין באפליקציה לדוגמה.

    הורדת אפליקציה לדוגמה

    אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציה לדוגמה אם אין לכם אפליקציית Flutter משלכם. כדי להשתמש באפליקציה לדוגמה, תצטרכו לקשר אותה לפרויקט Firebase.

Unity

במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם מכירים את פיתוח המשחקים באמצעות Unity.

  • צריך לוודא שסביבת הפיתוח ומשחק Unity עומדים בדרישות הבאות:

    • Unity Editor 2021 LTS או גרסה חדשה יותר
  • (אופציונלי) כדאי לעיין באפליקציה לדוגמה.

    הורדת אפליקציה לדוגמה

    אתם יכולים לנסות את ה-SDK במהירות, לראות הטמעה מלאה של תרחישי שימוש שונים או להשתמש באפליקציה לדוגמה אם אין לכם משחק Unity משלכם. כדי להשתמש באפליקציה לדוגמה, צריך לקשר אותה לפרויקט Firebase.

שלב 1: הגדרת פרויקט ב-Firebase וקישור האפליקציה

  1. נכנסים אל מסוף Firebase ואז בוחרים את הפרויקט ב-Firebase.

  2. במסוף Firebase, עוברים לדף Firebase AI Logic.

  3. לוחצים על Get started (תחילת העבודה) כדי להפעיל תהליך עבודה מודרך שיעזור לכם להגדיר את ממשקי ה-API והמשאבים הנדרשים לפרויקט.

  4. בוחרים את ספק Gemini API שרוצים להשתמש בו עם ערכות ה-SDK של Firebase AI Logic. מומלץ למשתמשים חדשים.Gemini Developer API תמיד אפשר להוסיף פרטי חיוב או להגדיר את Vertex AI Gemini API מאוחר יותר.

    • Gemini Developer APIחיוב אופציונלי (זמין בתוכנית התמחור Spark ללא עלות, ותוכלו לשדרג בהמשך אם תרצו)
      במסוף יופעלו ממשקי ה-API הנדרשים וייווצר מפתח API של Gemini בפרויקט שלכם.
      אין להוסיף את Gemini מפתח ה-API הזה לבסיס הקוד של האפליקציה. מידע נוסף

    • Vertex AI Gemini APIנדרש חיוב (נדרש תוכנית התמחור Blaze בתשלום לפי שימוש)
      המסוף יעזור לכם להגדיר חיוב ולהפעיל את ממשקי ה-API הנדרשים בפרויקט.

  5. אם מופיעה בקשה בתהליך העבודה של המסוף, פועלים לפי ההוראות במסך כדי לרשום את האפליקציה ולחבר אותה ל-Firebase.

  6. כדי להוסיף את ה-SDK לאפליקציה, ממשיכים לשלב הבא במדריך הזה.

שלב 2: הוספת ה-SDK

אחרי שמגדירים את פרויקט Firebase ומקשרים את האפליקציה ל-Firebase (ראו שלב קודם), אפשר להוסיף את ה-SDK לאפליקציה.Firebase AI Logic

Swift

משתמשים ב-Swift Package Manager כדי להתקין ולנהל יחסי תלות ב-Firebase.

הספרייה Firebase AI Logic מספקת גישה לממשקי ה-API לאינטראקציה עם מודלים של Gemini ו-Imagen. הספרייה כלולה כחלק מ-Firebase SDK לפלטפורמות של אפל (firebase-ios-sdk).

אם אתם כבר משתמשים ב-Firebase, אתם צריכים לוודא שחבילת Firebase שלכם היא גרסה 11.13.0 ואילך.

  1. ב-Xcode, כשהפרויקט של האפליקציה פתוח, עוברים אל File > Add Package Dependencies (קובץ > הוספת תלות בחבילה).

  2. כשמוצגת בקשה, מוסיפים את מאגר Firebase Apple platforms SDK:

    https://github.com/firebase/firebase-ios-sdk
    
  3. בוחרים את גרסת ה-SDK העדכנית ביותר.

  4. בוחרים בספרייה FirebaseAI.

אחרי שתסיימו, פלטפורמת Xcode תתחיל אוטומטית לטפל ביחסי התלות ולהוריד אותם ברקע.

Kotlin

Firebase AI Logic SDK ל-Android‏ (firebase-ai) מספק גישה לממשקי ה-API לאינטראקציה עם מודלים של Gemini ושל Imagen.

בקובץ 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

Firebase AI Logic SDK ל-Android‏ (firebase-ai) מספק גישה לממשקי ה-API לאינטראקציה עם מודלים של Gemini ושל Imagen.

בקובץ 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 מספקת גישה לממשקי ה-API לאינטראקציה עם מודלים של Gemini ו-Imagen. הספרייה כלולה ב-Firebase JavaScript SDK לאינטרנט.

  1. מתקינים את Firebase JS SDK לאינטרנט באמצעות npm:

    npm install firebase
    
  2. מפעילים את 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) מספק גישה לממשקי ה-API לצורך אינטראקציה עם מודלים של Gemini ו-Imagen.

  1. מריצים את הפקודה הבאה מספריית פרויקט Flutter כדי להתקין את פלאגין הליבה ואת הפלאגין Firebase AI Logic:

    flutter pub add firebase_core && flutter pub add firebase_ai
    
  2. בקובץ 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';
    
  3. בנוסף, בקובץ lib/main.dart, מאתחלים את Firebase באמצעות האובייקט DefaultFirebaseOptions שמיוצא מקובץ ההגדרות:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. בונים מחדש את אפליקציית Flutter:

    flutter run
    

Unity

  1. מורידים את Firebase Unity SDK ומחלצים את ה-SDK למיקום נוח.

    ערכת ה-SDK‏ Firebase Unity לא ספציפית לפלטפורמה.

  2. בפרויקט הפתוח ב-Unity, מנווטים אל Assets (נכסים) > Import Package (ייבוא חבילה) > Custom Package (חבילה מותאמת אישית).

  3. מתוך ה-SDK שחולץ, בוחרים בחבילה FirebaseAI.

  4. בחלון Import Unity Package (ייבוא חבילת Unity), לוחצים על Import (ייבוא).

  5. חוזרים למסוף Firebase ובתהליך ההגדרה לוחצים על הבא.

שלב 3: הפעלת השירות ויצירת מופע של מודל

לוחצים על הספק Gemini API כדי לראות בדף הזה תוכן וקוד שספציפיים לספק.

לפני ששולחים הנחיה למודל Gemini, צריך לאתחל את השירות עבור ספק ה-API שבחרתם וליצור מופע 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, בהתאם ליכולת שבה אתם משתמשים.

בנוסף, אחרי שתסיימו את המדריך הזה למתחילים, תוכלו ללמוד איך לבחור מודל לתרחיש השימוש ולאפליקציה שלכם.

שלב 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 הזה הן פונקציות השהיה וצריך להפעיל אותן מהיקף של Coroutine.

// 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.");

מה עוד אפשר לעשות?

מידע נוסף על המודלים הנתמכים

מידע על המודלים שזמינים לתרחישי שימוש שונים ועל המיכסות והתמחור שלהם

כדאי לנסות יכולות אחרות

איך שולטים ביצירת תוכן

אפשר גם להתנסות בהנחיות ובתצורות של מודלים, ואפילו לקבל קטע קוד שנוצר באמצעות Google AI Studio.


רוצה לתת משוב על חוויית השימוש ב-Firebase AI Logic?