Bu kılavuzda, seçtiğiniz platform için Firebase AI Logic istemci SDK'larını kullanarak doğrudan uygulamanızdan Gemini API çağrıları nasıl başlatacağınız gösterilmektedir.
Firebase AI Logic SDK'larını kullanarak Imagen modellerine erişmeye başlamak için bu kılavuzdan da yararlanabilirsiniz.
Ön koşullar
Swift
Bu kılavuzda, Apple platformları (iOS gibi) için uygulama geliştirmek amacıyla Xcode'u kullanma konusunda bilgi sahibi olduğunuz varsayılmaktadır.
Geliştirme ortamınızın ve Apple platformları uygulamanızın aşağıdaki koşulları karşıladığından emin olun:
- Xcode 16.2 veya üstü
- Uygulamanız iOS 15 veya sonraki sürümleri ya da macOS 12 veya sonraki sürümleri hedefliyor
(İsteğe bağlı) Örnek uygulamaya göz atın.
Hızlı başlangıç uygulamasını indirin
SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi Apple platformu uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.
Kotlin
Bu kılavuzda, Android için uygulama geliştirmek amacıyla Android Studio'yu kullanma konusunda bilgi sahibi olduğunuz varsayılmaktadır.
Geliştirme ortamınızın ve Android uygulamanızın aşağıdaki koşulları karşıladığından emin olun:
- Android Studio (en son sürüm)
- Uygulamanız API düzeyi 21 veya üstünü hedefliyor
(İsteğe bağlı) Örnek uygulamaya göz atın.
SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi Android uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.
Java
Bu kılavuzda, Android için uygulama geliştirmek amacıyla Android Studio'yu kullanma konusunda bilgi sahibi olduğunuz varsayılmaktadır.
Geliştirme ortamınızın ve Android uygulamanızın aşağıdaki koşulları karşıladığından emin olun:
- Android Studio (en son sürüm)
- Uygulamanız API düzeyi 21 veya üstünü hedefliyor
(İsteğe bağlı) Örnek uygulamaya göz atın.
SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi Android uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.
Web
Bu kılavuzda, web uygulamaları geliştirmek için JavaScript'i kullanma konusunda bilgi sahibi olduğunuz varsayılmaktadır. Bu kılavuz, çerçeveye bağlı değildir.
Geliştirme ortamınızın ve web uygulamanızın aşağıdaki koşulları karşıladığından emin olun:
- (İsteğe bağlı) Node.js
- Modern web tarayıcısı
(İsteğe bağlı) Örnek uygulamaya göz atın.
SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi web uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.
Dart
Bu rehberde, Flutter ile uygulama geliştirme hakkında bilgi sahibi olduğunuz varsayılmaktadır.
Geliştirme ortamınızın ve Flutter uygulamanızın aşağıdaki koşulları karşıladığından emin olun:
- Dart 3.2.0 ve üzeri
(İsteğe bağlı) Örnek uygulamaya göz atın.
SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının tam uygulamasını görebilir veya kendi Flutter uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.
Unity
Bu rehberde, Unity ile oyun geliştirme hakkında bilgi sahibi olduğunuz varsayılmaktadır.
Geliştirme ortamınızın ve Unity oyununuzun aşağıdaki koşulları karşıladığından emin olun:
- Unity Editor 2021 LTS veya daha yeni sürümler
(İsteğe bağlı) Örnek uygulamaya göz atın.
SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının eksiksiz bir uygulamasını görebilir veya kendi Unity oyununuz yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.
1. adım: Firebase projesi oluşturun ve uygulamanızı bağlayın
Firebase konsolunda oturum açın, ardından Firebase projenizi seçin.
Firebase konsolunda Firebase AI Logic sayfasına gidin.
Projeniz için gerekli API'leri ve kaynakları oluşturmanıza yardımcı olacak rehberli bir iş akışı başlatmak üzere Başlayın'ı tıklayın.
Firebase AI Logic SDK'larıyla kullanmak istediğiniz"Gemini API" sağlayıcıyı seçin. İsterseniz daha sonra diğer API sağlayıcıyı ayarlayabilir ve kullanabilirsiniz.
Gemini Developer API: Faturalandırma isteğe bağlıdır (ücretsiz Spark fiyatlandırma planında kullanılabilir)
Konsol, gerekli API'leri etkinleştirir ve projenizde bir Gemini API anahtarı oluşturur. Fiyatlandırma planınızı yükseltmek isterseniz faturalandırmayı daha sonra ayarlayabilirsiniz.Vertex AI Gemini API: Faturalandırma gereklidir (Kullan-Öde Blaze fiyatlandırma planı gerekir)
Console, faturalandırmayı ayarlamanıza ve projenizde gerekli API'leri etkinleştirmenize yardımcı olur.
Konsolda iş akışında istenirse uygulamanızı kaydetmek ve Firebase'e bağlamak için ekrandaki talimatları uygulayın.
SDK'yı uygulamanıza eklemek için bu kılavuzun bir sonraki adımına geçin.
2. Adım: SDK'yı ekleyin
Firebase projeniz oluşturulduktan ve uygulamanız Firebase'e bağlandıktan sonra (önceki adıma bakın) Firebase AI Logic SDK'sını uygulamanıza ekleyebilirsiniz.
Swift
Firebase bağımlılarını yüklemek ve yönetmek için Swift Package Manager'ı kullanın.
Firebase AI Logic kitaplığı, Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar. Kitaplık, Apple platformları için Firebase SDK'sının (firebase-ios-sdk
) bir parçası olarak dahil edilmiştir.
Firebase'i zaten kullanıyorsanız Firebase paketinizin 11.13.0 veya sonraki bir sürüm olduğundan emin olun.
Xcode'da, uygulamanız açıkken File > Add Package Dependencies (Dosya > Paket Bağımlısı Ekle) seçeneğine gidin.
İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:
https://github.com/firebase/firebase-ios-sdk
En son SDK sürümünü seçin.
FirebaseAI
kitaplığını seçin.
İşlem tamamlandığında Xcode, arka planda bağımlılarınızı otomatik olarak çözümlemeye ve indirmeye başlar.
Kotlin
Android için Firebase AI Logic SDK'sı (firebase-ai
), Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar.
Modül (uygulama düzeyinde) Gradle dosyanıza (<project>/<app-module>/build.gradle.kts
gibi) Android için Firebase AI Logic kitaplığının bağımlılığını ekleyin.
Kitaplık sürümlendirmesini kontrol etmek için Firebase Android BoM simgesini kullanmanızı öneririz.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.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") }
Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.
Java
Android için Firebase AI Logic SDK'sı (firebase-ai
), Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar.
Modül (uygulama düzeyinde) Gradle dosyanıza (<project>/<app-module>/build.gradle.kts
gibi) Android için Firebase AI Logic kitaplığının bağımlılığını ekleyin.
Kitaplık sürümlendirmesini kontrol etmek için Firebase Android BoM simgesini kullanmanızı öneririz.
Java için iki ek kitaplık eklemeniz gerekir.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.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") }
Firebase Android BoM kullanıldığında uygulamanız Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.
Web
Firebase AI Logic kitaplığı, Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar. Kitaplık, Web için Firebase JavaScript SDK'sının bir parçası olarak dahil edilmiştir.
npm kullanarak Web için Firebase JS SDK'sını yükleyin:
npm install firebase
Firebase'i uygulamanızda başlatın:
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
Flutter için Firebase AI Logic eklentisi (firebase_ai
), Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar.
Temel eklentiyi ve Firebase AI Logic eklentisini yüklemek için Flutter proje dizininizden aşağıdaki komutu çalıştırın:
flutter pub add firebase_core && flutter pub add firebase_ai
lib/main.dart
dosyanıza Firebase ana eklentisini, Firebase AI Logic eklentisini ve daha önce oluşturduğunuz yapılandırma dosyasını aktarın:import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'firebase_options.dart';
Ayrıca
lib/main.dart
dosyanızda, yapılandırma dosyası tarafından dışa aktarılanDefaultFirebaseOptions
nesnesini kullanarak Firebase'i başlatın:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
Flutter uygulamanızı yeniden oluşturun:
flutter run
Unity
Firebase Unity SDK'sını indirin, ardından SDK'yı uygun bir yere çıkarın.
Firebase Unity SDK'sı platforma özgü değildir.
Açık Unity projenizde Öğeler > Paket İçe Aktar > Özel Paket'e gidin.
Ayıklanan SDK'dan
FirebaseAI
paketini seçin.Unity Paketini İçe Aktar penceresinde İçe Aktar'ı tıklayın.
Firebase konsolunda, kurulum iş akışında Sonraki'yi tıklayın.
3. Adım: Hizmeti başlatın ve bir model örneği oluşturun
Bu sayfada sağlayıcıya özgü içerikleri ve kodu görüntülemek için Gemini API sağlayıcınızı tıklayın. |
Firebase AI Logic istemci SDK'larını Gemini Developer API ile kullanırken Gemini API anahtarınızı uygulamanızın kod tabanına EKLEMEZSİNİZ. Daha fazla bilgi edinin.
Bir Gemini modeline istem göndermeden önce, seçtiğiniz API sağlayıcısı için hizmeti başlatın ve bir GenerativeModel
örneği oluşturun.
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");
Kullandığınız özelliğe bağlı olarak her zaman bir GenerativeModel
örneği oluşturamayabilirsiniz.
- Imagen modeline erişmek için
ImagenModel
örneği oluşturun.
Ayrıca, bu başlangıç kılavuzunu tamamladıktan sonra kullanım alanınız ve uygulamanız için nasıl model seçeceğinizi öğrenin.
4. Adım: Bir modele istem isteği gönderin
Artık bir Gemini modeline istem isteği göndermeye hazırsınız.
Metin içeren bir istemden metin oluşturmak için generateContent()
kullanabilirsiniz:
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
Kotlin için bu SDK'daki yöntemler askıya alma işlevleridir ve Komut dizisi kapsamında çağrılmaları gerekir.
// 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
Java için bu SDK'daki yöntemlerListenableFuture
döndürür.
// 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.");
Başka neler yapabilirsiniz?
Desteklenen modeller hakkında daha fazla bilgi
Çeşitli kullanım alanları için kullanılabilen modeller, bunların kotaları ve fiyatlandırması hakkında bilgi edinin.
Diğer özellikleri deneyin
- Yanıtı yayınlama dahil olmak üzere yalnızca metin istemlerinden metin oluşturma hakkında daha fazla bilgi edinin.
- Resimler, PDF'ler, video ve ses gibi çeşitli dosya türleriyle istemde bulunarak metin oluşturun.
- Çoklu katılımlı görüşmeler (sohbet) oluşturun.
- Hem metin hem de çoklu modal istemlerden yapılandırılmış çıkış (JSON gibi) oluşturun.
- Metin istemlerinden resim oluşturma
- Gemini Live API'yi kullanarak giriş ve çıkış akışı (ses dahil)
- Üretken modelleri harici sistemlere ve bilgilere bağlamak için işlev çağırma özelliğini kullanın.
İçerik oluşturmayı nasıl kontrol edeceğinizi öğrenin
- En iyi uygulamalar, stratejiler ve örnek istemler dahil olmak üzere istem tasarımını anlama
- Sıcaklık ve maksimum çıkış jetonu (Gemini için) ya da en boy oranı ve kişi oluşturma (Imagen için) gibi model parametrelerini yapılandırın.
- Zararlı olarak değerlendirilebilecek yanıtlar alma olasılığını ayarlamak için güvenlik ayarlarını kullanın.
Firebase AI Logic ile ilgili deneyiminiz hakkında geri bildirim verme