Inizia a utilizzare l'API Gemini con gli SDK Firebase AI Logic

Questa guida mostra come iniziare a effettuare chiamate all'API Gemini API direttamente dalla tua app utilizzando gli SDK client Firebase AI Logic per la piattaforma che preferisci.

Puoi anche utilizzare questa guida per iniziare ad accedere ai modelli Imagen utilizzando gli SDK Firebase AI Logic.

Prerequisiti

Swift

Questa guida presuppone che tu abbia familiarità con l'utilizzo di Xcode per sviluppare app per piattaforme Apple (come iOS).

  • Assicurati che il tuo ambiente di sviluppo e l'app per le piattaforme Apple soddisfino questi requisiti:

    • Xcode 16.2 o versioni successive
    • La tua app ha come target iOS 15 o versioni successive oppure macOS 12 o versioni successive
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scaricare l'app di avvio rapido

    Puoi provare rapidamente l'SDK, vedere un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai un'app per piattaforme Apple. Per utilizzare l'app di esempio, devi collegarla a un progetto Firebase.

Kotlin

Questa guida presuppone che tu abbia familiarità con l'utilizzo di Android Studio per sviluppare app per Android.

  • Assicurati che il tuo ambiente di sviluppo e la tua app per Android soddisfino questi requisiti:

    • Android Studio (ultima versione)
    • La tua app ha come target il livello API 21 o versioni successive
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di esempio

    Puoi provare rapidamente l'SDK, vedere un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai un'app Android. Per utilizzare l'app di esempio, devi collegarla a un progetto Firebase.

Java

Questa guida presuppone che tu abbia familiarità con l'utilizzo di Android Studio per sviluppare app per Android.

  • Assicurati che il tuo ambiente di sviluppo e la tua app per Android soddisfino questi requisiti:

    • Android Studio (ultima versione)
    • La tua app ha come target il livello API 21 o versioni successive
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di esempio

    Puoi provare rapidamente l'SDK, vedere un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai un'app Android. Per utilizzare l'app di esempio, devi collegarla a un progetto Firebase.

Web

Questa guida presuppone che tu abbia familiarità con l'utilizzo di JavaScript per sviluppare app web. Questa guida è indipendente dal framework.

  • Assicurati che il tuo ambiente di sviluppo e la tua app web soddisfino i seguenti requisiti:

    • (Facoltativo) Node.js
    • Browser web moderno
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di esempio

    Puoi provare rapidamente l'SDK, vedere un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai una tua app web. Per utilizzare l'app di esempio, devi collegarla a un progetto Firebase.

Dart

Questa guida presuppone che tu abbia familiarità con lo sviluppo di app con Flutter.

  • Assicurati che il tuo ambiente di sviluppo e la tua app Flutter soddisfino questi requisiti:

    • Dart 3.2.0 o versioni successive
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di esempio

    Puoi provare rapidamente l'SDK, vedere un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai un'app Flutter. Per utilizzare l'app di esempio, devi collegarla a un progetto Firebase.

Unity

Questa guida presuppone che tu abbia familiarità con lo sviluppo di giochi con Unity.

  • Assicurati che il tuo ambiente di sviluppo e il gioco Unity soddisfino questi requisiti:

    • Unity Editor 2021 LTS o versioni successive
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di esempio

    Puoi provare rapidamente l'SDK, vedere un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai un gioco Unity. Per utilizzare l'app di esempio, devi collegarla a un progetto Firebase.

Passaggio 1: configura un progetto Firebase e connetti la tua app

  1. Accedi alla console Firebase, quindi seleziona il tuo progetto Firebase.

  2. Nella console Firebase, vai alla pagina Firebase AI Logic.

  3. Fai clic su Inizia per avviare un flusso di lavoro guidato che ti aiuti a configurare le API richieste e le risorse per il tuo progetto.

  4. Seleziona il fornitore "Gemini API" che vuoi utilizzare con gli SDK Firebase AI Logic. Gemini Developer API è consigliato per gli utenti alle prime armi. Puoi sempre aggiungere i dati di fatturazione o configurare Vertex AI Gemini API in un secondo momento, se vuoi.

    • Gemini Developer API: opzione di fatturazione (disponibile con il piano tariffario Spark senza costi, con possibilità di eseguire l'upgrade in un secondo momento, se desiderato)
      La console abiliterà le API richieste e creerà una chiave API Gemini nel tuo progetto.
      Non aggiungere questa chiave API Gemini al codebase della tua app. Scopri di più.

    • Vertex AI Gemini API: è richiesta la fatturazione (richiede il piano tariffario Blaze con pagamento a consumo)
      La console ti aiuterà a configurare la fatturazione e ad abilitare le API richieste nel tuo progetto.

  5. Se richiesto nel flusso di lavoro della console, segui le istruzioni sullo schermo per registrare la tua app e connetterla a Firebase.

  6. Continua con il passaggio successivo di questa guida per aggiungere l'SDK alla tua app.

Passaggio 2: aggiungi l'SDK

Dopo aver configurato il progetto Firebase e connesso l'app a Firebase (vedi il passaggio precedente), ora puoi aggiungere l'SDK Firebase AI Logic alla tua app.

Swift

Utilizza Swift Package Manager per installare e gestire le dipendenze di Firebase.

La libreria Firebase AI Logic fornisce l'accesso alle API per interagire con i modelli Gemini e Imagen. La libreria è inclusa nell'SDK Firebase per le piattaforme Apple (firebase-ios-sdk).

Se utilizzi già Firebase, assicurati che il pacchetto Firebase sia la versione 11.13.0 o successive.

  1. In Xcode, con il progetto dell'app aperto, vai a File > Add Package Dependencies (File > Aggiungi dipendenze pacchetto).

  2. Quando richiesto, aggiungi il repository dell'SDK delle piattaforme Apple di Firebase:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Seleziona l'ultima versione dell'SDK.

  4. Seleziona la libreria FirebaseAI.

Al termine, Xcode inizierà automaticamente a risolvere e a scaricare le tue dipendenze in background.

Kotlin

L'SDK Firebase AI Logic per Android (firebase-ai) fornisce l'accesso alle API per interagire con i modelli Gemini e Imagen.

Nel file Gradle (a livello di app) del modulo (ad esempio <project>/<app-module>/build.gradle.kts), aggiungi la dipendenza per la libreria Firebase AI Logic per Android. Ti consigliamo di utilizzare Firebase Android BoM per controllare il controllo delle versioni della libreria.

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")
}

Utilizzando la Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.

Java

L'SDK Firebase AI Logic per Android (firebase-ai) fornisce l'accesso alle API per interagire con i modelli Gemini e Imagen.

Nel file Gradle (a livello di app) del modulo (ad esempio <project>/<app-module>/build.gradle.kts), aggiungi la dipendenza per la libreria Firebase AI Logic per Android. Ti consigliamo di utilizzare Firebase Android BoM per controllare il controllo delle versioni della libreria.

Per Java, devi aggiungere due librerie aggiuntive.

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")
}

Utilizzando la Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.

Web

La libreria Firebase AI Logic fornisce l'accesso alle API per interagire con i modelli Gemini e Imagen. La libreria è inclusa nell'SDK Firebase JavaScript per il web.

  1. Installa l'SDK Firebase JS per il web utilizzando npm:

    npm install firebase
    
  2. Inizializza Firebase nella tua app:

    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

Il plug-in Firebase AI Logic per Flutter (firebase_ai) fornisce l'accesso alle API per interagire con i modelli Gemini e Imagen.

  1. Dalla directory del progetto Flutter, esegui questo comando per installare il plug-in principale e il plug-in Firebase AI Logic:

    flutter pub add firebase_core && flutter pub add firebase_ai
    
  2. Nel file lib/main.dart, importa il plug-in Firebase Core, il plug-in Firebase AI Logic e il file di configurazione che hai generato in precedenza:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. Inoltre, nel file lib/main.dart, inizializza Firebase utilizzando l'oggetto DefaultFirebaseOptions esportato dal file di configurazione:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Ricrea l'applicazione Flutter:

    flutter run
    

Unity

  1. Scarica l'SDK Firebase Unity, quindi estrailo in una posizione comoda.

    L'SDK Firebase Unity non è specifico della piattaforma.

  2. Nel tuo progetto Unity aperto, vai a Assets > Import Package > Custom Package (Risorse > Importa pacchetto > Pacchetto personalizzato).

  3. Dall'SDK estratto, seleziona il pacchetto FirebaseAI.

  4. Nella finestra Import Unity Package (Importa il pacchetto Unity), fai clic su Import (Importa).

  5. Nella console Firebase, nel flusso di lavoro di configurazione, fai clic su Avanti.

Passaggio 3: inizializza il servizio e crea un'istanza del modello

Fai clic sul tuo fornitore Gemini API per visualizzare i contenuti e il codice specifici del fornitore in questa pagina.

Prima di inviare un prompt a un modello Gemini, inizializza il servizio per il provider API scelto e crea un'istanza 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");

Tieni presente che, a seconda della funzionalità che utilizzi, potresti non creare sempre un'istanza GenerativeModel.

Inoltre, dopo aver completato questa guida introduttiva, scopri come scegliere un modello per il tuo caso d'uso e la tua app.

Passaggio 4: invia una richiesta di prompt a un modello

Ora puoi inviare una richiesta di prompt a un modello Gemini.

Puoi utilizzare generateContent() per generare testo da un prompt che contiene testo:

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

Per Kotlin, i metodi in questo SDK sono funzioni di sospensione e devono essere chiamati da un ambito di 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

Per Java, i metodi in questo SDK restituiscono un 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.");

Cos'altro puoi fare?

Scopri di più sui modelli supportati

Scopri di più sui modelli disponibili per vari casi d'uso e sulle relative quote e prezzi.

Prova altre funzionalità

Scopri come controllare la generazione di contenuti

Puoi anche sperimentare prompt e configurazioni del modello e persino ottenere uno snippet di codice generato utilizzando Google AI Studio.


Fornisci un feedback sulla tua esperienza con Firebase AI Logic