Mulai menggunakan Gemini API menggunakan Firebase AI Logic SDK

Panduan ini menunjukkan cara mulai melakukan panggilan ke Gemini API langsung dari aplikasi Anda menggunakan SDK klien Firebase AI Logic untuk platform yang Anda pilih.

Anda juga dapat menggunakan panduan ini untuk mulai mengakses model Imagen menggunakan Firebase AI Logic SDK.

Prasyarat

Swift

Panduan ini mengasumsikan bahwa Anda sudah terbiasa menggunakan Xcode untuk mengembangkan aplikasi untuk platform Apple (seperti iOS).

  • Pastikan lingkungan pengembangan dan aplikasi platform Apple Anda memenuhi persyaratan berikut:

    • Xcode 16.2 atau yang lebih tinggi
    • Aplikasi Anda menargetkan iOS 15 atau yang lebih baru, atau macOS 12 atau yang lebih baru
  • (Opsional) Lihat aplikasi contoh.

    Mendownload aplikasi panduan memulai

    Anda dapat mencoba SDK dengan cepat, melihat implementasi lengkap berbagai kasus penggunaan, atau menggunakan aplikasi contoh jika tidak memiliki aplikasi platform Apple Anda sendiri. Untuk menggunakan aplikasi contoh, Anda harus menghubungkannya ke project Firebase.

Kotlin

Panduan ini mengasumsikan bahwa Anda sudah terbiasa menggunakan Android Studio untuk mengembangkan aplikasi untuk Android.

  • Pastikan lingkungan pengembangan dan aplikasi Android Anda memenuhi persyaratan berikut:

    • Android Studio (versi terbaru)
    • Aplikasi Anda menargetkan API level 21 atau yang lebih tinggi
  • (Opsional) Lihat aplikasi contoh.

    Mendownload aplikasi contoh

    Anda dapat mencoba SDK dengan cepat, melihat implementasi lengkap berbagai kasus penggunaan, atau menggunakan aplikasi contoh jika tidak memiliki aplikasi Android Anda sendiri. Untuk menggunakan aplikasi contoh, Anda harus menghubungkannya ke project Firebase.

Java

Panduan ini mengasumsikan bahwa Anda sudah terbiasa menggunakan Android Studio untuk mengembangkan aplikasi untuk Android.

  • Pastikan lingkungan pengembangan dan aplikasi Android Anda memenuhi persyaratan berikut:

    • Android Studio (versi terbaru)
    • Aplikasi Anda menargetkan API level 21 atau yang lebih tinggi
  • (Opsional) Lihat aplikasi contoh.

    Mendownload aplikasi contoh

    Anda dapat mencoba SDK dengan cepat, melihat implementasi lengkap berbagai kasus penggunaan, atau menggunakan aplikasi contoh jika tidak memiliki aplikasi Android Anda sendiri. Untuk menggunakan aplikasi contoh, Anda harus menghubungkannya ke project Firebase.

Web

Panduan ini mengasumsikan bahwa Anda sudah terbiasa menggunakan JavaScript untuk mengembangkan aplikasi web. Panduan ini tidak bergantung pada framework.

  • Pastikan lingkungan pengembangan dan aplikasi web Anda memenuhi persyaratan berikut:

    • (Opsional) Node.js
    • Browser web modern
  • (Opsional) Lihat aplikasi contoh.

    Mendownload aplikasi contoh

    Anda dapat mencoba SDK dengan cepat, melihat implementasi lengkap berbagai kasus penggunaan, atau menggunakan aplikasi contoh jika tidak memiliki aplikasi web sendiri. Untuk menggunakan aplikasi contoh, Anda harus menghubungkannya ke project Firebase.

Dart

Panduan ini mengasumsikan bahwa Anda sudah terbiasa mengembangkan aplikasi dengan Flutter.

  • Pastikan lingkungan pengembangan dan aplikasi Flutter Anda memenuhi persyaratan berikut:

    • Dart 3.2.0+
  • (Opsional) Lihat aplikasi contoh.

    Mendownload aplikasi contoh

    Anda dapat mencoba SDK dengan cepat, melihat implementasi lengkap berbagai kasus penggunaan, atau menggunakan aplikasi contoh jika tidak memiliki aplikasi Flutter sendiri. Untuk menggunakan aplikasi contoh, Anda harus menghubungkannya ke project Firebase.

Unity

Panduan ini mengasumsikan bahwa Anda sudah terbiasa mengembangkan game dengan Unity.

  • Pastikan lingkungan pengembangan dan game Unity Anda memenuhi persyaratan berikut:

    • Unity Editor 2021 LTS atau yang lebih baru
  • (Opsional) Lihat aplikasi contoh.

    Mendownload aplikasi contoh

    Anda dapat mencoba SDK dengan cepat, melihat implementasi lengkap berbagai kasus penggunaan, atau menggunakan aplikasi contoh jika tidak memiliki game Unity Anda sendiri. Untuk menggunakan aplikasi contoh, Anda harus menghubungkannya ke project Firebase.

Langkah 1: Siapkan project Firebase dan hubungkan aplikasi Anda

  1. Login ke konsol Firebase, lalu pilih project Firebase Anda.

  2. Di Firebase console, buka halaman Firebase AI Logic.

  3. Klik Mulai untuk meluncurkan alur kerja terpandu yang membantu Anda menyiapkan API yang diperlukan dan resource untuk project Anda.

  4. Pilih penyedia "Gemini API" yang ingin Anda gunakan dengan SDK Firebase AI Logic. Anda dapat menyiapkan dan menggunakan penyedia API lainnya nanti, jika mau.

    • Gemini Developer APIpenagihan opsional (tersedia di paket harga Spark tanpa biaya)
      Konsol akan mengaktifkan API yang diperlukan dan membuat kunci API Gemini di project Anda. Anda dapat menyiapkan penagihan nanti jika ingin mengupgrade paket harga.

    • Vertex AI Gemini APIpenagihan diperlukan (memerlukan paket harga Blaze bayar sesuai penggunaan)
      Konsol akan membantu Anda menyiapkan penagihan dan mengaktifkan API yang diperlukan dalam project Anda.

  5. Jika diminta dalam alur kerja konsol, ikuti petunjuk di layar untuk mendaftarkan aplikasi dan menghubungkannya ke Firebase.

  6. Lanjutkan ke langkah berikutnya dalam panduan ini untuk menambahkan SDK ke aplikasi Anda.

Langkah 2: Tambahkan SDK

Setelah project Firebase disiapkan dan aplikasi terhubung ke Firebase (lihat langkah sebelumnya), Anda kini dapat menambahkan SDK Firebase AI Logic ke aplikasi.

Swift

Gunakan Swift Package Manager untuk menginstal dan mengelola dependensi Firebase.

Library Firebase AI Logic menyediakan akses ke API untuk berinteraksi dengan model Gemini dan Imagen. Library ini disertakan sebagai bagian dari Firebase SDK untuk platform Apple (firebase-ios-sdk).

Jika Anda sudah menggunakan Firebase, pastikan paket Firebase Anda adalah v11.13.0 atau yang lebih baru.

  1. Di Xcode, dengan project aplikasi Anda dalam keadaan terbuka, buka File > Add Package Dependencies.

  2. Saat diminta, tambahkan repositori SDK platform Apple Firebase:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Pilih versi SDK terbaru.

  4. Pilih library FirebaseAI.

Setelah selesai, Xcode akan otomatis mulai me-resolve dan mendownload dependensi Anda di latar belakang.

Kotlin

Firebase AI Logic SDK untuk Android (firebase-ai) menyediakan akses ke API untuk berinteraksi dengan model Gemini dan Imagen.

Dalam file Gradle modul (level aplikasi) (seperti <project>/<app-module>/build.gradle.kts), tambahkan dependensi untuk library Firebase AI Logic untuk Android. Sebaiknya gunakan Firebase Android BoM untuk mengontrol pembuatan versi library.

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

Dengan menggunakan Firebase Android BoM, aplikasi Anda akan selalu menggunakan versi library Android Firebase yang kompatibel.

Java

Firebase AI Logic SDK untuk Android (firebase-ai) menyediakan akses ke API untuk berinteraksi dengan model Gemini dan Imagen.

Dalam file Gradle modul (level aplikasi) (seperti <project>/<app-module>/build.gradle.kts), tambahkan dependensi untuk library Firebase AI Logic untuk Android. Sebaiknya gunakan Firebase Android BoM untuk mengontrol pembuatan versi library.

Untuk Java, Anda perlu menambahkan dua library tambahan.

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

Dengan menggunakan Firebase Android BoM, aplikasi Anda akan selalu menggunakan versi library Android Firebase yang kompatibel.

Web

Library Firebase AI Logic menyediakan akses ke API untuk berinteraksi dengan model Gemini dan Imagen. Library ini disertakan sebagai bagian dari Firebase JavaScript SDK untuk Web.

  1. Instal Firebase JS SDK untuk Web menggunakan npm:

    npm install firebase
    
  2. Inisialisasi Firebase di aplikasi Anda:

    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

Plugin Firebase AI Logic untuk Flutter (firebase_ai) menyediakan akses ke API untuk berinteraksi dengan model Gemini dan Imagen.

  1. Dari direktori project Flutter Anda, jalankan perintah berikut untuk menginstal plugin inti dan plugin Firebase AI Logic:

    flutter pub add firebase_core && flutter pub add firebase_ai
    
  2. Dalam file lib/main.dart, impor plugin inti Firebase, plugin Firebase AI Logic, dan file konfigurasi yang Anda buat sebelumnya:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. Selain itu, di file lib/main.dart, lakukan inisialisasi Firebase menggunakan objek DefaultFirebaseOptions yang diekspor oleh file konfigurasi:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Build ulang aplikasi Flutter Anda:

    flutter run
    

Unity

  1. Download Firebase Unity SDK, lalu ekstrak SDK di tempat yang mudah diakses.

    Firebase Unity SDK tidak bersifat khusus untuk platform tertentu.

  2. Pada project Unity yang terbuka, buka Aset > Impor Paket > Paket Kustom.

  3. Dari SDK yang diekstrak, pilih paket FirebaseAI.

  4. Di jendela Import Unity Package, klik Import.

  5. Kembali ke Firebase console, di alur kerja penyiapan, klik Next.

Langkah 3: Lakukan inisialisasi layanan dan buat instance model

Klik penyedia Gemini API untuk melihat konten dan kode khusus penyedia di halaman ini.

Saat menggunakan SDK klien Firebase AI Logic dengan Gemini Developer API, Anda TIDAK menambahkan kunci API Gemini ke codebase aplikasi. Pelajari lebih lanjut.

Sebelum mengirim perintah ke model Gemini, inisialisasi layanan untuk penyedia API yang Anda pilih dan buat instance 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");

Perhatikan bahwa bergantung pada kemampuan yang Anda gunakan, Anda mungkin tidak selalu membuat instance GenerativeModel.

Selain itu, setelah menyelesaikan panduan memulai ini, pelajari cara memilih model untuk kasus penggunaan dan aplikasi Anda.

Langkah 4: Kirim permintaan perintah ke model

Anda kini siap mengirim permintaan perintah ke model Gemini.

Anda dapat menggunakan generateContent() untuk membuat teks dari perintah yang berisi teks:

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

Untuk Kotlin, metode dalam SDK ini adalah fungsi penangguhan dan perlu dipanggil dari Cakupan 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

Untuk Java, metode dalam SDK ini menampilkan 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.");

Kamu bisa apa lagi?

Pelajari lebih lanjut model yang didukung

Pelajari model yang tersedia untuk berbagai kasus penggunaan serta kuota dan harga-nya.

Mencoba kemampuan lain

Pelajari cara mengontrol pembuatan konten

Anda juga dapat bereksperimen dengan perintah dan konfigurasi model, bahkan mendapatkan cuplikan kode yang dihasilkan menggunakan Google AI Studio.


Berikan masukan tentang pengalaman Anda dengan Firebase AI Logic