Pierwsze kroki: dostęp do interfejsu Gemini API za pomocą platformy Foundation Models od Apple


Podczas WWDC 2026 r. firma Apple udostępniła platformę modeli podstawowych adapterom modeli innych firm, co oznacza, że możesz uzyskiwać dostęp do modeli hostowanych w chmurze (takich jak Gemini) za pomocą platformy modeli podstawowych, używając tego samego interfejsu API, co w przypadku modeli na urządzeniu.

W aplikacji możesz zamienić instancję modelu, aby kierować żądania do wnioskowania na urządzeniu lub w chmurze w zależności od przypadku użycia:

  • Modele na urządzeniu zapewniają maksymalną prywatność, są bezpłatne i działają offline.
  • Modele Geminihostowane w chmurze oferują duże okna kontekstu, zaawansowane możliwości i większą moc rozumowania.

Dostęp do modeli Gemini hostowanych w chmurze możesz uzyskać za pomocą platformy Foundation Models firmy Apple, korzystając z pakietu SDK Firebase na platformy Apple, a w szczególności z Firebase AI Logic biblioteki. Z tego przewodnika dowiesz się, jak zacząć.

Aby chronić dostęp do modeli Gemini, w tym przewodniku pokazujemy też, jak skonfigurować Firebase App Check, co jest niezwykle ważne nawet na etapie rozwoju.

Wymagania wstępne

  • Zainstaluj najnowszą wersję beta Xcode 27.

  • Symulator platformy Apple lub urządzenie fizyczne z odpowiednią wersją beta systemu operacyjnego (np. iOS 27 beta).

  • Nowy projekt Xcode aplikacji na platformy Apple z interfejsem SwiftUI.

Obsługiwane modele Gemini

Integracja z platformą modeli podstawowych Apple obsługuje te modele:Gemini

  • Modele ogólnego przeznaczenia

    • gemini-3.1-pro-preview
    • gemini-3.6-flash (i starszy gemini-3.5-flash)
    • gemini-3.5-flash-lite (i starszy gemini-3.1-flash-lite)
  • Modele generujące obrazy

    • gemini-3-pro-image (znany też jako „Nano Banana Pro”)
    • gemini-3.1-flash-image (znany też jako „Nano Banana 2”)
    • gemini-3.1-flash-lite-image (znany też jako „Nano Banana 2 Lite”)

Modele Gemini Live APIImagen nie są obsługiwane. Pamiętaj, że modele Gemini 2.5 są technicznie obsługiwane, ale nie są zalecane w przypadku nowych projektów i wymagają specjalnej konfiguracji, która nie jest opisana w tych przewodnikach.

Krok 1. Utwórz projekt w Firebase

Aby poznać tę integrację, zalecamy rozpoczęcie od nowego projektu w Firebase.

  1. Zaloguj się w Firebase konsoli.

  2. Kliknij Utwórz nowy projekt w Firebase.

  3. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie. Nie musisz włączać Google Analytics.

Krok 2. Połącz aplikację z Firebase

Aby połączyć aplikację z Firebase, musisz zarejestrować ją w projekcie w Firebase i dodać plik konfiguracyjny do bazy kodu.

  1. W centrum strony Opis projektu kliknij ikonę iOS+, aby uruchomić proces konfiguracji.

  2. Zarejestruj aplikację:

    1. Wpisz identyfikator pakietu aplikacji. Upewnij się, że jest on zgodny z identyfikatorem pakietu projektu, który tworzysz w Xcode.

    2. Kliknij Zarejestruj aplikację.

  3. Dodaj plik konfiguracyjny Firebase. Ten plik zawiera ustawienia [pakietu] SDK Firebase, które umożliwiają połączenie z projektem w Firebase.

    1. Kliknij Pobierz GoogleService-Info.plist, aby pobrać plik konfiguracyjny.

    2. Przenieś plik GoogleService-Info.plist do katalogu głównego projektu Xcode i dodaj go do wszystkich elementów docelowych.

    3. W konsoli Firebase kliknij Dalej.

  4. Proces w konsoli zawiera ogólne instrukcje dodawania pakietu SDK Firebase do aplikacji, więc przejdź do następnego kroku w tym przewodniku, aby uzyskać szczegółowe instrukcje dotyczące Firebase AI Logic.

Krok 3. Dodaj biblioteki Firebase i zainicjuj Firebase w aplikacji

  1. Użyj menedżera pakietów Swift, aby dodać wymagane biblioteki Firebase:

    1. Po otwarciu projektu aplikacji wybierz w Xcode opcję File (Plik) > Add Packages (Dodaj pakiety).

    2. Wpisz adres URL repozytorium pakietu SDK Firebase na platformę Apple:

      https://github.com/firebase/firebase-ios-sdk
      
    3. Wybierz regułę zależności Branch i wpisz wwdc26-preview.

    4. Kliknij Dodaj pakiet. Xcode przetworzy i pobierze zależności.

    5. Gdy pojawi się odpowiedni komunikat, dodaj biblioteki FirebaseAILogicFirebaseAppCheck do docelowej aplikacji.

  2. Zainicjuj Firebase podczas uruchamiania aplikacji, dodając ten kod do głównego punktu wejścia aplikacji:

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

Krok 4. Włącz i zabezpiecz usługi Firebase

Gdy aplikacja jest już skonfigurowana do korzystania z Firebase, musisz włączyć usługę Firebase AI Logic i zabezpieczyć dostęp do powiązanych z nią interfejsów API za pomocą Firebase App Check.

Krok 4a. Skonfiguruj Firebase AI Logic w projekcie w Firebase

  1. W konsoli Firebase otwórz Usługi AI > Logika AI.

  2. Aby uruchomić proces konfiguracji z pomocą przewodnika, kliknij Rozpocznij.

  3. Gdy pojawi się prośba o wybranie „dostawcy Gemini API”, zalecamy wybranie Gemini Developer API, które umożliwia szybkie rozpoczęcie pracy bezpłatnie.

    W dowolnym momencie możesz później skonfigurować Vertex AI Gemini API (i jego wymagania dotyczące płatności).

  4. Kontynuuj proces, aby skonfigurować wymagane interfejsy API i powiązane usługi dla Firebase AI Logic.

    Na początku lipca 2026 r. ten etap przepływu pracy będzie automatycznie wymagać Firebase App Check w przypadku AI Logic, co jest kluczową usługą pomagającą chronić Gemini API, gdy jest on bezpośrednio dostępny z Twojej aplikacji. Aby rozpocząć (patrz kroki w dalszej części tego przewodnika), musisz skonfigurować App Check dostawcę debugowania na potrzeby lokalnego programowania, gdy App Check jest wymagany.

Krok 4b. Skonfiguruj dostawcę debugowania App Check na potrzeby lokalnego środowiska programistycznego

W przypadku programowania lokalnego musisz skonfigurować App Check dostawcę debugowania, aby pominąć atestowanie, ale nadal egzekwować App Check.

  1. W projekcie Xcode zaimportuj FirebaseAppCheck i zainicjuj App Check za pomocą fabryki dostawcy debugowania przed skonfigurowaniem Firebase.

    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. Uzyskaj token debugowania:

    1. Uruchom aplikację w symulatorze lub na urządzeniu testowym.

    2. Otwórz konsolę Xcode i poszukaj App Checktokena debugowania. Przykład:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Skopiuj token (np. 123a4567-b89c-12d3-e456-789012345678).

  3. Zarejestruj token debugowania u dostawcy App Check:

    1. W konsoli Firebase otwórz kartę Zabezpieczenia > Sprawdzanie aplikacji > Aplikacje.

    2. Znajdź aplikację, kliknij rozszerzone menu (), a następnie wybierz Zarządzaj tokenami debugowania.

    3. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby zarejestrować token debugowania.

Szczegółowe informacje o dostawcy debugowania (w tym o tym, jak uzyskać nowy token debugowania) znajdziesz w oficjalnej dokumentacji App Check.

Krok 5. Zainicjuj usługę AI Logic w aplikacji

Kliknij Gemini API dostawcę, aby wyświetlić na tej stronie treści i kod dostawcy.

Po skonfigurowaniu Firebase i App Check możesz zainicjować usługę Firebase AI Logic w swojej aplikacji.

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.6-flash")

Krok 6. Wysyłanie żądania do modelu Gemini

Gdy Firebase AI Logic jest skonfigurowany, chroniony i zainicjowany w aplikacji, możesz wysłać żądanie do modelu Gemini.

Poniższy przykład pokazuje najbardziej podstawowy typ żądania – generowanie tekstu na podstawie prompta zawierającego tylko tekst:

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.6-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)

Modele Gemini obsługują też inne typy żądań, takie jak analizowanie obrazów i plików PDF, generowanie uporządkowanych danych wyjściowych w formacie JSONgenerowanie obrazów (przy użyciu modeli „Nano Banana”). Przykłady tych typów żądań znajdziesz w dokumentacji lub w przykładowej aplikacji.

Przesyłanie odpowiedzi strumieniowo

Możesz uzyskać szybsze interakcje, nie czekając na cały wynik wygenerowany przez model, i zamiast tego użyć strumieniowania do obsługi częściowych wyników. Aby przesyłać strumieniowo odpowiedź, użyj streamResponse(to:) zamiast respond(to:).

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.6-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
}

Dalsze kroki


Prześlij opinię o dostępie do Gemini API za pomocą platformy modeli podstawowych Apple