Questa guida illustra come iniziare a effettuare chiamate a Gemini API direttamente dalla tua app utilizzando gli SDK client Firebase AI Logic per la piattaforma scelta.
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 dimestichezza con l'utilizzo di Xcode per sviluppare app per le piattaforme Apple (come iOS).
Assicurati che l'ambiente di sviluppo e l'app per le piattaforme Apple soddisfino questi requisiti:
- Xcode 16.2 o versioni successive
- L'app ha come target iOS 15 o versioni successive o macOS 12 o versioni successive
(Facoltativo) Dai un'occhiata all'app di esempio.
Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai un'app per le piattaforme Apple. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.
Kotlin
Questa guida presuppone che tu abbia dimestichezza con l'utilizzo di Android Studio per sviluppare app per Android.
Assicurati che l'ambiente di sviluppo e l'app per Android soddisfino i seguenti requisiti:
- Android Studio (ultima versione)
- L'app ha come target il livello API 21 o versioni successive
(Facoltativo) Dai un'occhiata all'app di esempio.
Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai una tua app per Android. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.
Java
Questa guida presuppone che tu abbia dimestichezza con l'utilizzo di Android Studio per sviluppare app per Android.
Assicurati che l'ambiente di sviluppo e l'app per Android soddisfino i seguenti requisiti:
- Android Studio (ultima versione)
- L'app ha come target il livello API 21 o versioni successive
(Facoltativo) Dai un'occhiata all'app di esempio.
Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai una tua app per Android. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.
Web
Questa guida presuppone che tu abbia familiarità con l'utilizzo di JavaScript per sviluppare applicazioni web. Questa guida è indipendente dal framework.
Assicurati che l'ambiente di sviluppo e l'app web soddisfino i seguenti requisiti:
- (Facoltativo) Node.js
- Browser web moderno
(Facoltativo) Dai un'occhiata all'app di esempio.
Puoi provare rapidamente l'SDK, visualizzare 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, dovrai collegarla a un progetto Firebase.
Dart
Questa guida presuppone che tu abbia familiarità con lo sviluppo di app con Flutter.
Assicurati che l'ambiente di sviluppo e l'app Flutter soddisfino i seguenti requisiti:
- Dart 3.2.0 e versioni successive
(Facoltativo) Dai un'occhiata all'app di esempio.
Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai una tua app Flutter. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.
Unity
Questa guida presuppone che tu abbia familiarità con lo sviluppo di giochi con Unity.
Assicurati che l'ambiente di sviluppo e il gioco Unity soddisfino i seguenti requisiti:
- Unity Editor 2021 LTS o versioni successive
(Facoltativo) Dai un'occhiata all'app di esempio.
Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari scenari di utilizzo o utilizzare l'app di esempio se non hai un tuo gioco Unity. Per utilizzare l'app di esempio, devi collegarla a un progetto Firebase.
Passaggio 1: configura un progetto Firebase e collega la tua app
Accedi alla console Firebase, quindi seleziona il tuo progetto Firebase.
Nella console Firebase, vai alla pagina Firebase AI Logic.
Fai clic su Inizia per avviare un flusso di lavoro guidato che ti aiuta a configurare le API richieste e le risorse per il tuo progetto.
Seleziona il provider "Gemini API" che vuoi utilizzare con gli SDK Firebase AI Logic. Se vuoi, puoi sempre configurare e utilizzare l'altro provider di API in un secondo momento.
Gemini Developer API - fatturazione facoltativa (disponibile nel piano tariffario Spark senza costi)
La console abiliterà le API richieste e creerà una chiave API Gemini nel progetto.
Non aggiungere questa chiave API Gemini al codice di base della tua app. Scopri di più.Puoi configurare la fatturazione in un secondo momento se vuoi eseguire l'upgrade del piano tariffario.
Vertex AI Gemini API: fatturazione obbligatoria (richiede il piano tariffario Blaze con pagamento a consumo)
La console ti aiuterà a configurare la fatturazione e ad attivare le API obbligatorie nel tuo progetto.
Se richiesto nel flusso di lavoro della console, segui le istruzioni sullo schermo per registrare l'app e collegarla a Firebase.
Vai al passaggio successivo di questa guida per aggiungere l'SDK alla tua app.
Passaggio 2: aggiungi l'SDK
Dopo aver configurato il progetto Firebase e collegato 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 almeno della versione 11.13.0.
In Xcode, con il progetto dell'app aperto, vai a File > Aggiungi dipendenze del pacchetto.
Quando richiesto, aggiungi il repository dell'SDK delle piattaforme Apple di Firebase:
https://github.com/firebase/firebase-ios-sdk
Seleziona la versione più recente dell'SDK.
Seleziona la raccolta
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 accesso alle API per interagire con i modelli Gemini e Imagen.
Nel file Gradle del modulo (a livello di app)
(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 la versione della libreria.
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") }
Con Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase per Android.
Java
L'SDK Firebase AI Logic per Android (firebase-ai
) fornisce accesso alle API per interagire con i modelli Gemini e Imagen.
Nel file Gradle del modulo (a livello di app)
(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 la versione della libreria.
Per Java, devi aggiungere altre due librerie.
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") }
Con Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase per 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.
Installa l'SDK Firebase JS per il web utilizzando npm:
npm install firebase
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 accesso alle API per interagire con i modelli Gemini e Imagen.
Dalla directory del progetto Flutter, esegui il seguente comando per installare il plug-in di base e il plug-in Firebase AI Logic:
flutter pub add firebase_core && flutter pub add firebase_ai
Nel file
lib/main.dart
, importa il plug-in Firebase Core, il plug-in Firebase AI Logic e il file di configurazione generato in precedenza:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';
Nel file
lib/main.dart
, inizializza Firebase utilizzando l'oggettoDefaultFirebaseOptions
esportato dal file di configurazione:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Ricostruisci l'applicazione Flutter:
flutter run
Unity
Scarica l'SDK Firebase Unity, quindi estrailo in una posizione comoda.
L'SDK Firebase Unity non è specifico della piattaforma.
Nel tuo progetto Unity aperto, vai a Asset > Importa pacchetto > Pacchetto personalizzato.
Dall'SDK estratto, seleziona il pacchetto
FirebaseAI
.Nella finestra Import Unity Package (Importa il pacchetto Unity), fai clic su Import (Importa).
Torna nella console Firebase e, 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. |
Quando utilizzi gli SDK client Firebase AI Logic con Gemini Developer API, NON aggiungere la chiave API Gemini al codice sorgente della tua app. Scopri di più.
Prima di inviare un prompt a un modello Gemini, inizializza il servizio per il provider API scelto e crea un'istanza 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.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");
Tieni presente che a seconda della funzionalità in uso, potresti non creare sempre un'istanza GenerativeModel
.
- Per accedere a un modello Imagen,
crea un'istanza
ImagenModel
.
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 contenente 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.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
Per Kotlin, i metodi in questo SDK sono funzioni sospese e devono essere chiamati da un ambito 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
Per Java, i metodi in questo SDK restituiscono unListenableFuture
.
// 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.");
Cos'altro puoi fare?
Scopri di più sui modelli supportati
Scopri i modelli disponibili per vari casi d'uso e le relative quote e prezzi.
Provare altre funzionalità
- Scopri di più sulla generazione di testo da prompt di solo testo, incluso come riprodurre in streaming la risposta.
- Genera testo tramite prompt con vari tipi di file, come immagini, PDF, video e audio.
- Crea conversazioni a più turni (chat).
- Genera output strutturato (come JSON) da prompt di testo e multimodali.
- Genera immagini da prompt di testo.
- Esegui lo streaming di input e output (incluso l'audio) utilizzando Gemini Live API.
- Utilizza le chiamate di funzione per collegare i modelli generativi a sistemi e informazioni esterni.
Scopri come controllare la generazione di contenuti
- Comprendi la progettazione dei prompt, tra cui le best practice, le strategie e i prompt di esempio.
- Configura i parametri del modello, ad esempio la temperatura e il numero massimo di token di output (per Gemini) o le proporzioni e la generazione di persone (per Imagen).
- Utilizza le impostazioni di sicurezza per regolare la probabilità di ricevere risposte che potrebbero essere considerate dannose.
Inviare un feedback sulla tua esperienza con Firebase AI Logic