Premiers pas avec l'API Gemini à l'aide des SDK Firebase AI Logic

Ce guide vous explique comment commencer à appeler Gemini API directement depuis votre application à l'aide des SDK client Firebase AI Logic pour la plate-forme de votre choix.

Vous pouvez également utiliser ce guide pour commencer à accéder aux modèles Imagen à l'aide des SDK Firebase AI Logic.

Prérequis

Ce guide part du principe que vous savez utiliser Xcode pour développer des applications pour les plates-formes Apple (comme iOS).

  • Assurez-vous que votre environnement de développement et votre application pour les plates-formes Apple répondent à ces exigences:

    • Xcode 16.2 ou version ultérieure
    • Votre application cible iOS 15 ou version ultérieure, ou macOS 12 ou version ultérieure
  • (Facultatif) Découvrez l'application exemple.

    Télécharger l'application de démarrage rapide

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de divers cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application pour les plates-formes Apple. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Ce guide suppose que vous savez utiliser Android Studio pour développer des applications pour Android.

  • Assurez-vous que votre environnement de développement et votre application Android répondent aux exigences suivantes:

    • Android Studio (dernière version)
    • Votre application cible le niveau d'API 21 ou supérieur.
  • (Facultatif) Découvrez l'application exemple.

    Téléchargez l'exemple d'application

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de différents cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application Android. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Ce guide suppose que vous savez utiliser Android Studio pour développer des applications pour Android.

  • Assurez-vous que votre environnement de développement et votre application Android répondent aux exigences suivantes:

    • Android Studio (dernière version)
    • Votre application cible le niveau d'API 21 ou supérieur.
  • (Facultatif) Découvrez l'application exemple.

    Téléchargez l'exemple d'application

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de différents cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application Android. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Ce guide part du principe que vous savez utiliser JavaScript pour développer des applications Web. Ce guide est indépendant du framework.

  • Assurez-vous que votre environnement de développement et votre application Web répondent aux exigences suivantes:

    • (Facultatif) Node.js
    • Navigateur Web moderne
  • (Facultatif) Découvrez l'application exemple.

    Téléchargez l'exemple d'application

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de divers cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application Web. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Ce guide part du principe que vous savez développer des applications avec Flutter.

  • Assurez-vous que votre environnement de développement et votre application Flutter répondent aux exigences suivantes:

    • Dart 3.2.0 et versions ultérieures
  • (Facultatif) Découvrez l'application exemple.

    Téléchargez l'exemple d'application

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de différents cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application Flutter. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Dans ce guide, nous partons du principe que vous savez développer des jeux avec Unity.

  • Assurez-vous que votre environnement de développement et votre jeu Unity répondent aux exigences suivantes:

    • Unity Editor 2021 LTS ou version ultérieure
  • (Facultatif) Découvrez l'application exemple.

    Téléchargez l'exemple d'application

    Vous pouvez essayer rapidement le SDK, voir une implémentation complète de divers cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre jeu Unity. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Étape 1: Configurez un projet Firebase et associez votre application

  1. Connectez-vous à la console Firebase, puis sélectionnez votre projet Firebase.

    Si vous ne disposez pas encore d'un projet Firebase, cliquez sur Créer un projet, puis utilisez l'une des options suivantes:

    • Option 1: créez un projet Firebase entièrement nouveau (et son projet Google Cloud sous-jacent automatiquement) en saisissant un nouveau nom de projet à la première étape du workflow "Create project" (Créer un projet).

    • Option 2: "Ajouter Firebase" à un projet Google Cloud existant en sélectionnant le nom de votre projet Google Cloud dans le menu déroulant de la première étape du workflow "Créer un projet".

    Notez que lorsque vous y êtes invité, vous n'avez pas besoin de configurer Google Analytics pour utiliser les SDK Firebase AI Logic.

  2. Dans la console Firebase, accédez à la page Firebase AI Logic.

  3. Cliquez sur Commencer pour lancer un workflow guidé qui vous aide à configurer les API requises et les ressources de votre projet.

  4. Sélectionnez le fournisseur "Gemini API" que vous souhaitez utiliser avec les SDK Firebase AI Logic. Vous pourrez toujours configurer et utiliser l'autre fournisseur d'API plus tard, si vous le souhaitez.

    • Gemini Developer API : facturation facultative (disponible avec le forfait Spark sans frais, et vous pouvez passer à un forfait payant plus tard si vous le souhaitez)
      La console active les API requises et crée une clé API Gemini dans votre projet.
      N'ajoutez pas cette clé API Gemini au code de votre application. En savoir plus

    • Vertex AI Gemini API : facturation requise (nécessite le forfait Blaze au paiement à l'usage)
      La console vous aidera à configurer la facturation et à activer les API requises dans votre projet.

  5. Si vous y êtes invité dans le workflow de la console, suivez les instructions à l'écran pour enregistrer votre application et la connecter à Firebase.

  6. Passez à l'étape suivante de ce guide pour ajouter le SDK à votre application.

Étape 2: Ajouter le SDK

Une fois votre projet Firebase configuré et votre application associée à Firebase (voir étape précédente), vous pouvez ajouter le SDK Firebase AI Logic à votre application.

Utilisez Swift Package Manager pour installer et gérer les dépendances Firebase.

La bibliothèque Firebase AI Logic permet d'accéder aux API pour interagir avec les modèles Gemini et Imagen. La bibliothèque est incluse dans le SDK Firebase pour les plates-formes Apple (firebase-ios-sdk).

Si vous utilisez déjà Firebase, assurez-vous que votre package Firebase est la version 11.13.0 ou ultérieure.

  1. Dans Xcode, à partir de votre projet d'application ouvert, accédez à File > Add Package Dependencies (Fichier > Ajouter des dépendances de package).

  2. Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Firebase pour Apple :

    https://github.com/firebase/firebase-ios-sdk
    
  3. Sélectionnez la dernière version du SDK.

  4. Sélectionnez la bibliothèque FirebaseAI.

Lorsque vous avez terminé, Xcode commence à résoudre et à télécharger automatiquement vos dépendances en arrière-plan.

Le SDK Firebase AI Logic pour Android (firebase-ai) fournit un accès aux API permettant d'interagir avec les modèles Gemini et Imagen.

Dans votre fichier Gradle de votre module (au niveau de l'application) (comme <project>/<app-module>/build.gradle.kts), ajoutez la dépendance pour la bibliothèque Firebase AI Logic pour Android. Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler le contrôle des versions de la bibliothèque.

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

En utilisant Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.

Si vous choisissez de ne pas utiliser Firebase BoM, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.

Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser BoM pour gérer les versions de la bibliothèque, ce qui garantit que toutes les versions sont compatibles.

dependencies {
  // Add the dependency for the Firebase AI Logic library
  // When NOT using the BoM, you must specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai:16.1.0")
}

Le SDK Firebase AI Logic pour Android (firebase-ai) fournit un accès aux API permettant d'interagir avec les modèles Gemini et Imagen.

Dans votre fichier Gradle de votre module (au niveau de l'application) (comme <project>/<app-module>/build.gradle.kts), ajoutez la dépendance pour la bibliothèque Firebase AI Logic pour Android. Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler le contrôle des versions de la bibliothèque.

Pour Java, vous devez ajouter deux bibliothèques supplémentaires.

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

En utilisant Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.

Si vous choisissez de ne pas utiliser Firebase BoM, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.

Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser BoM pour gérer les versions de la bibliothèque, ce qui garantit que toutes les versions sont compatibles.

dependencies {
  // Add the dependency for the Firebase AI Logic library
  // When NOT using the BoM, you must specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-ai:16.1.0")
}

La bibliothèque Firebase AI Logic permet d'accéder aux API pour interagir avec les modèles Gemini et Imagen. La bibliothèque est incluse dans le SDK JavaScript Firebase pour le Web.

  1. Installez le SDK JS Firebase pour le Web à l'aide de npm:

    npm install firebase
    
  2. Initialisez Firebase dans votre application:

    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);
    

Le plug-in Firebase AI Logic pour Flutter (firebase_ai) permet d'accéder aux API pour interagir avec les modèles Gemini et Imagen.

  1. À partir du répertoire de votre projet Flutter, exécutez la commande suivante pour installer le plug-in principal et le plug-in Firebase AI Logic:

    flutter pub add firebase_core && flutter pub add firebase_ai
    
  2. Dans votre fichier lib/main.dart, importez le plug-in principal Firebase, le plug-in Firebase AI Logic et le fichier de configuration que vous avez généré précédemment:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. Dans votre fichier lib/main.dart, initialisez également Firebase à l'aide de l'objet DefaultFirebaseOptions exporté par le fichier de configuration:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Recompilez votre application Flutter:

    flutter run
    
  1. Téléchargez le SDK Unity Firebase, puis extrayez-le dans un emplacement pratique.

    Le SDK Unity Firebase n'est pas spécifique à une plate-forme.

  2. Dans votre projet Unity ouvert, accédez à Assets (Éléments) > Import Package (Importer un package) > Custom Package (Package personnalisé).

  3. Dans le SDK extrait, sélectionnez le package FirebaseAI.

  4. Dans la fenêtre Import Unity Package (Importer un package Unity) qui s'ouvre, cliquez sur Import (Importer).

  5. De retour dans la console Firebase, dans le workflow de configuration, cliquez sur Suivant.

Étape 3: Initialisez le service et créez une instance de modèle

Cliquez sur votre fournisseur Gemini API pour afficher le contenu et le code spécifiques à ce fournisseur sur cette page.

Lorsque vous utilisez les SDK clients Firebase AI Logic avec Gemini Developer API, vous n'ajoutez PAS votre clé API Gemini au code de base de votre application. En savoir plus

Avant d'envoyer une invite à un modèle Gemini, initialisez le service pour le fournisseur d'API de votre choix et créez une instance GenerativeModel.


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


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


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


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


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');


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

Notez que selon la fonctionnalité que vous utilisez, vous ne créez pas toujours une instance GenerativeModel.

Une fois que vous aurez terminé ce guide de démarrage, découvrez comment choisir un modèle pour votre cas d'utilisation et votre application.

Étape 4: Envoyer une requête d'invite à un modèle

Vous êtes maintenant prêt à envoyer une requête d'invite à un modèle Gemini.

Vous pouvez utiliser generateContent() pour générer du texte à partir d'une requête contenant du texte:


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.")
Pour Kotlin, les méthodes de ce SDK sont des fonctions de suspension et doivent être appelées à partir d'un champ d'application de 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)
Pour Java, les méthodes de ce SDK renvoient 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);

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();

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);

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

Qu'est-ce que tu sais faire d'autre ?

En savoir plus sur les modèles compatibles

Découvrez les modèles disponibles pour différents cas d'utilisation, ainsi que leurs quotas et leurs tarifs.

Essayer d'autres fonctionnalités

Découvrez comment contrôler la génération de contenu.

Vous pouvez également tester des requêtes et des configurations de modèle, et même obtenir un extrait de code généré à l'aide de Google AI Studio.


Envoyer des commentaires sur votre expérience avec Firebase AI Logic