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


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

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

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

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

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

Требования

  • Скачайте Xcode 27 из Mac App Store.

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

  • Новый проект Xcode для приложения на платформе Apple с интерфейсом SwiftUI.

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

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

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

    • gemini-3.1-pro-preview
    • gemini-3.8-flash (а также более старые версии gemini-3.7-flash, 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 (также известна как Nano Banana 2)
    • gemini-3.1-flash-lite-image (также известна как Nano Banana 2 Lite)

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

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

Рекомендуем начать с нового проекта Firebase.

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

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

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

Шаг 2. Свяжите приложение с Firebase

Чтобы подключить приложение к Firebase, зарегистрируйте его в проекте Firebase и добавьте файл конфигурации в код.

  1. На странице обзора проекта нажмите на значок iOS+. Будет запущен мастер настройки.

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

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

    2. Нажмите Register app (Зарегистрировать приложение).

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

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

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

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

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

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

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

    1. Откройте проект приложения в Xcode и выберите File (Файл) > Add Packages (Добавить пакеты).

    2. Введите URL хранилища Firebase Apple SDK:

      https://github.com/firebase/firebase-ios-sdk
      
    3. Выберите версию 12.19.0 или более позднюю.

    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.

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

  1. В консоли Firebase выберите Сервисы ИИ > Логика ИИ.

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

  3. Когда вам будет предложено выбрать "поставщика Gemini API", рекомендуем выбрать Gemini Developer API, чтобы быстро начать работу бесплатно.

    Вы всегда можете настроить Agent Platform Gemini API (formerly Vertex AI) позже (и выполнить требования к оплате).

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

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

Шаг 4б. Настройте поставщика отладки 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 перейдите на вкладку Приложения в разделе Безопасность > App Check.

    2. Найдите приложение, нажмите на дополнительное меню () и выберите Управление токенами отладки.

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

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

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

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

После настройки 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.8-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.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)

Модели 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.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
}

Дальнейшие действия


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