Construire une application Android qui intègre l'IA générative n'est plus réservé aux équipes disposant d'un département recherche. Google a multiplié les outils pour que tout développeur Android puisse ajouter des capacités intelligentes à son application, sans être un expert en machine learning. Ce tutoriel vous guide pas à pas dans la création d'une application Android utilisant Google Vertex AI Agent Builder, en partant d'un projet vierge jusqu'à une première interaction en langage naturel.
Pourquoi l'IA générative change la donne pour les développeurs Android
L'essor des modèles de langage a transformé la façon dont nous concevons les interfaces utilisateur. Au lieu de boutons et de formulaires rigides, l'utilisateur peut désormais dialoguer avec l'application. Selon un article de Google Cloud, le "vibe coding" — décrire ce que l'on veut construire en langage naturel — devient une méthode de développement à part entière (source : Cloud Google - Vibe Coding Explained). Pour Android, cela ouvre la voie à des assistants personnels intégrés, des générateurs de contenu, ou des outils d'analyse en temps réel.
Le guide officiel "AI on Android" (source : Developer Android - AI on Android) liste les API disponibles : ML Kit, TensorFlow Lite, et les nouvelles API via Google AI Edge. Mais pour du traitement génératif avancé, Vertex AI Agent Builder est l'outil le plus complet.
Cas concret : une application de gestion de tâches intelligente
Imaginons une application "SmartTasks" qui permet à l'utilisateur d'ajouter des tâches, de les organiser, et d'obtenir des suggestions contextuelles (par exemple : "Quelle est ma priorité du jour ?"). L'IA générative est utilisée pour analyser les tâches et proposer un ordre de priorité, résumer la journée, ou même générer des sous-tâches.
Ce cas est volontairement simple pour rester focalisé sur l'intégration. Vous pourrez l'adapter à vos besoins.
Prérequis
- Android Studio (dernière version stable)
- Un projet Firebase (gratuit) pour l'authentification et le stockage cloud
- Un projet Google Cloud avec la facturation activée (Vertex AI est un service payant, mais avec un crédit de démarrage)
- Connaissances de base en Kotlin et Android
Étape 1 : Créer le projet Android et ajouter Firebase
Ouvrez Android Studio et créez un nouveau projet avec "Empty Views Activity". Nommez-le "SmartTasks".
Ensuite, ajoutez Firebase à votre projet. La documentation officielle (source : Firebase Google - Add Firebase to your Android project) détaille la procédure :
- Allez sur la console Firebase, créez un projet si ce n'est pas fait.
- Ajoutez une application Android avec le nom du package de votre projet.
- Téléchargez le fichier `google-services.json` et placez-le dans le dossier `app/` de votre projet.
- Ajoutez les dépendances Firebase dans `build.gradle` (niveau 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")
- Synchronisez le projet.
Firebase nous servira pour l'authentification (obligatoire pour sécuriser l'accès à Vertex AI) et pour stocker les tâches.
Étape 2 : Activer Vertex AI Agent Builder
Vertex AI Agent Builder permet de créer des agents conversationnels basés sur des modèles de langage. Le codelab officiel (source : Codelabs Developers Google - Building AI Agents with Vertex AI Agent Builder) décrit le processus en détail.
- Dans la console Google Cloud, activez l'API Vertex AI.
- Créez un "Agent" dans Vertex AI Agent Builder :
- Donnez-lui un nom : "SmartTasksAgent"
- Définissez le modèle de base (par exemple `gemini-1.5-pro`)
- Ajoutez des instructions système : "Tu es un assistant de productivité. Tu aides l'utilisateur à organiser ses tâches. Tu réponds en français."
- Notez le `agent_id` (ressemble à `projects/.../locations/.../agents/...`).
- Générez une clé API (ou utilisez un compte de service) pour appeler l'agent depuis l'application Android.
> Astuce : Pour sécuriser l'accès, n'embarquez pas la clé directement dans l'application. Utilisez Firebase Functions comme proxy, ou le SDK Vertex AI pour Android (en version preview).
Étape 3 : Intégrer le SDK Vertex AI dans l'application
Google a récemment publié un SDK Android pour Vertex AI (en version alpha). L'ajouter à votre projet est simple :
implementation("com.google.cloud:google-cloud-vertexai:0.3.0") // Vérifiez la version
Si vous préférez une approche REST, vous pouvez utiliser Retrofit pour appeler l'API directement. Mais le SDK gère l'authentification et le streaming plus facilement.
Créez un repository pour centraliser les appels :
class SmartTasksRepository(private val agentId: String) {
private val vertexAI = VertexAI.init(/ contexte /)
suspend fun askAgent(prompt: String): String {
val agent = vertexAI.agent(agentId)
val response = agent.sendMessage(prompt)
return response.text
}
}
> Note : Le SDK étant en alpha, l'API peut changer. Référez-vous à la documentation officielle pour les dernières mises à jour.
Étape 4 : Interface utilisateur pour le chat
Créez un écran simple avec RecyclerView pour afficher les messages et un champ de saisie. Utilisez ViewModel pour gérer l'état.
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)
}
}
}
Étape 5 : Lier les tâches Firebase à l'agent
Pour que l'agent connaisse les tâches de l'utilisateur, il faut lui fournir le contexte. Lorsque l'utilisateur pose une question, récupérez les tâches depuis Firestore et envoyez-les en tant que contexte dans le prompt.
Exemple :
val tasks = firestore.collection("users").document(userId).collection("tasks").get().await()
val context = "Voici mes tâches actuelles : ${tasks.documents.joinToString { it.data }}"
val prompt = "$context\n\n${userInput}"
val response = repository.askAgent(prompt)
Déploiement et test
Testez l'application sur un émulateur ou un appareil physique. Assurez-vous que l'agent répond correctement. Par exemple :
- Utilisateur : "Quelle est ma priorité du jour ?"
- Agent : "D'après tes tâches, la priorité est de terminer le rapport de projet, car il est dû demain. Ensuite, tu as une réunion à 14h."
Optimisation et passage en production
- Gestion des erreurs : Ajoutez des timeouts et des messages d'erreur si l'agent ne répond pas.
- Limites de quota : Vertex AI a des limites de requêtes par minute. Utilisez un cache côté client pour les questions fréquentes.
- Sécurité : Validez les entrées utilisateur pour éviter les injections de prompt.
- Coûts : Suivez la consommation via la console Google Cloud et optimisez le nombre de tokens en limitant le contexte.
L'IA générative sur Android est encore jeune, mais les outils de Google la rendent accessible. En combinant Firebase pour le backend et Vertex AI pour l'intelligence, vous pouvez créer des applications qui comprennent le langage naturel de vos utilisateurs. Ce tutoriel vous a donné les bases ; à vous d'imaginer les possibilités.
Pour aller plus loin
- Cloud Google - Vibe Coding Explained - Guide pour coder avec l'IA générative
- Developer Android - AI on Android - Vue d'ensemble des outils IA pour Android
- Firebase Google - Add Firebase to your Android project - Documentation officielle Firebase
- Codelabs Developers Google - Building AI Agents with Vertex AI Agent Builder - Codelab pas à pas
- Medium - Tutorial: Getting Started with Google Antigravity - Article sur une plateforme agent-first
- Reddit - I thought AI would build my app for me... Here's what actually ... - Témoignage sur les attentes vs réalité
Ces sources vous permettront d'approfondir chaque étape.
