Начните работу: получите доступ к API Gemini через фреймворк Apple Foundation Models.


На конференции WWDC 2026 компания Apple открыла доступ к фреймворку Foundation Models для сторонних адаптеров моделей, что означает, что вы можете получить доступ к облачным моделям (например, Gemini ) через фреймворк Foundation Models, используя тот же API, что и для доступа к моделям на устройстве.

В вашем приложении вы можете менять экземпляр модели, чтобы направлять запросы либо к обработке данных на устройстве, либо к облачному сервису в зависимости от ваших задач:

  • Встраиваемые в устройство модели обеспечивают максимальную конфиденциальность, бесплатное использование и поддержку работы в автономном режиме.
  • Размещенные в облаке модели Gemini предлагают большие контекстные окна, расширенные возможности и более мощные средства рассуждения.

Вы можете получить доступ к облачным моделям Gemini через фреймворк Apple Foundation Models, используя Firebase SDK для платформ Apple — в частности, библиотеку Firebase AI Logic . В этом руководстве показано, как начать работу.

Для защиты доступа к моделям Gemini в этом руководстве также показано, как настроить Firebase App Check , что крайне важно даже на этапе разработки.

Предварительные требования

  • Установите последнюю бета-версию Xcode 27 .

  • Симулятор платформы Apple или физическое устройство, на которых установлена ​​соответствующая бета-версия ОС (например, iOS 27 beta).

  • Новый проект Xcode приложения для платформ Apple, использующего интерфейс SwiftUI.

Поддерживаемые модели Gemini

Интеграция с фреймворком Apple Foundation Models поддерживает следующие модели Gemini .

  • модели общего назначения

    • gemini-3.1-pro-preview
    • gemini-3.6-flash (и более старая версия gemini-3.5-flash )
    • gemini-3.5-flash-lite (и более старая модель gemini-3.1-flash-lite )
  • Модели генерации изображений

    • gemini-3-pro-image (также известный как "Nano Banana Pro")
    • gemini-3.1-flash-image (aka "Nano Banana 2")
    • gemini-3.1-flash-lite-image (aka "Nano Banana 2 Lite")

Модели Gemini Live API и модели Imagen не поддерживаются. Обратите внимание, что модели Gemini 2.5 технически поддерживаются, но не рекомендуются для новых проектов и требуют специальной настройки, не описанной в этих руководствах.

Шаг 1: Создайте проект Firebase.

Мы рекомендуем начать с нового проекта Firebase, чтобы изучить эту интеграцию.

  1. Войдите в консоль Firebase .

  2. Нажмите «Создать новый проект Firebase» .

  3. Следуйте инструкциям на экране. Включать Google Analytics не требуется.

Шаг 2: Подключите ваше приложение к Firebase.

Для подключения вашего приложения к Firebase необходимо зарегистрировать его в вашем проекте Firebase и добавить конфигурационный файл в ваш код.

  1. В центре страницы обзора проекта нажмите значок iOS+ , чтобы запустить процесс настройки.

  2. Зарегистрируйте свое приложение:

    1. Введите идентификатор пакета вашего приложения. Убедитесь, что он совпадает с идентификатором пакета проекта, который вы собираете в Xcode.

    2. Нажмите «Зарегистрировать приложение» .

  3. Добавьте конфигурационный файл Firebase. Этот файл содержит настройки для подключения SDK Firebase к вашему проекту Firebase.

    1. Нажмите кнопку «Скачать GoogleService-Info.plist , чтобы получить файл конфигурации.

    2. Переместите GoogleService-Info.plist в корневую папку вашего проекта Xcode и добавьте его ко всем целям.

    3. Нажмите кнопку «Далее» в консоли Firebase .

  4. В консоли представлен общий алгоритм добавления Firebase SDK в ваше приложение, поэтому перейдите к следующему шагу этого руководства, чтобы ознакомиться с конкретными инструкциями для Firebase AI Logic .

Шаг 3: Добавьте библиотеки Firebase и инициализируйте Firebase в вашем приложении.

  1. Используйте Swift Package Manager для добавления необходимых библиотек Firebase:

    1. В Xcode, открыв проект приложения, выберите File > Add Packages .

    2. Введите URL-адрес репозитория Firebase Apple SDK:

      https://github.com/firebase/firebase-ios-sdk
      
    3. Выберите правило зависимости как Branch и введите wwdc26-preview .

    4. Нажмите «Добавить пакет» . Xcode разрешит и загрузит зависимости.

    5. При появлении запроса добавьте библиотеки FirebaseAILogic и FirebaseAppCheck в целевой объект вашего приложения.

  2. Для инициализации Firebase при запуске приложения добавьте следующий код в главную точку входа приложения:

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

Шаг 4: Включите и защитите сервисы Firebase.

Теперь, когда ваше приложение настроено для использования Firebase, вам необходимо включить службу Firebase AI Logic и защитить доступ к связанным с ней API с помощью Firebase App Check .

Шаг 4a: Настройте Firebase AI Logic в своем проекте Firebase.

  1. В консоли Firebase перейдите в раздел AI Services > AI Logic .

  2. Нажмите « Начать» , чтобы запустить пошаговый процесс настройки.

  3. При выборе поставщика API Gemini мы рекомендуем выбрать Gemini Developer API , который позволит вам быстро и бесплатно начать работу.

    В любой момент позже вы всегда сможете настроить API Vertex AI Gemini (и необходимые для выставления счетов параметры).

  4. Продолжите выполнение рабочих процессов, чтобы настроить необходимые API и связанные с ними сервисы для Firebase AI Logic .

    Начиная с начала июля 2026 года, на этом этапе рабочего процесса автоматически будет применяться Firebase App Check для AI Logic , критически важная служба, помогающая защитить API Gemini при прямом доступе к нему из вашего приложения. Для начала работы (см. шаги далее в этом руководстве) вам потребуется настроить отладочный провайдер App Check для локальной разработки, когда App Check будет применяться.

Шаг 4b: Настройка поставщика отладки App Check для локальной разработки

Для локальной разработки необходимо настроить отладочный провайдер App Check таким образом, чтобы он обходил аттестацию, сохраняя при этом принудительное применение App Check .

  1. В вашем проекте Xcode импортируйте FirebaseAppCheck и инициализируйте App Check с помощью фабрики отладочных провайдеров, прежде чем настраивать 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. Получите свой отладочный токен:

    1. Запустите приложение в симуляторе или на тестовом устройстве.

    2. Откройте консоль Xcode и найдите отладочный токен App Check . Например:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Скопируйте токен (например, 123a4567-b89c-12d3-e456-789012345678 ).

  3. Зарегистрируйте свой отладочный токен в App Check :

    1. В консоли Firebase перейдите в раздел Безопасность > Проверка приложений > вкладка Приложения .

    2. Найдите своё приложение, нажмите на меню дополнительных элементов ( ), а затем выберите «Управление отладочными токенами» .

    3. Следуйте инструкциям на экране, чтобы зарегистрировать свой отладочный токен.

Подробную информацию о поставщике отладки (включая способы получения нового токена отладки) можно найти в официальной документации App Check .

Шаг 5: Инициализируйте службу AI Logic в вашем приложении.

Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него.

После настройки Firebase и App Check вы можете инициализировать службу Firebase AI Logic в своем приложении.

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

Шаг 6: Отправьте запрос модели Gemini.

После настройки, защиты и инициализации Firebase AI Logic в вашем приложении вы готовы отправить запрос модели Gemini .

В следующем примере показан самый простой тип запроса — генерация текста на основе текстовой подсказки:

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)

Модели Gemini также поддерживают другие типы запросов, такие как анализ изображений и PDF-файлов , генерация структурированного JSON-вывода и генерация изображений (с использованием моделей "Nano Banana"). Примеры таких запросов можно найти в документации или в демонстрационном приложении.

Трансляция ответа

Для ускорения взаимодействия можно не ждать полного результата генерации модели, а использовать потоковую обработку для частичного получения результатов. Для потоковой передачи ответа используйте streamResponse(to:) вместо 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
}

Следующие шаги


Оставьте отзыв о доступе к API Gemini через фреймворк Foundation Models от Apple.