Başlangıç: Apple'ın Foundation Models çerçevesi aracılığıyla Gemini API'ye erişme


Apple, WWDC 2026'da Foundation Models çerçevesini üçüncü taraf model adaptörlerine açtı. Bu sayede, cihaz üzerinde modellere erişmek için kullandığınız API'yi kullanarak Foundation Models çerçevesi üzerinden bulutta barındırılan modellere (ör. Gemini) erişebilirsiniz.

Uygulamanızda, isteklerinizi kullanım alanınıza uygun şekilde cihaz üzerinde veya bulut çıkarımına yönlendirmek için model örneğini değiştirebilirsiniz:

  • Cihaz üzerinde çalışan modeller maksimum gizlilik, sıfır maliyet ve çevrimdışı destek sunar.
  • Bulutta barındırılan Gemini modelleri büyük bağlam pencereleri, gelişmiş özellikler ve daha fazla muhakeme gücü sunar.

Apple platformları için Firebase SDK'sını (özellikle Firebase AI Logic kitaplığı) kullanarak Apple'ın Foundation Models çerçevesi aracılığıyla bulutta barındırılan Gemini modellerine erişebilirsiniz. Bu kılavuzda, aracı kullanmaya nasıl başlayacağınız gösterilmektedir.

Bu kılavuz, Gemini modellerine erişimi korumak için Firebase App Check'ı nasıl ayarlayacağınızı da gösterir. Bu, geliştirme sırasında bile kritik bir adımdır.

Ön koşullar

  • En yeni Xcode 27 beta sürümünü yükleyin.

  • İlgili beta işletim sistemi sürümünün (ör. iOS 27 beta) yüklü olduğu bir Apple platformu simülatörü veya fiziksel cihaz.

  • SwiftUI arayüzü kullanan bir Apple platformları uygulamasının yeni Xcode projesi.

Desteklenen Gemini modelleri

Apple'ın Foundation Models çerçevesiyle entegrasyon aşağıdaki Gemini modelleri destekler.

  • Genel amaçlı modeller

    • gemini-3.1-pro-preview
    • gemini-3.5-flash
    • gemini-3.1-flash-lite
  • Görüntü üreten modeller

    • gemini-3-pro-image-preview (diğer adıyla "Nano Banana Pro")
    • gemini-3.1-flash-image-preview (diğer adıyla "Nano Banana 2")
    • gemini-2.5-flash-image (diğer adıyla "Nano Banana")

Gemini Live API modelleri ve Imagen modelleri desteklenmez. Gemini 2.5 modellerinin teknik olarak desteklendiğini ancak yeni projeler için önerilmediğini ve bu kılavuzlarda ele alınmayan özel bir yapılandırma gerektirdiğini unutmayın.

1. adım: Firebase projesi oluşturun

Bu entegrasyonu keşfetmek için yeni bir Firebase projesiyle başlamanızı öneririz.

  1. Firebase konsolunda oturum açın.

  2. Yeni Firebase projesi oluştur'u tıklayın.

  3. Ekrandaki talimatları uygulayın. Google Analytics'i etkinleştirmeniz gerekmez.

2. adım: Uygulamanızı Firebase'e bağlayın

Uygulamanızı Firebase'e bağlamak için Firebase projenize kaydetmeniz ve kod tabanınıza bir yapılandırma dosyası eklemeniz gerekir.

  1. Kurulum iş akışını başlatmak için projeye genel bakış sayfasının ortasındaki iOS+ simgesini tıklayın.

  2. Uygulamanızı kaydetme:

    1. Uygulamanızın paket kimliğini girin. Bunun, Xcode'da oluşturduğunuz projenin paket kimliğiyle eşleştiğinden emin olun.

    2. Uygulamayı kaydet'i tıklayın.

  3. Firebase yapılandırma dosyasını ekleyin. Bu dosya, Firebase SDK'sının Firebase projenize bağlanması için gereken ayarları içerir.

    1. Yapılandırma dosyanızı almak için İndir'i GoogleService-Info.plist tıklayın.

    2. GoogleService-Info.plist dosyasını Xcode projenizin kök dizinine taşıyın ve tüm hedeflere ekleyin.

    3. Firebase konsolunda İleri'yi tıklayın.

  4. Konsoldaki iş akışı, Firebase SDK'sını uygulamanıza ekleme konusunda genel talimatlar sağlar. Bu nedenle, Firebase AI Logic ile ilgili özel talimatlar için bu kılavuzdaki bir sonraki adıma geçin.

3. adım: Firebase kitaplıklarını ekleyin ve uygulamanızda Firebase'i başlatın

  1. Gerekli Firebase kitaplıklarını eklemek için Swift Package Manager'ı kullanın:

    1. Xcode'da, uygulama projeniz açıkken File (Dosya) > Add Packages'ı (Paket Ekle) seçin.

    2. Firebase Apple SDK depo URL'sini girin:

      https://github.com/firebase/firebase-ios-sdk
      
    3. Bağımlılık Kuralı'nı Şube olarak seçin ve wwdc26-preview girin.

    4. Paket Ekle'yi tıklayın. Xcode, bağımlılıkları çözümleyip indirir.

    5. İstendiğinde FirebaseAILogic ve FirebaseAppCheck kitaplıklarını uygulama hedefinize ekleyin.

  2. Aşağıdaki kodu uygulamanızın ana giriş noktasına ekleyerek uygulamanız başlatıldığında Firebase'i başlatın:

    import SwiftUI
    import FirebaseCore
    
    @main
    struct YourApp: App {
      init() {
        FirebaseApp.configure()
      }
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
    

4. adım: Firebase hizmetlerini etkinleştirin ve güvenliğini sağlayın

Uygulamanız Firebase'i kullanacak şekilde yapılandırıldığına göre, Firebase AI Logic hizmetini etkinleştirmeniz ve Firebase App Check kullanarak ilişkili API'lere erişimi korumanız gerekir.

4a adımı: Firebase projenizde Firebase AI Logic'ı ayarlayın

  1. Firebase konsolunda AI Services > AI Logic'e gidin.

  2. Kurulum iş akışını başlatmak için Başlayın'ı tıklayın.

  3. Hızlı ve ücretsiz bir şekilde başlamak için Gemini Developer API sağlayıcısını seçmenizi öneririz.

4b adımı: Firebase projenizde Firebase App Check'ı ayarlayın

Etkinleştirildiğinde Firebase App Check yalnızca gerçek uygulamanızdan ve üzerinde değişiklik yapılmamış bir cihazdan gelen istekleri kabul eder. Firebase App Check, Apple'ın App Attest'i de dahil olmak üzere birçok onay sağlayıcıyı destekler.

Aşağıdaki adımlar, App Check için temel ve varsayılan kurulumla ilgilidir. App Check için ek yapılandırma seçenekleri (ör. jetonların TTL'sini ayarlama ve sınırlı kullanımlı jetonları etkinleştirme) hakkında daha fazla bilgi edinin.

Firebase konsolunda App Attest sağlayıcısını kaydetmek için:

  1. Firebase konsolunda Güvenlik > Uygulama Kontrolü'ne gidin.

  2. Başlayın'ı tıklayın.

  3. Uygulamalar sekmesinde, App Check'yi App Attest sağlayıcısı ile kullanmak için uygulamanızı kaydedin.

  4. API'ler sekmesinde, Firebase AI Logic simgesini seçip Uygula'yı tıklayın.

4c adımı: Uygulama Kontrolü hata ayıklama sağlayıcısını yerel geliştirme için yapılandırın

Yerel geliştirme için App Check Debug Provider'ı yapılandırın. Bu sağlayıcıyı ayarladığınızda geliştirme sırasında onaylama atlanır. Böylece, yukarıda ayarladığınız üretim güvenlik yapılandırmasını değiştirmeden uygulamanızın mantığını doğrulayabilirsiniz.

  1. Xcode projenizde FirebaseAppCheck öğesini içe aktarın ve App Check öğesini Firebase öğesini yapılandırmadan önce hata ayıklama sağlayıcı fabrikasıyla başlatın.

    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct YourApp: App {
      init() {
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
        FirebaseApp.configure()
      }
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
    
  2. Hata ayıklama jetonunuzu alın:

    1. Uygulamanızı simülatörde veya test cihazınızda başlatın.

    2. Xcode konsolunu açın ve App Check hata ayıklama jetonunu bulun. Jeton, uygulama başlatılırken oluşturulur. Bu nedenle, gördüğünüz ilk birkaç günlükten biri olmalıdır. Bu, aşağıdaki gibi görünür:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Jetonu kopyalayın (örneğin, 123a4567-b89c-12d3-e456-789012345678).

  3. App Check konsolunda hata ayıklama jetonunuzu App Check ile paylaşın:Firebase

    1. Firebase konsolunda Güvenlik > App Check > Uygulamalar'a gidin.

    2. Uygulamanızı bulun, taşma menüsünü () tıklayın ve Hata ayıklama jetonlarını yönet'i seçin.

    3. Hata ayıklama jetonu ekle'yi tıklayın, bir ad girin (örneğin, My Simulator), jetonu yapıştırın ve Kaydet'i tıklayın.

Hata ayıklama sağlayıcısı hakkında ayrıntılı bilgi (yeni bir hata ayıklama jetonunun nasıl alınacağı dahil) için resmi App Check belgelerine göz atın.

5. adım: Uygulamanızda AI Logic hizmetini başlatın

Sağlayıcıya özel içeriği ve kodu bu sayfada görüntülemek için Gemini API sağlayıcınızı tıklayın.

Firebase ve App Check yapılandırıldıktan sonra artık uygulamanızda Firebase AI Logic hizmetini başlatabilirsiniz.

import FoundationModels
import FirebaseCore
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")

6. adım: Gemini modeline istek gönderme

Uygulamanızda Firebase AI Logic kurulumu yapıldı, koruma sağlandı ve başlatıldıktan sonra Gemini modeline istek göndermeye hazırsınız.

Aşağıdaki örnekte en temel istek türü olan yalnızca metin içeren istemden metin oluşturma gösterilmektedir:

import FoundationModels
import FirebaseCore
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")


// Create a session by injecting the model into Apple's `LanguageModelSession`.
let session = LanguageModelSession(model: model)

// Generate a text response to a prompt.
let response = try await session.respond(to: "Write a story about a magic backpack.")
print(response.content)

Gemini modelleri, görüntüleri ve PDF'leri analiz etme, yapılandırılmış JSON çıkışı oluşturma ve görüntü oluşturma ("Nano Banana" modellerini kullanarak) gibi diğer istek türlerini de destekler. Bu tür isteklerle ilgili örnekleri dokümanlarda veya örnek uygulamada bulabilirsiniz.

Yanıtı akış şeklinde gösterme

Model oluşturma işleminden gelen sonucun tamamını beklemek yerine akış özelliğini kullanarak kısmi sonuçları işleyebilir ve daha hızlı etkileşimler elde edebilirsiniz. Yanıtı yayınlamak için respond(to:) yerine streamResponse(to:) kullanın.

import FoundationModels
import FirebaseCore
import FirebaseAILogic

// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")


// Create a session by injecting the model into Apple's `LanguageModelSession`.
let session = LanguageModelSession(model: model)

// Generate a streamed text response to a prompt.
// To stream the response, use `streamResponse(to:)` instead of `respond(to:)`
let stream = session.streamResponse(to: "Write a story about a magic backpack.")
var response = ""
for try await snapshot in stream {
  // The snapshot contains *all* content generated so far.
  response = snapshot.content
}

Sonraki adımlar


Apple'ın Foundation Models çerçevesi aracılığıyla Gemini API'a erişim hakkında geri bildirimde bulunma