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


Na konferencji WWDC w 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 (np. 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 Gemini hostowane w chmurze oferują duże okna kontekstu, zaawansowane możliwości i większą moc rozumowania.

Do modeli Gemini hostowanych w chmurze możesz uzyskać dostęp za pomocą platformy Foundation Models firmy Apple, korzystając z pakietu Firebase SDK 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 podczas tworzenia.

Wymagania wstępne

  • Pobierz Xcode 27 z Mac App Store.

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

  • 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.8-flash (oraz starsze wersje gemini-3.7-flash, gemini-3.6-flash i 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 API 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 Firebasekonsoli.

  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 zgodny z identyfikatorem pakietu projektu, który tworzysz w Xcode.

    2. Kliknij Zarejestruj aplikację.

  3. Dodaj plik konfiguracji 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 konfiguracji.

    2. Przenieś GoogleService-Info.plist do katalogu głównego projektu w 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.

Etap 3. Dodaj biblioteki Firebase i zainicjuj Firebase w aplikacji

  1. Użyj Swift Package Manager, aby dodać wymagane biblioteki Firebase:

    1. W Xcode otwórz projekt aplikacji i kliknij kolejno File (Plik) i Add Packages (Dodaj pakiety).

    2. Wpisz adres URL repozytorium pakietu SDK Firebase Apple:

      https://github.com/firebase/firebase-ios-sdk
      
    3. Wybierz co najmniej wersję 12.19.0.

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

    5. Gdy pojawi się odpowiedni komunikat, dodaj biblioteki FirebaseAILogic i FirebaseAppCheck 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 bez opłat.

    W każdej chwili możesz później skonfigurować Agent Platform Gemini API (formerly Vertex AI) (i jego wymagania dotyczące płatności).

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

    Na początku lipca 2026 roku 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 programowania lokalnego

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 tokena debugowania App Check. 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 w usłudze App Check:

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

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

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

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

Krok 6. Wyślij żądanie do modelu Gemini

Po skonfigurowaniu, zabezpieczeniu i zainicjowaniu Firebase AI Logic 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.8-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 rodzaje żądań, takie jak analizowanie obrazów i plików PDF, generowanie uporządkowanych danych wyjściowych w formacie JSON i generowanie obrazów generatywnych (za pomocą modeli „Nano Banana”). Przykłady tych typów żądań znajdziesz w dokumentacji lub w przykładowej aplikacji.

Wyświetlaj odpowiedź stopniowo

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