Vertex AI Gemini API

Gemini API를 처음 사용하는 경우 Gemini Developer API가 Android 개발자에게 권장되는 API 제공업체입니다. 하지만 특정 데이터 위치 요구사항이 있거나 이미 Vertex AI 또는 Google Cloud 환경에 포함되어 있는 경우 Vertex AI Gemini API를 사용할 수 있습니다.

시작하기

앱에서 직접 Vertex AI Gemini API와 상호작용하기 전에 Vertex AI Studio에서 프롬프트를 실험해 볼 수 있습니다.

Firebase 프로젝트를 설정하고 앱을 Firebase에 연결

앱에서 API를 호출할 준비가 되면 Firebase AI Logic 시작 가이드의 '1단계'에 나온 안내에 따라 Firebase를 설정하고 필요한 API와 서비스를 사용 설정합니다.

Gradle 종속 항목 추가

앱 모듈에 다음 Gradle 종속 항목을 추가합니다.

Kotlin

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

자바

dependencies {
  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase: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")
}

로컬 개발을 위해 앱 체크 디버그 제공자 구성

2026년 7월 초부터 Firebase 콘솔의 AI Logic 안내 설정 워크플로의 일환으로 Gemini API를 보호하기 위해 Firebase 앱 체크가 자동으로 적용됩니다. 로컬 개발의 경우 앱 체크 시행을 유지하면서 증명을 우회하도록 앱 체크 디버그 제공자를 구성해야 합니다.

  1. 디버그 빌드에서 디버그 제공자 팩토리를 사용하도록 앱 체크를 구성합니다.

    Kotlin

    Firebase.initialize(context = this)
    Firebase.appCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance(),
    )
    

    자바

    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            DebugAppCheckProviderFactory.getInstance());
    
  2. 디버그 토큰을 가져옵니다.

    1. 에뮬레이터 또는 테스트 기기에서 앱을 실행합니다.

    2. 로그에서 앱 체크 디버그 토큰을 찾습니다. 예를 들면 다음과 같습니다.

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. 토큰을 복사합니다 (예: 123a4567-b89c-12d3-e456-789012345678).

  3. 앱 체크에 디버그 토큰을 등록합니다.

    1. Firebase Console에서 보안 > 앱 체크 > 으로 이동합니다.

    2. 앱을 찾아 더보기 메뉴()를 클릭한 다음 디버그 토큰 관리를 선택합니다.

    3. 화면에 표시된 안내에 따라 디버그 토큰을 등록합니다.

디버그 제공자 (새 디버그 토큰을 가져오는 방법 포함)에 관한 자세한 내용은 공식 앱 체크 문서를 참고하세요.

생성 모델 초기화

먼저 GenerativeModel를 인스턴스화하고 모델 이름을 지정합니다.

Kotlin

val model = Firebase.ai(backend = GenerativeBackend.vertexAI())
    .generativeModel("gemini-2.5-flash")

자바

GenerativeModel firebaseAI = FirebaseAI.getInstance(GenerativeBackend.vertexAI())
        .generativeModel("gemini-2.5-flash");

GenerativeModelFutures model = GenerativeModelFutures.from(firebaseAI);

Firebase 문서에서 사용 가능한 Gemini 모델을 자세히 알아볼 수 있습니다. 모델 파라미터 구성에 대해서도 알아볼 수 있습니다.

텍스트 생성

텍스트 응답을 생성하려면 프롬프트와 함께 generateContent()를 호출합니다.

Kotlin

suspend fun generateText(model: GenerativeModel) {
    // Note: generateContent() is a suspend function, which integrates well
    // with existing Kotlin code.
    val response = model.generateContent("Write a story about a magic backpack.")
    // ...
}

자바

Content prompt = new Content.Builder()
        .addText("Write a story about a magic backpack.")
        .build();

ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        // ...
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

Gemini Developer API와 마찬가지로 텍스트 프롬프트와 함께 이미지, 오디오, 동영상, 파일을 전달할 수도 있습니다. 자세한 내용은 앱에서 Gemini Developer API와 상호작용을 참고하세요.

Firebase AI Logic SDK에 대해 자세히 알아보려면 Firebase 문서를 참고하세요.