Aller au contenu principal
NUKOE

Tutoriel Android IA générative Google : créer une app pas à pas

• 10 min •
Illustration d'une application Android intégrant l'IA générative de Google.

Construir um aplicativo Android que integra IA generativa não é mais algo restrito a equipes com um departamento de pesquisa. O Google multiplicou as ferramentas para que qualquer desenvolvedor Android possa adicionar capacidades inteligentes ao seu aplicativo, sem ser um especialista em machine learning. Este tutorial guia você passo a passo na criação de um aplicativo Android usando o Google Vertex AI Agent Builder, partindo de um projeto vazio até uma primeira interação em linguagem natural.

Por que a IA generativa muda o jogo para desenvolvedores Android

O avanço dos modelos de linguagem transformou a forma como projetamos interfaces de usuário. Em vez de botões e formulários rígidos, o usuário agora pode dialogar com o aplicativo. De acordo com um artigo do Google Cloud, o "vibe coding" — descrever o que se quer construir em linguagem natural — está se tornando um método de desenvolvimento por si só (fonte: Cloud Google - Vibe Coding Explained). Para Android, isso abre caminho para assistentes pessoais integrados, geradores de conteúdo ou ferramentas de análise em tempo real.

O guia oficial "AI on Android" (fonte: Developer Android - AI on Android) lista as APIs disponíveis: ML Kit, TensorFlow Lite e as novas APIs via Google AI Edge. Mas para processamento generativo avançado, o Vertex AI Agent Builder é a ferramenta mais completa.

Caso concreto: um aplicativo de gerenciamento de tarefas inteligente

Vamos imaginar um aplicativo "SmartTasks" que permite ao usuário adicionar tarefas, organizá-las e obter sugestões contextuais (por exemplo: "Qual é minha prioridade do dia?"). A IA generativa é usada para analisar as tarefas e propor uma ordem de prioridade, resumir o dia ou até gerar subtarefas.

Este caso é propositalmente simples para manter o foco na integração. Você poderá adaptá-lo às suas necessidades.

Pré-requisitos

  • Android Studio (última versão estável)
  • Um projeto Firebase (gratuito) para autenticação e armazenamento em nuvem
  • Um projeto Google Cloud com faturamento ativado (Vertex AI é um serviço pago, mas com crédito inicial)
  • Conhecimentos básicos de Kotlin e Android

Etapa 1: Criar o projeto Android e adicionar Firebase

Abra o Android Studio e crie um novo projeto com "Empty Views Activity". Nomeie-o como "SmartTasks".

Em seguida, adicione Firebase ao seu projeto. A documentação oficial (fonte: Firebase Google - Add Firebase to your Android project) detalha o procedimento:

  1. Acesse o console Firebase, crie um projeto se ainda não tiver.
  2. Adicione um aplicativo Android com o nome do pacote do seu projeto.
  3. Baixe o arquivo `google-services.json` e coloque-o na pasta `app/` do seu projeto.
  4. Adicione as dependências Firebase no `build.gradle` (nível app):
implementation(platform("com.google.firebase:firebase-bom:32.0.0"))
implementation("com.google.firebase:firebase-auth-ktx")
implementation("com.google.firebase:firebase-firestore-ktx")
  1. Sincronize o projeto.

Firebase nos servirá para autenticação (obrigatória para proteger o acesso ao Vertex AI) e para armazenar as tarefas.

Etapa 2: Ativar o Vertex AI Agent Builder

O Vertex AI Agent Builder permite criar agentes conversacionais baseados em modelos de linguagem. O codelab oficial (fonte: Codelabs Developers Google - Building AI Agents with Vertex AI Agent Builder) descreve o processo em detalhes.

  1. No console Google Cloud, ative a API Vertex AI.
  2. Crie um "Agent" no Vertex AI Agent Builder:
  • Dê a ele um nome: "SmartTasksAgent"
  • Defina o modelo base (por exemplo `gemini-1.5-pro`)
  • Adicione instruções de sistema: "Você é um assistente de produtividade. Você ajuda o usuário a organizar suas tarefas. Responda em português."
  1. Anote o `agent_id` (parece com `projects/.../locations/.../agents/...`).
  2. Gere uma chave de API (ou use uma conta de serviço) para chamar o agente a partir do aplicativo Android.

> Dica: Para proteger o acesso, não incorpore a chave diretamente no aplicativo. Use Firebase Functions como proxy, ou o SDK Vertex AI para Android (em versão preview).

Etapa 3: Integrar o SDK Vertex AI no aplicativo

O Google lançou recentemente um SDK Android para Vertex AI (em versão alfa). Adicioná-lo ao seu projeto é simples:

implementation("com.google.cloud:google-cloud-vertexai:0.3.0") // Verifique a versão

Se preferir uma abordagem REST, você pode usar Retrofit para chamar a API diretamente. Mas o SDK gerencia autenticação e streaming mais facilmente.

Crie um repository para centralizar as chamadas:

class SmartTasksRepository(private val agentId: String) {
    private val vertexAI = VertexAI.init(/ contexto /)

    suspend fun askAgent(prompt: String): String {
        val agent = vertexAI.agent(agentId)
        val response = agent.sendMessage(prompt)
        return response.text
    }
}

> Nota: O SDK está em alfa, a API pode mudar. Consulte a documentação oficial para as últimas atualizações.

Etapa 4: Interface de usuário para o chat

Crie uma tela simples com RecyclerView para exibir as mensagens e um campo de entrada. Use ViewModel para gerenciar o estado.

class ChatViewModel(private val repository: SmartTasksRepository) : ViewModel() {
    private val _messages = MutableLiveData<List<Message>>()
    val messages: LiveData<List<Message>> = _messages

    fun sendMessage(text: String) {
        viewModelScope.launch {
            _messages.value = _messages.value + Message(text, isUser = true)
            val response = repository.askAgent(text)
            _messages.value = _messages.value + Message(response, isUser = false)
        }
    }
}

Etapa 5: Vincular as tarefas do Firebase ao agente

Para que o agente conheça as tarefas do usuário, é necessário fornecer o contexto. Quando o usuário fizer uma pergunta, recupere as tarefas do Firestore e envie-as como contexto no prompt.

Exemplo:

val tasks = firestore.collection("users").document(userId).collection("tasks").get().await()
val context = "Aqui estão minhas tarefas atuais: ${tasks.documents.joinToString { it.data }}"
val prompt = "$context

${userInput}"
val response = repository.askAgent(prompt)

Implantação e teste

Teste o aplicativo em um emulador ou dispositivo físico. Certifique-se de que o agente responda corretamente. Por exemplo:

  • Usuário: "Qual é minha prioridade do dia?"
  • Agente: "De acordo com suas tarefas, a prioridade é terminar o relatório do projeto, pois está com entrega para amanhã. Depois, você tem uma reunião às 14h."

Otimização e passagem para produção

  • Gerenciamento de erros: Adicione timeouts e mensagens de erro se o agente não responder.
  • Limites de cota: Vertex AI tem limites de requisições por minuto. Use um cache do lado do cliente para perguntas frequentes.
  • Segurança: Valide as entradas do usuário para evitar injeções de prompt.
  • Custos: Acompanhe o consumo pelo console Google Cloud e otimize o número de tokens limitando o contexto.

A IA generativa no Android ainda é jovem, mas as ferramentas do Google a tornam acessível. Combinando Firebase para o backend e Vertex AI para a inteligência, você pode criar aplicativos que entendem a linguagem natural dos seus usuários. Este tutorial deu a base; cabe a você imaginar as possibilidades.

Para ir além

Essas fontes permitirão aprofundar cada etapa.