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

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

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

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

Swift

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

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

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

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

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

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

      אם תרצו לשדרג את תוכנית התמחור, תוכלו להגדיר את החיוב מאוחר יותר.

    • 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 לפלטפורמות של Apple‏ (firebase-ios-sdk).

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

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

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

    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.14.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.14.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. כדי להתקין את הפלאגין של הליבה ואת הפלאגין Firebase AI Logic, מריצים את הפקודה הבאה מהספרייה של פרויקט Flutter:

    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. בחלון ייבוא חבילת Unity, לוחצים על ייבוא.

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

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

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

כשמשתמשים ב-SDK ללקוח של Firebase AI Logic עם Gemini Developer API, לא מוסיפים את מפתח ה-API של Gemini לקוד הבסיסי של האפליקציה. מידע נוסף

לפני ששולחים הנחיה למודל 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.0-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.0-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.0-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.0-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.0-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.0-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.0-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 הזה הן פונקציות השהיה (suspend) וצריך לקרוא להן מהיקף של פונקציית אירוע (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.0-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.0-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.0-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.0-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.0-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