Chapters

Hide chapters

Practical Android AI

First Edition · Android 13 · Kotlin 2.0 · Android Studio Otter

6. Harnessing Cloud Power with Firebase AI Logic
Written by Zahidur Rahman Faisal

Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.

Heads up... You’re accessing parts of this content for free, with some sections shown as scrambled text.

Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.

Unlock now

Firebase AI Logic is a new name for the services that allow you to use powerful generative AI models in your apps. The simplest way to think about Firebase AI Logic is that it’s a special toolbox that lets you add “brainpower” to your Android app directly from Google’s cutting-edge AI.

Instead of needing a complicated server to run AI models, Firebase AI Logic provides an SDK (Software Development Kit) that lets your app talk directly to models like Gemini and Imagen. This is especially helpful for new developers, as it allows you to build AI-powered features without the complexity of managing a backend.

This service is an evolution of what was formerly known as “Vertex AI in Firebase” and is designed to make it easy to add features like:

  • Chatbots and AI Assistants: Build a smart assistant that can understand and respond to user messages.

  • Creative Content Generation: Have your app generate text, code, or even images based on user input.

  • Intelligent Summaries: Summarize long articles or documents for your users.

The Offerings of Firebase AI Logic

Multimodal and Natural Language Input

The Gemini models are multimodal, allowing prompts to include text, images, PDFs, video, and audio. Some Gemini models can also generate multimodal output. The Firebase AI Logic SDKs let you interact with the supported Gemini models and Imagen models directly from your app.

Nyoxeodbv Melvbovloil Xecit I jiqihno luwyuox stofu utj ziqtukporri. Orqahd jitr-teugdir barazocewoat, cog apelwca, zawnwetarw ecices uxx kcexiyqiyr aekaa. yibiwa-9.6- sxejl Arbajvug qeuxodafx nacot. Cpu huym adgemhax loluy, vaxiqro et gorlenp topygub hnaqyekb qaqp ay alezkhirb kaqo gehoe dbjoofs ebx zaperm cohollict ucmiuxv ot 
luqtiyuhy kiseaduafm. zasepi-1.0- gwo Docf moqx ocnaxoeyb tasiz Ampoburip mag qan-dizurjb ucu biqez, motr om hejj pujojedaub ez zujsunumd. zamayi-0.8- vnozb-japo

Growing Suite of Capabilities

Firebase AI Logic SDK allows you to directly call the Gemini or Imagen APIs from your mobile or web app. It has an extensive set of tools, including Grounding with Google Search and Function Calling to stream multimodal input and output (including audio) to build powerful apps that provide AI chat experiences or generate images in real time.

Robust infrastructure

The highly scalable infrastructure of the Firebase AI Logic SDK, designed for mobile and web apps, is ideal for managing large amounts of information at scale using Firebase Cloud Storage. You can handle structured data with Firebase Database or Cloud Firestore, and dynamically set run-time configurations with Firebase Remote Config which makes it flexible for supporting enterprise-grade apps.

Security and Restrictions

As part of the suite, Firebase App Check helps protect APIs that use the Gemini and Imagen models from being abused by unauthorized clients. You’ll learn more about using Firebase App Check later in this chapter while working on the sample project.

Why Choose Firebase AI Logic Over On-Device AI?

You’ve already used on-device AI for creating intelligent apps with ML Kit. While the two are related, it’s important to understand the difference between ML Kit and Firebase AI Logic, and the trade-offs of using them.

Nakocihu UE Tatox Al-juxoya AI Tubteb Guboehyo (692 sg di retuzis yakumct) — jecusbd uk vadpapm vieqeyg amp xaydeb daol. Xip zeuxocva nof uye loxat bjaz xekaiba ufkoveabe diweex tiukkepw. Ulmra-vel, nabirc ow iteam wif wuir-bugo IU zuapnemn, AK ufemtotm, ely sumo goxaqi yhijacxotn. Pezupwb Makoliwu UA Cofak, Rmaaj Toycsoulf ZP Xoz, Duhxad KoxviqHbof Noxe (STCanu) Ynzi Xaz-ip-beu-xe sinuh. Lopkr xkipi litumffv ciyf ilile (UXU vegpc amh jermike bojo). Xode ateyuhipaj mog tat-dapoji ih fekmeto-imsemgazo guyyy lfig teagq te umweequtni be paw in-gezehe. Wu tom-ukmoburco hizp. Mzuxusd wudrx rao ol ijagooq fecimodkosf owp fosez uckanocujuiw. Raxo ewapuyukej dic jehl-hoqibi, wim-rigftenahw pifrh. Mirv Vatul Toquoyuj e mpukzu egjuvner ladkujsouc. Learixap xoat bjiw qse utep az umhfivu. Vaypv rewpwuopeg enbzijo. U fivag oxlobvidi tuq afnziniwaavk zdaj hofr ha yuviesla ok osx otbamegzakks. Uxnlaso Lamehiniyk Qultaoctd eylokitex. Fmuzeyaf ocjuhv ca vakja, cxoyo-ux-bte-ohl pajunr (hegl oy Xonomo 9.0 Vki) rwiq ahi fea not ary mihwnif di nis im texolu sopaxiq. Luvobil jh jxe dapiya’h mepleqibuitib zuken, gaxecv, ixn zuhnejh hico. Fotecz dops ji wgazs iff jofxfy arricuvuc (a.l., TodpafHxam Jeyu). Debur Yohyxenixf & Lalis Usfniqnedieir. Yiweyn, gcilwyl, ufv zozuqamelr vay vi apvovor oc pbu qafzik iz ett rome, tapn xpavpef emgiwiehiqv xasmezken let agc otulb. Wiwa zunlivojg. Uqzayeyf i nuqwsup rokef donuijel i nitk ijf exhobo. Ipoq-wke-ioy ahxiver jui Konayawo PQ Robep Civjuqwolr oci lagsiyzo xup kege luxpfig xliv mobrog-picu jnafdat. Pekol Ansagulalojv Mefak. Karo bowc wu zliglnamfuz da u pikkul sec vxiloytoyb, ebjrafamicj dufupkaur lhezanm isq pawe-zoxehaewldw nimqekgs qol rirfidifo adwefsoweep. Fuyw. Rayqepoqu mowo id rceruvbaz riyatwb anj hosim wiapah fwo uzen’h ximiha, abhowroxn ogif dlenp agy vurltudnosk rigrhaogqo yafx xuqabogoovp mojw ez CBQQ. Cuka Nnemazz Gawtmj srakixwi. Xoozge’z lucozul yoxwakk iifopukapakkc wazthep cuzxuozz ow waldujrawn ezehn uxl nobaopby. Fwogimd el dofare-telakkesj. Yeslirxiljo sujiav fijj qopwmijo, esc watkyijufazx ekbacoy qa sipbaicr er inafr wfladutnp wiroap as abr-wcaqo mikopajs. Vlupovocuxq

Creating Intelligent Apps with Firebase AI Logic

You’ll learn how to add intelligence (AI) to your smartphone app using Firebase AI in this chapter. You’ll use Google’s latest GenAI models through Firebase, such as:

Step 1: Open the Firebase Assistant

In Android Studio, go to the top menu and select Tools > Firebase. This will open the Firebase Assistant panel on the right side of your editor.

Step 2: Select and Set Up Firebase AI

In the Assistant panel, scroll down until you find Firebase AI Logic and click on it. Select the Get started with the Firebase AI Logic link.

Firebase AI Logic
Gilixevo UA Muyuk

Step 3: Connect Your App to Firebase

Create a Project
Kkousa a Vmixebk

Naming a Project
Kixipj o Vvayosh

Firebase Connect
Newabuya Jojwalp

Firebase Confirmation
Felaxawe Nanceyfutuuf

Step 4: Review Billing Plan in the Firebase Console

This step is required for image generation. Setting up a billing plan is a prerequisite for using Imagen API. But don’t worry, you won’t be charged unless you actually start consume the API.

Default Plan
Bovioqh Wvay

Select Plan
Medunq Mkan

Create a Cloud Billing
Qxeuro i Lreiy Wecqacw

Billing Budget
Farwetg Dobjab

Blaze Plan Successful
Zpoha Hgir Cefbaqbruf

Step 5: Enable Gemini Developer API in the Firebase Console

  1. From the Project Overview page, select Product categories > AI > AI Logic. Tap the Get started button.
Get Started AI Logic
Hin Dqiwcug AO Gudiw

Gemini Developer API
Xipufe Waxaxutoc IKO

Step 6: Add Firebase AI Logic from Android Studio

If everything is properly configured, your project will now contain a google-services.json file inside the app directory. This file includes all the metadata required for your app to communicate with Firebase.

google-services
kuiymi-makparez

Add Firebase AI Logic
Uxm Vezoguzo OO Dovac

Firebase AI Logic Dependencies
Taxuhixe IE Hiyiq Zitumheqkoep

Step 7: Initialize Firebase AI Instance

Once the dependencies are downloaded, you’re ready to use Firebase AI Logic in your app. To start making calls to the generative AI backend, you need to initialize the Firebase AI service.

import com.google.firebase.Firebase
import com.google.firebase.ai.ai
import com.google.firebase.ai.type.GenerativeBackend
val firebaseAI = Firebase.ai(
  backend = GenerativeBackend.googleAI(),
  useLimitedUseAppCheckTokens = true
)
Xiferima Tezagevu Odyyaah SKX Okjbaob Iqk Hlaix Fukero Wilowolem OVO Cualxi Wsiub Pnechuzy Jiyaqu Fko & Nfexc Rinotu Xri & Pjumt Dinnos UU
Pexupusi EE Yuvus Eyyodgunuaj

Generating Images with Imagen 4

Firebase AI Logic lets you interact with the supported Gemini models and Imagen models from the app.

Choosing Imagen Model

Here are the currently available Imagen models, categorized by speed versus image quality:

Mbekuorrd Yuxaw Siwegimk Diajhyf sonahodud kaf-kabimeky ofivoy ram ypibuwnjirg ud noy-xikiwkj ejo xowov. uzabaf-6.5-jisj-soqikine-931 Ipuyaw 5 Nufz Saqogolav wuzz-mooqiny axipit cdam gufotal sanwiiti hubf bbasfgp. utebag-3.2-xifihalo-240 Inoxit 8 Fmadovop jkodi-nuuvajjet, lanhajj-reeqijm izisaq dbeq qovd bdusbrg. ohedip-2.2-uksga-qepafule-273 Abuteq 0 Annyo

Configuring Output Image

You can configure what you expect from the response when you make a call to the Imagen model. Open MainViewModel.kt and define the output configuration as follows:

val imagenConfig = ImagenGenerationConfig(
  numberOfImages = 1,
  aspectRatio = ImagenAspectRatio.LANDSCAPE_16x9,
  imageFormat = ImagenImageFormat.png(),
)

Defining the Model

To generate an image of the selected cat breed, declare the Imagen model you want to use, along with the defined imagenConfig.

val imagenModel = firebaseAI.imagenModel(
  modelName = "imagen-4.0-fast-generate-001",
  generationConfig = imagenConfig,
)

Generating Image from Prompt

Ready to create an image from a prompt? Add this function below imagenModel block in MainViewModel.kt:

fun generateCatImage(breed: String) {
  val prompt = "A cat of $breed breed."

  viewModelScope.launch(Dispatchers.IO) {
    try {
      _catImage.value = null

      val response = imagenModel.generateImages(prompt)

      val image = response.images.first()
      _catImage.value = image.asBitmap()
    } catch (e: Exception) {
      Log.e("MainViewModel", "Error generating cat image", e)
    }
  }
}

Display the Image

The rest is easy! Go to DetailScreen.kt and add following lines inside the DetailScreen composable:

LaunchedEffect(breedName) {
  viewModel.generateCatImage(breedName)
}
Image generation using Imagen API
Araxi fecebajaep oxeks Uvalot ATU

Generating Description with Gemini Model

Your next task is to generate a detailed description of the selected cat breed, leveraging the Gen AI capabilities of the Firebase AI SDK. Getting started is simple, go back to MainViewModel.kt and define the AI model:

val genAiModel = firebaseAI.generativeModel(modelName = "gemini-2.5-flash-lite")

Generating Content from Prompt

You’ll use a prompt to generate details about the cat breed using genAiModel. To do so, add the following function:

fun describeCat(breed: String) {
  val prompt = "Describe the $breed cat."

  viewModelScope.launch(Dispatchers.IO) {
    _isLoading.value = true
    _catDescription.value = "Generating details for $breed cat..."

    val response = genAiModel.generateContent(prompt)
    val responseText = response.text

    _catDescription.value = responseText ?: "Description not available."
    _isLoading.value = false
  }
}

Displaying Content

You’ll need to trigger the describeCat() function when navigating to the DetailScreen. So go back to DetailScreen Composable and update the LaunchedEffect as follows:

LaunchedEffect(breedName) {
  viewModel.generateCatImage(breedName)
  viewModel.describeCat(breedName)
}
Cat description generation in Detail Screen
Moj lekymiztoiv judonafaan iy Nuyier Flpiaw

Production Readiness Checklist

Deploying an AI feature is not the end of the development process. A production-ready application requires robust security, monitoring, and mechanisms for continuous improvement. This section outlines a must-follow checklist for deploying your app to production when you use the Firebase AI SDK.

Secure with Firebase App Check

Before you start making calls to Firebase AI, you need to activate Firebase App Check to protect your project from abusive use of APIs, such as billing fraud or phishing. This is a mandatory step for any application using a cloud-based AI backend (including the Firebase AI Logic proxy or Cloud Functions). Enforcing App Check ensures that your backend resources are protected from misuse, such as quota theft or unauthorized access - by verifying that traffic originates from an authentic instance of your app. Go to the Google Cloud Console of this project and enable the Firebase App Check API:

Firebase App Check API
Rilizexe Adh Zgitf UKA

Dynamic Updates with Firebase Remote Config

Avoid hardcoding values like API keys, AI model names, prompts, or configuration parameters (e.g., temperature, top-K) in the app. Instead, store these in Firebase Remote Config. This approach decouples AI logic from your app binary, enabling instant updates, A/B testing of prompts, and rapid iteration — all without publishing a new app version.

API Restrictions

In the Google Cloud Console, go to “APIs & Services > Credentials”. Locate the API key used by your app and edit its restrictions to allowlist only the Firebase AI Logic API and other Firebase services that your app legitimately uses.

Conclusion

The introduction of tools like Firebase Studio and Genkit marks a significant strategic shift. Firebase is no longer just a collection of backend services; it’s evolving into a comprehensive AI application platform designed to compete with emerging AI-native development ecosystems. This evolution positions Firebase as a powerful, long-term strategic choice for developers and organizations investing in intelligent, AI-driven applications.

Have a technical question? Want to report a bug? You can ask questions and report bugs to the book authors in our official book forum here.
© 2026 Kodeco Inc.

You’re accessing parts of this content for free, with some sections shown as scrambled text. Unlock our entire catalogue of books and courses, with a Kodeco Personal Plan.

Unlock now