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.
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.
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.
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.
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.
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
Login ke konsol Firebase, lalu pilih project Firebase Anda.
Di Firebase console, buka halaman Firebase AI Logic.
Klik Mulai untuk meluncurkan alur kerja terpandu yang membantu Anda menyiapkan API yang diperlukan dan resource untuk project Anda.
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 API — penagihan 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 API — penagihan diperlukan (memerlukan paket harga Blaze bayar sesuai penggunaan)
Konsol akan membantu Anda menyiapkan penagihan dan mengaktifkan API yang diperlukan dalam project Anda.
Jika diminta dalam alur kerja konsol, ikuti petunjuk di layar untuk mendaftarkan aplikasi dan menghubungkannya ke Firebase.
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.
Di Xcode, dengan project aplikasi Anda dalam keadaan terbuka, buka File > Add Package Dependencies.
Saat diminta, tambahkan repositori SDK platform Apple Firebase:
https://github.com/firebase/firebase-ios-sdk
Pilih versi SDK terbaru.
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.
Instal Firebase JS SDK untuk Web menggunakan npm:
npm install firebase
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.
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
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';
Selain itu, di file
lib/main.dart
, lakukan inisialisasi Firebase menggunakan objekDefaultFirebaseOptions
yang diekspor oleh file konfigurasi:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Build ulang aplikasi Flutter Anda:
flutter run
Unity
Download Firebase Unity SDK, lalu ekstrak SDK di tempat yang mudah diakses.
Firebase Unity SDK tidak bersifat khusus untuk platform tertentu.
Pada project Unity yang terbuka, buka Aset > Impor Paket > Paket Kustom.
Dari SDK yang diekstrak, pilih paket
FirebaseAI
.Di jendela Import Unity Package, klik Import.
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
.
- Untuk mengakses model Imagen,
buat instance
ImagenModel
.
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 menampilkanListenableFuture
.
// 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 lebih lanjut cara membuat teks dari perintah teks saja, termasuk cara menstreaming respons.
- Buat teks dengan meminta berbagai jenis file, seperti gambar, PDF, video, dan audio.
- Buat percakapan multi-giliran (chat).
- Buat output terstruktur (seperti JSON) dari prompt teks dan multimodal.
- Buat gambar dari perintah teks.
- Streaming input dan output (termasuk audio) menggunakan Gemini Live API.
- Gunakan panggilan fungsi untuk menghubungkan model generatif ke sistem dan informasi eksternal.
Pelajari cara mengontrol pembuatan konten
- Memahami desain perintah, termasuk praktik terbaik, strategi, dan contoh perintah.
- Mengonfigurasi parameter model seperti suhu dan token output maksimum (untuk Gemini) atau rasio aspek dan pembuatan orang (untuk Imagen).
- Gunakan setelan keamanan untuk menyesuaikan kemungkinan mendapatkan respons yang mungkin dianggap berbahaya.
Berikan masukan tentang pengalaman Anda dengan Firebase AI Logic