이 가이드에서는 선택한 플랫폼의 Firebase AI Logic 클라이언트 SDK를 사용하여 앱에서 직접 Gemini API를 호출하는 방법을 설명합니다.
기본 요건
Swift
이 가이드에서는 사용자가 Xcode를 사용하여 Apple 플랫폼(예: iOS)용 앱을 개발하는 데 익숙하다고 가정합니다.
개발 환경과 Apple 플랫폼 앱이 다음 요구사항을 충족하는지 확인합니다.
- Xcode 26.2 이상
- 앱이 iOS 15 이상 또는 macOS 12 이상을 타겟팅하는 경우
Kotlin
이 가이드에서는 Android 스튜디오를 사용하여 Android용 앱을 개발하는 데 익숙하다고 가정합니다.
개발 환경과 Android 앱이 다음 요구사항을 충족하는지 확인합니다.
- Android 스튜디오 (최신 버전)
- 앱이 API 수준 21 이상을 타겟팅하는 경우
Java
이 가이드에서는 Android 스튜디오를 사용하여 Android용 앱을 개발하는 데 익숙하다고 가정합니다.
개발 환경과 Android 앱이 다음 요구사항을 충족하는지 확인합니다.
- Android 스튜디오 (최신 버전)
- 앱이 API 수준 21 이상을 타겟팅하는 경우
Web
이 가이드에서는 독자가 JavaScript를 사용하여 웹 앱을 개발하는 데 익숙하다고 가정합니다. 이 가이드는 프레임워크와 무관합니다.
개발 환경과 웹 앱이 다음 요구사항을 충족하는지 확인하세요.
- (선택사항) Node.js
- 최신 웹브라우저
Dart
이 가이드에서는 독자가 Flutter로 앱을 개발하는 데 익숙하다고 가정합니다.
개발 환경과 Flutter 앱이 다음 요구사항을 충족하는지 확인합니다.
- Dart 3.2.0 이상
Unity
이 가이드에서는 독자가 Unity로 게임을 개발하는 데 익숙하다고 가정합니다.
개발 환경과 Unity 게임이 다음 요구사항을 충족하는지 확인합니다.
- Unity Editor 2021 LTS 이상
유용한 리소스 확인하기
Swift
빠른 시작 앱 사용해 보기
빠른 시작 앱을 사용하여 SDK를 빠르게 사용해 보고 다양한 사용 사례의 전체 구현을 확인하세요. 또는 자체 Apple 플랫폼 앱이 없는 경우 빠른 시작 앱을 사용하세요. 빠른 시작 앱을 사용하려면 Firebase 프로젝트에 연결해야 합니다.
동영상 튜토리얼 보기
이 동영상에서는 텍스트 프롬프트에서 레시피를 생성하는 실제 AI 기반 식사 계획 앱을 빌드하여 Firebase AI Logic를 시작하는 방법을 보여줍니다.
동영상에 나오는 앱의 코드베이스를 다운로드하여 살펴볼 수도 있습니다.
Kotlin
빠른 시작 앱 사용해 보기
빠른 시작 앱을 사용하여 SDK를 빠르게 사용해 보고 다양한 사용 사례의 전체 구현을 확인하세요. 또는 자체 Android 앱이 없는 경우 빠른 시작 앱을 사용하세요. 빠른 시작 앱을 사용하려면 Firebase 프로젝트에 연결해야 합니다.
동영상 튜토리얼 보기
이 동영상에서는 텍스트 프롬프트에서 레시피를 생성하는 실제 AI 기반 식사 계획 앱을 빌드하여 Firebase AI Logic를 시작하는 방법을 보여줍니다.
동영상에 나오는 앱의 코드베이스를 다운로드하여 살펴볼 수도 있습니다.
Java
빠른 시작 앱 사용해 보기
빠른 시작 앱을 사용하여 SDK를 빠르게 사용해 보고 다양한 사용 사례의 전체 구현을 확인하세요. 또는 자체 Android 앱이 없는 경우 빠른 시작 앱을 사용하세요. 빠른 시작 앱을 사용하려면 Firebase 프로젝트에 연결해야 합니다.
동영상 튜토리얼 보기
이 동영상에서는 텍스트 프롬프트에서 레시피를 생성하는 실제 AI 기반 식사 계획 앱을 빌드하여 Firebase AI Logic를 시작하는 방법을 보여줍니다.*
동영상에 나오는 앱의 코드베이스를 다운로드하여 살펴볼 수도 있습니다.
* 이 동영상과 앱은 Kotlin으로 되어 있지만 Java 개발자가 Firebase AI Logic를 시작하는 방법을 이해하는 데 도움이 될 수 있습니다.
Web
빠른 시작 앱 사용해 보기
빠른 시작 앱을 사용하여 SDK를 빠르게 사용해 보고 다양한 사용 사례의 전체 구현을 확인하세요. 또는 자체 웹 앱이 없는 경우 빠른 시작 앱을 사용하세요. 빠른 시작 앱을 사용하려면 Firebase 프로젝트에 연결해야 합니다.
Dart
빠른 시작 앱 사용해 보기
빠른 시작 앱을 사용하여 SDK를 빠르게 사용해 보고 다양한 사용 사례의 전체 구현을 확인하세요. 또는 자체 Flutter 앱이 없는 경우 빠른 시작 앱을 사용합니다. 빠른 시작 앱을 사용하려면 Firebase 프로젝트에 연결해야 합니다.
동영상 튜토리얼 보기
이 동영상에서는 텍스트 프롬프트에서 레시피를 생성하는 실제 AI 기반 식사 계획 앱을 빌드하여 Firebase AI Logic를 시작하는 방법을 보여줍니다.
동영상에 나오는 앱의 코드베이스를 다운로드하여 살펴볼 수도 있습니다.
Unity
빠른 시작 앱 사용해 보기
빠른 시작 앱을 사용하여 SDK를 빠르게 사용해 보고 다양한 사용 사례의 전체 구현을 확인하세요. 또는 자체 Unity 게임이 없는 경우 빠른 시작 앱을 사용합니다. 빠른 시작 앱을 사용하려면 Firebase 프로젝트에 연결해야 합니다.
1단계: Firebase 프로젝트 설정 및 API 사용 설정
Firebase 콘솔에 로그인한 다음 Firebase 프로젝트를 선택합니다.
Firebase 콘솔에서 AI 서비스 > AI 로직으로 이동합니다.
시작하기를 클릭하여 프로젝트에 필요한 API와 리소스를 설정하는 데 도움이 되는 안내 워크플로를 실행합니다.
메시지가 표시되면 화면에 표시된 안내에 따라 앱을 등록하고 Firebase 구성을 앱에 추가합니다.
'Gemini API 제공업체'를 선택하라는 메시지가 표시되면 무료로 빠르게 시작할 수 있는 Gemini Developer API를 선택하는 것이 좋습니다.
나중에 언제든지 Vertex AI Gemini API을 설정(및 결제 요구사항)할 수 있습니다.
워크플로를 계속 진행하여 Firebase AI Logic에 필요한 API와 관련 서비스를 설정합니다.
2026년 7월 초부터 워크플로의 이 단계에서는 AI Logic에 Firebase App Check를 적용합니다. Firebase App Check는 앱에서 직접 액세스할 때 Gemini API를 보호하는 데 도움이 되는 중요한 서비스입니다. 시작하기의 일환으로 (이 가이드의 뒷부분에 나오는 단계 참고) App Check이 적용될 때 로컬 개발을 위해 App Check 디버그 제공자를 구성해야 합니다.
이 가이드의 다음 단계로 이동하여 앱에 필요한 SDK를 추가합니다.
2단계: 필수 SDK 추가
Firebase 프로젝트를 설정하고 필수 API를 사용 설정했으므로(이전 단계 참고) 이제 앱에 필수 SDK를 추가할 수 있습니다.
Swift
Swift Package Manager를 사용해 Firebase 종속 항목을 설치하고 관리하세요. 필요한 경우 기타 설치 옵션을 알아보세요.
Firebase AI Logic 라이브러리는 Gemini 모델과 상호작용하기 위한 API에 대한 액세스를 제공합니다. 이 라이브러리는 Apple 플랫폼용 Firebase SDK (firebase-ios-sdk)의 일부로 포함되어 있습니다.
이미 Firebase를 사용 중인 경우 Firebase 패키지가 v12.5.0 이상인지 확인합니다.
앱 프로젝트를 연 상태로 Xcode에서 File(파일) > Add Package Dependencies(패키지 종속 항목 추가)로 이동합니다.
메시지가 표시되면 Firebase Apple 플랫폼 SDK 저장소를 추가합니다.
https://github.com/firebase/firebase-ios-sdk최신 SDK 버전을 선택합니다.
FirebaseAILogic라이브러리와FirebaseAppCheck라이브러리를 선택합니다.
완료되면 Xcode가 백그라운드에서 자동으로 종속 항목을 확인하고 다운로드하기 시작합니다.
Kotlin
Android용 Firebase AI Logic SDK (firebase-ai)는 Gemini 모델과 상호작용하는 API에 대한 액세스를 제공합니다.
모듈 (앱 수준) Gradle 파일(예: <project>/<app-module>/build.gradle.kts)에서 Android용 Firebase AI Logic 및 App Check 라이브러리의 종속 항목을 추가합니다. 라이브러리 버전 관리 제어에는 Firebase Android BoM을 사용하는 것이 좋습니다.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.15.0")) // Add the dependencies for the Firebase AI Logic and App Check libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") implementation("com.google.firebase:firebase-appcheck-debug") }
Firebase Android BoM을 사용하면 앱에서 항상 호환되는 Firebase Android 라이브러리 버전을 사용합니다.
Java
Android용 Firebase AI Logic SDK (firebase-ai)는 Gemini 모델과 상호작용하는 API에 대한 액세스를 제공합니다.
모듈 (앱 수준) Gradle 파일(예: <project>/<app-module>/build.gradle.kts)에서 Android용 Firebase AI Logic 및 App Check 라이브러리의 종속 항목을 추가합니다. 라이브러리 버전 관리 제어에는 Firebase Android BoM을 사용하는 것이 좋습니다.
Java의 경우 두 개의 추가 라이브러리를 추가해야 합니다.
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.15.0")) // Add the dependencies for the Firebase AI Logic and App Check libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") implementation("com.google.firebase:firebase-appcheck-debug") // Required for one-shot operations (to use `ListenableFuture` from Guava Android) implementation("com.google.guava:guava:31.0.1-android") // Required for streaming operations (to use `Publisher` from Reactive Streams) implementation("org.reactivestreams:reactive-streams:1.0.4") }
Firebase Android BoM을 사용하면 앱에서 항상 호환되는 Firebase Android 라이브러리 버전을 사용합니다.
Web
Firebase AI Logic 라이브러리는 Gemini 모델과 상호작용하기 위한 API에 대한 액세스를 제공합니다. 이 라이브러리는 웹용 Firebase JavaScript SDK의 일부로 포함되어 있습니다.
npm을 사용하여 웹용 Firebase JS SDK를 설치합니다.
npm install firebase앱에서 Firebase를 초기화합니다.
import { initializeApp } from "firebase/app"; import { initializeAppCheck, DebugProvider } from "firebase/app-check"; // TODO(developer) Replace the following with your app's Firebase configuration // See: https://firebase.google.com/docs/web/learn-more#config-object const firebaseConfig = { // ... }; // Initialize FirebaseApp const firebaseApp = initializeApp(firebaseConfig);
Dart
Flutter용 Firebase AI Logic 플러그인 (firebase_ai)은 Gemini 모델과 상호작용하는 API에 대한 액세스를 제공합니다.
Flutter 프로젝트 디렉터리에서 다음 명령어를 실행하여 Firebase AI Logic 및 App Check 플러그인을 설치합니다.
flutter pub add firebase_ai firebase_app_checklib/main.dart파일에서 Firebase AI Logic 및 App Check 플러그인을 가져옵니다.import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_ai/firebase_ai.dart'; import 'package:firebase_app_check/firebase_app_check.dart'; import 'firebase_options.dart';또한
lib/main.dart파일에서 구성 파일로 내보낸DefaultFirebaseOptions객체를 사용하여 Firebase를 초기화했는지 확인합니다.await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );Flutter 애플리케이션을 다시 빌드합니다.
flutter run
Unity
Firebase Unity SDK를 다운로드한 후 원하는 위치에 SDK를 추출합니다.
Firebase Unity SDK는 플랫폼별로 제공되지 않습니다.
Unity 프로젝트를 열고 Assets(애셋) > Import Package(패키지 가져오기) > Custom Package(커스텀 패키지)로 이동합니다.
추출된 SDK에서
FirebaseAI및FirebaseAppCheck패키지를 선택합니다.Unity 패키지 가져오기 창에서 가져오기를 클릭합니다.
3단계: 로컬 개발을 위해 App Check 디버그 제공자 구성
2026년 7월 초부터 콘솔의 AI Logic 안내 설정 워크플로의 일환으로 Gemini API를 보호하기 위해 Firebase App Check이 자동으로 적용됩니다. 로컬 개발의 경우 App Check 시행을 유지하면서 증명을 우회하도록 App Check 디버그 제공자를 구성해야 합니다.
Swift
시뮬레이터에서 대화형으로 앱을 실행하는 동안 (예: 로컬 개발 중에) 디버그 제공자를 사용하는 방법은 다음과 같습니다.
Xcode 프로젝트에서
FirebaseAppCheck를 가져오고Firebase를 구성하기 전에 디버그 제공자 팩토리로 App Check를 초기화합니다.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() } } } }디버그 토큰을 가져옵니다.
시뮬레이터 또는 테스트 기기에서 앱을 실행합니다.
Xcode 콘솔을 열고 App Check 디버그 토큰을 찾습니다. 예를 들면 다음과 같습니다.
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.토큰을 복사합니다 (예:
123a4567-b89c-12d3-e456-789012345678).
App Check에 디버그 토큰을 등록합니다.
Firebase 콘솔에서 보안 > App Check > 앱 탭으로 이동합니다.
앱을 찾아 더보기 메뉴()를 클릭한 다음 디버그 토큰 관리를 선택합니다.
화면에 표시된 안내에 따라 디버그 토큰을 등록합니다.
새 디버그 토큰을 획득하는 방법을 비롯한 디버그 제공자에 관한 자세한 내용은 공식 App Check 문서를 참고하세요.
Kotlin
에뮬레이터에서 대화형으로 앱을 실행하는 동안 (예: 로컬 개발 중에) 디버그 제공자를 사용하는 방법은 다음과 같습니다.
디버그 빌드에서 디버그 제공자 팩토리를 사용하도록 App Check를 구성합니다.
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance(), )
디버그 토큰을 가져옵니다.
에뮬레이터 또는 테스트 기기에서 앱을 실행합니다.
로그에서 App Check 디버그 토큰을 찾습니다. 예를 들면 다음과 같습니다.
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678토큰을 복사합니다 (예:
123a4567-b89c-12d3-e456-789012345678).
App Check에 디버그 토큰을 등록합니다.
Firebase 콘솔에서 보안 > App Check > 앱 탭으로 이동합니다.
앱을 찾아 더보기 메뉴()를 클릭한 다음 디버그 토큰 관리를 선택합니다.
화면에 표시된 안내에 따라 디버그 토큰을 등록합니다.
새 디버그 토큰을 획득하는 방법을 비롯한 디버그 제공자에 관한 자세한 내용은 공식 App Check 문서를 참고하세요.
Java
에뮬레이터에서 대화형으로 앱을 실행하는 동안 (예: 로컬 개발 중에) 디버그 제공자를 사용하는 방법은 다음과 같습니다.
디버그 빌드에서 디버그 제공자 팩토리를 사용하도록 App Check를 구성합니다.
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance());
디버그 토큰을 가져옵니다.
에뮬레이터 또는 테스트 기기에서 앱을 실행합니다.
로그에서 App Check 디버그 토큰을 찾습니다. 예를 들면 다음과 같습니다.
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678토큰을 복사합니다 (예:
123a4567-b89c-12d3-e456-789012345678).
App Check에 디버그 토큰을 등록합니다.
Firebase 콘솔에서 보안 > App Check > 앱 탭으로 이동합니다.
앱을 찾아 더보기 메뉴()를 클릭한 다음 디버그 토큰 관리를 선택합니다.
화면에 표시된 안내에 따라 디버그 토큰을 등록합니다.
새 디버그 토큰을 획득하는 방법을 비롯한 디버그 제공자에 관한 자세한 내용은 공식 App Check 문서를 참고하세요.
Web
localhost에서 대화형으로 앱을 실행하는 동안 (예: 로컬 개발 중에) 디버그 제공자를 사용하는 방법은 다음과 같습니다.
디버그 빌드에서 App Check를 초기화하기 전에
self.FIREBASE_APPCHECK_DEBUG_TOKEN을true로 설정하여 디버그 모드를 사용 설정합니다. 예를 들면 다음과 같습니다.self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; initializeAppCheck(app, { /* App Check options */ });로컬에서 웹 앱을 방문하여 브라우저의 개발자 도구를 엽니다. 디버그 콘솔에 디버그 토큰이 표시됩니다.
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.App Check에 디버그 토큰을 등록합니다.
Firebase 콘솔에서 보안 > App Check > 앱 탭으로 이동합니다.
앱을 찾아 더보기 메뉴()를 클릭한 다음 디버그 토큰 관리를 선택합니다.
화면에 표시된 안내에 따라 디버그 토큰을 등록합니다.
새 디버그 토큰을 획득하는 방법을 비롯한 디버그 제공자에 관한 자세한 내용은 공식 App Check 문서를 참고하세요.
Dart
iOS+
시뮬레이터에서 대화형으로 앱을 실행하는 동안 (예: 로컬 개발 중에) 디버그 제공자를 사용하는 방법은 다음과 같습니다.
Firebase 앱을 초기화한 직후 디버그 제공자로 App Check을 활성화합니다.
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; // Import the firebase_app_check plugin import 'package:firebase_app_check/firebase_app_check.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await FirebaseAppCheck.instance.activate( // Set appleProvider to `AppleProvider.debug` appleProvider: AppleProvider.debug, ); runApp(App()); }Xcode 프로젝트에서 디버그 로깅을 사용 설정합니다.
- Product(제품) > Scheme(스키마) > Edit scheme(스키마 수정)을 엽니다.
- 왼쪽 메뉴에서 Run(실행)을 선택한 다음 Arguments(인수) 탭을 선택합니다.
- Arguments Passed on Launch(실행 시 전달 인수) 섹션에
-FIRDebugEnabled를 추가합니다.
디버그 토큰을 가져옵니다.
Xcode로
ios/Runner.xcworkspace를 열고 시뮬레이터나 테스트 기기에서 앱을 실행합니다.Xcode 콘솔을 열고 App Check 디버그 토큰을 찾습니다. 예를 들면 다음과 같습니다.
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.토큰을 복사합니다 (예:
123a4567-b89c-12d3-e456-789012345678).
App Check에 디버그 토큰을 등록합니다.
Firebase 콘솔에서 보안 > App Check > 앱 탭으로 이동합니다.
앱을 찾아 더보기 메뉴()를 클릭한 다음 디버그 토큰 관리를 선택합니다.
화면에 표시된 안내에 따라 디버그 토큰을 등록합니다.
Android
에뮬레이터에서 대화형으로 앱을 실행하는 동안 (예: 로컬 개발 중에) 디버그 제공자를 사용하는 방법은 다음과 같습니다.
Firebase 앱을 초기화한 직후 디버그 제공자로 App Check을 활성화합니다.
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; // Import the firebase_app_check plugin import 'package:firebase_app_check/firebase_app_check.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await FirebaseAppCheck.instance.activate( // Set androidProvider to `AndroidProvider.debug` androidProvider: AndroidProvider.debug, ); runApp(App()); }디버그 토큰을 가져옵니다.
에뮬레이터 또는 테스트 기기에서 앱을 실행합니다.
로그에서 App Check 디버그 토큰을 찾습니다. 예를 들면 다음과 같습니다.
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678토큰을 복사합니다 (예:
123a4567-b89c-12d3-e456-789012345678).
App Check에 디버그 토큰을 등록합니다.
Firebase 콘솔에서 보안 > App Check > 앱 탭으로 이동합니다.
앱을 찾아 더보기 메뉴()를 클릭한 다음 디버그 토큰 관리를 선택합니다.
화면에 표시된 안내에 따라 디버그 토큰을 등록합니다.
웹
localhost에서 대화형으로 앱을 실행하는 동안 (예: 로컬 개발 중에) 디버그 제공자를 사용하는 방법은 다음과 같습니다.
web/index.html파일에서self.FIREBASE_APPCHECK_DEBUG_TOKEN을true로 설정하여 디버그 모드를 사용 설정합니다.<body> <script> self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; </script> ... </body>로컬에서 웹 앱을 실행하고 브라우저의 개발자 도구를 엽니다. 디버그 콘솔에 디버그 토큰이 표시됩니다.
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.이 토큰은 브라우저에 로컬로 저장되며 동일한 머신의 동일한 브라우저에서 앱을 사용할 때마다 사용됩니다. 다른 브라우저 또는 다른 머신에서 토큰을 사용하려면
self.FIREBASE_APPCHECK_DEBUG_TOKEN을true대신 토큰 문자열로 설정합니다.App Check에 디버그 토큰을 등록합니다.
Firebase 콘솔에서 보안 > App Check > 앱 탭으로 이동합니다.
앱을 찾아 더보기 메뉴()를 클릭한 다음 디버그 토큰 관리를 선택합니다.
화면에 표시된 안내에 따라 디버그 토큰을 등록합니다.
새 디버그 토큰을 획득하는 방법을 비롯한 디버그 제공자에 관한 자세한 내용은 공식 App Check 문서를 참고하세요.
Unity
에뮬레이터에서 대화형으로 앱을 실행하는 동안 (예: 로컬 개발 중에) 디버그 제공자를 사용하는 방법은 다음과 같습니다.
Firebase 콘솔에서 디버그 토큰을 만듭니다.
Firebase 콘솔에서 보안 > App Check > 앱 탭으로 이동합니다.
앱을 찾아 더보기 메뉴()를 클릭한 다음 디버그 토큰 관리를 선택합니다.
화면에 표시된 안내에 따라 새 디버그 토큰을 만듭니다.
앱의 초기화 코드에 다음을 추가합니다.
using Firebase.AppCheck; void InitializeFirebase() { // Configure the Debug Provider factory with your debug token. DebugAppCheckProviderFactory.Instance.SetDebugToken("YOUR_DEBUG_TOKEN"); // Set App Check to use the debug provider factory FirebaseAppCheck.SetAppCheckProviderFactory( DebugAppCheckProviderFactory.Instance); // Proceed to initialize Firebase as normal }
새 디버그 토큰을 획득하는 방법을 비롯한 디버그 제공자에 관한 자세한 내용은 공식 App Check 문서를 참고하세요.
4단계: 서비스 초기화 및 모델 인스턴스 생성
|
Gemini API 제공업체를 클릭하여 이 페이지에서 제공업체별 콘텐츠와 코드를 확인합니다. |
Gemini 모델에 프롬프트를 보내기 전에 선택한 API 제공업체의 서비스를 초기화하고 GenerativeModel 인스턴스를 만듭니다.
Swift
import FirebaseAILogic
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-3.5-flash")
Kotlin
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-3.5-flash")
Java
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-3.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-3.5-flash" });
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-3.5-flash');
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case.
var model = ai.GetGenerativeModel(modelName: "gemini-3.5-flash");
사용하는 기능에 따라 GenerativeModel 인스턴스를 항상 생성하지는 않을 수 있습니다. Gemini Live API을 사용하여 입력과 출력을 스트리밍하려면 LiveModel 인스턴스를 만드세요.
또한 이 시작 가이드를 완료한 후 사용 사례와 앱에 맞는 모델을 선택하는 방법을 알아보세요.
5단계: 모델에 요청 보내기
이제 Gemini 모델에 요청을 보낼 수 있습니다.
generateContent()를 사용하여 텍스트가 포함된 프롬프트에서 텍스트를 생성할 수 있습니다.
Swift
import FirebaseAILogic
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-3.5-flash")
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")
Kotlin
Kotlin의 경우 이 SDK의 메서드는 정지 함수이며 코루틴 범위에서 호출해야 합니다.
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-3.5-flash")
// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
val response = model.generateContent(prompt)
print(response.text)
Java
Java의 경우 이 SDK의 메서드는ListenableFuture를 반환합니다.
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-3.5-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
// Provide a prompt that contains text
Content prompt = new Content.Builder()
.addText("Write a story about a magic backpack.")
.build();
// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();
System.out.println(resultText);
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
}, executor);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-3.5-flash" });
// Wrap in an async function so you can use await
async function run() {
// Provide a prompt that contains text
const prompt = "Write a story about a magic backpack."
// To generate text output, call generateContent with the text input
const result = await model.generateContent(prompt);
const response = result.response;
const text = response.text();
console.log(text);
}
run();
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-3.5-flash');
// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];
// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);
Unity
using Firebase;
using Firebase.AI;
// Initialize the Gemini Developer API backend service.
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance with a model that supports your use case.
var model = ai.GetGenerativeModel(modelName: "gemini-3.5-flash");
// Provide a prompt that contains text
var prompt = "Write a story about a magic backpack.";
// To generate text output, call GenerateContentAsync with the text input
var response = await model.GenerateContentAsync(prompt);
UnityEngine.Debug.Log(response.Text ?? "No text in response.");
또 뭘 할 수 있어?
지원되는 모델 자세히 알아보기
다양한 사용 사례에 사용할 수 있는 모델과 해당 모델의 할당량 및 가격에 대해 알아봅니다.
다른 기능 사용해 보기
- 텍스트 전용 프롬프트에서 텍스트를 생성하는 방법(예: 응답 스트리밍)을 자세히 알아보세요.
- 이미지, PDF, 동영상, 오디오와 같은 다양한 파일 유형으로 프롬프트를 표시하여 텍스트를 생성합니다.
- 멀티턴 대화 (채팅)를 빌드합니다.
- 텍스트 프롬프트와 멀티모달 프롬프트 모두에서 구조화된 출력 (예: JSON)을 생성합니다.
- 텍스트 및 멀티모달 프롬프트에서 이미지를 생성하고 편집할 수 있습니다.
- Gemini Live API를 사용하여 스트림 입력 및 출력 (오디오 포함)
- 함수 호출 및 Google 검색을 통한 그라운딩과 같은 도구를 사용하여 Gemini 모델을 앱의 다른 부분과 외부 시스템 및 정보에 연결합니다.
콘텐츠 생성 제어 방법 알아보기
- 권장사항, 전략, 예시 프롬프트를 비롯한 프롬프트 설계 이해하기
- 최대 출력 토큰, 반복된 출력 토큰의 확률 등 모델 파라미터를 구성합니다.
- 안전 설정 사용을 통해 유해하다고 간주될 수 있는 대답을 받을 가능성을 조정합니다.
Firebase AI Logic 사용 경험에 관한 의견 보내기