Firebase AI Logic SDK'larını kullanarak Gemini API'yi kullanmaya başlama

Bu kılavuzda, seçtiğiniz platform için Firebase AI Logic istemci SDK'larını kullanarak doğrudan uygulamanızdan Gemini API'ya nasıl çağrı yapmaya başlayacağınız gösterilmektedir.

Firebase AI Logic SDK'larını kullanarak Imagen modellerine erişmeye başlamak için de bu kılavuzdan yararlanabilirsiniz.

Ön koşullar

Bu kılavuzda, Apple platformları (ör. iOS) için uygulama geliştirmek üzere Xcode'u kullanma konusunda bilgi sahibi olduğunuz varsayılı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 sonraki bir sürüm
    • 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ı bir şekilde deneyebilir, çeşitli kullanım alanlarının eksiksiz bir uygulamasını görebilir veya kendi Apple platformları uygulamanız yoksa örnek uygulamayı kullanabilirsiniz. Örnek uygulamayı kullanmak için bir Firebase projesine bağlamanız gerekir.

Bu kılavuzda, Android için uygulama geliştirirken 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 sonraki sürümleri hedefliyor
  • (İsteğe bağlı) Örnek uygulamaya göz atın.

    Örnek uygulamayı indirin

    SDK'yı hızlı bir şekilde deneyebilir, çeşitli kullanım alanlarının eksiksiz bir 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.

Bu kılavuzda, Android için uygulama geliştirirken 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 sonraki sürümleri hedefliyor
  • (İsteğe bağlı) Örnek uygulamaya göz atın.

    Örnek uygulamayı indirin

    SDK'yı hızlı bir şekilde deneyebilir, çeşitli kullanım alanlarının eksiksiz bir 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.

Bu kılavuzda, web uygulamaları geliştirmek için JavaScript kullanma konusunda bilgi sahibi olduğunuz varsayılır. Bu kılavuz, çerçeveden bağımsızdır.

  • 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.

    Örnek uygulamayı indirin

    SDK'yı hızlı bir şekilde deneyebilir, çeşitli kullanım alanlarının eksiksiz bir 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.

Bu rehberde, Flutter ile uygulama geliştirme konusunda 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 veya sonraki sürümler
  • (İsteğe bağlı) Örnek uygulamaya göz atın.

    Örnek uygulamayı indirin

    SDK'yı hızlıca deneyebilir, çeşitli kullanım alanlarının eksiksiz bir 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.

Bu kılavuzda, Unity ile oyun geliştirme konusunda 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 bir sürüm
  • (İsteğe bağlı) Örnek uygulamaya göz atın.

    Örnek uygulamayı indirin

    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

  1. Firebase konsolunda oturum açın ve Firebase projenizi seçin.

    Firebase projeniz yoksa Proje oluştur'u tıklayın ve aşağıdaki seçeneklerden birini kullanın:

    • 1. seçenek: "Proje oluşturma" iş akışının ilk adımında yeni bir proje adı girerek tamamen yeni bir Firebase projesi (ve temelindeki Google Cloud projesi) otomatik olarak oluşturun.

    • 2. seçenek: "Proje oluşturma" iş akışının ilk adımındaki açılır menüden Google Cloud proje adınızı seçerek mevcut bir Google Cloud projeye "Firebase ekleyin".

    İstendiğinde Firebase AI Logic SDK'larını kullanmak için kurulumu yapmanız gerekmediğini unutmayın.Google Analytics

  2. Firebase konsolunda Firebase AI Logic sayfasına gidin.

  3. Projeniz için gerekli API'leri ve kaynakları ayarlamanıza yardımcı olacak rehberli bir iş akışı başlatmak için Başlayın'ı tıklayın.

  4. Firebase AI Logic SDK'ları ile kullanmak istediğiniz"Gemini API" sağlayıcısını seçin. Gemini Developer API, ilk kez kullananlar için önerilir. İsterseniz faturalandırma bilgilerini daha sonra ekleyebilir veya Vertex AI Gemini API'ı kurabilirsiniz.

    • Gemini Developer APIbilling optional (ücretsiz Spark fiyatlandırma planında kullanılabilir ve isterseniz daha sonra yükseltebilirsiniz)
      Konsol, gerekli API'leri etkinleştirir ve projenizde bir Gemini API anahtarı oluşturur.
      Bu Gemini API anahtarını uygulamanızın kod tabanına eklemeyin. Daha fazla bilgi edinin.

    • Vertex AI Gemini APIfaturalandırma gerekir (kullandıkça öde Blaze fiyatlandırma planı gerekir)
      Konsol, faturalandırmayı ayarlamanıza ve projenizde gerekli API'leri etkinleştirmenize yardımcı olur.

  5. Konsolun iş akışında istenirse uygulamanızı kaydetmek ve Firebase'e bağlamak için ekrandaki talimatları uygulayın.

  6. SDK'yı uygulamanıza eklemek için bu kılavuzdaki sonraki adıma geçin.

2. adım: SDK'yı ekleyin

Firebase projeniz ayarlanıp uygulamanız Firebase'e bağlandıktan sonra (önceki adıma bakın) artık uygulamanıza Firebase AI Logic SDK'sını ekleyebilirsiniz.

Firebase bağımlılarını yükleyip 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 edilir.

Firebase'i zaten kullanıyorsanız Firebase paketinizin 11.13.0 veya sonraki bir sürüm olduğundan emin olun.

  1. Xcode'da, uygulama projeniz açıkken File > Add Package Dependencies (Dosya > Paket Bağımlılıkları Ekle) seçeneğine gidin.

  2. İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:

    https://github.com/firebase/firebase-ios-sdk
    
  3. En son SDK sürümünü seçin.

  4. FirebaseAI kitaplığını seçin.

İşlem tamamlandığında Xcode otomatik olarak arka planda bağımlılarınızı çözümlemeye ve indirmeye başlar.

Firebase AI Logic Android için SDK (firebase-ai), Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar.

Modülünüzde (uygulama düzeyinde) Gradle dosyası (ör. <project>/<app-module>/build.gradle.kts) içinde Android için Firebase AI Logic kitaplığının bağımlılığını ekleyin. Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM kullanmanızı öneririz.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:34.1.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.

Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.

Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM kullanmanızı önemle tavsiye ederiz. Bu sayede tüm sürümlerin uyumlu olması sağlanır.

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

Firebase AI Logic Android için SDK (firebase-ai), Gemini ve Imagen modelleriyle etkileşim kurmak için API'lere erişim sağlar.

Modülünüzde (uygulama düzeyinde) Gradle dosyası (ör. <project>/<app-module>/build.gradle.kts) içinde Android için Firebase AI Logic kitaplığının bağımlılığını ekleyin. Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM 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:34.1.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.

Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.

Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM kullanmanızı önemle tavsiye ederiz. Bu sayede tüm sürümlerin uyumlu olması sağlanır.

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

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ına dahildir.

  1. npm kullanarak Web için Firebase JS SDK'sını yükleyin:

    npm install firebase
    
  2. Uygulamanızda Firebase'i 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);
    

Flutter için Firebase AI Logic eklentisi (firebase_ai), Gemini ve Imagen modelleriyle etkileşim kurmaya yönelik API'lere erişim sağlar.

  1. 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 firebase_ai
    
  2. lib/main.dart dosyanızda Firebase çekirdek eklentisini, Firebase AI Logic eklentisini ve daha önce oluşturduğunuz yapılandırma dosyasını içe aktarın:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_ai/firebase_ai.dart';
    import 'firebase_options.dart';
    
  3. Ayrıca lib/main.dart dosyanızda, yapılandırma dosyası tarafından dışa aktarılan DefaultFirebaseOptions nesnesini kullanarak Firebase'i başlatın:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Flutter uygulamanızı yeniden oluşturun:

    flutter run
    
  1. Firebase Unity SDK'sını indirip SDK'yı uygun bir yere çıkarın.

    Firebase Unity SDK'sı platforma özgü değildir.

  2. Açık Unity projenizde Öğeler > Paket İçe Aktar > Özel Paket'e gidin.

  3. Ayıklanan SDK'dan FirebaseAI paketini seçin.

  4. Unity Paketini İçe Aktar penceresinde İçe Aktar'ı tıklayın.

  5. Firebase konsoluna geri dönün ve kurulum iş akışında İleri'yi tıklayın.

3. adım: Hizmeti başlatın ve model örneği oluşturun

Bu sayfada sağlayıcıya özel 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 eklemeyin. Daha fazla bilgi edinin.

Gemini modeline istem göndermeden önce, seçtiğiniz API sağlayıcısı için hizmeti başlatın ve GenerativeModel örneği oluşturun.


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

Kullandığınız özelliğe bağlı olarak her zaman GenerativeModel örneği oluşturamayabilirsiniz.

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önderme

Artık Gemini modeline istem isteği gönderebilirsiniz.

generateContent() simgesini kullanarak metin içeren bir istemden metin oluşturabilirsiniz:


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.")
Kotlin'de bu SDK'daki yöntemler askıya alma işlevleridir ve Coroutine kapsamından ç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.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)
Java için bu SDK'daki yöntemler bir ListenableFuture 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.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.");

Başka ne yapabilirsin?

Desteklenen modeller hakkında daha fazla bilgi

Çeşitli kullanım alanları için kullanılabilen modeller, bu modellerin kotaları ve fiyatlandırması hakkında bilgi edinin.

Diğer özellikleri deneyin

İçerik oluşturmayı kontrol etme hakkında bilgi

Ayrıca istemler ve model yapılandırmalarıyla denemeler yapabilir, hatta Google AI Studio kullanarak oluşturulmuş bir kod snippet'i alabilirsiniz.


Firebase AI Logic ile ilgili deneyiminiz hakkında geri bildirim verme