Applications intelligentes

Étendre votre application à Gemini et à la recherche avec la Connected Apps Platform

Haut-parleurs

  • Kateryna Semenova

    Ingénieur en chef des relations avec les développeurs

  • Mai Lowe

    Responsable groupe de produits

À propos

À propos de l'intervention

La nouvelle Connected Apps Platform vous permet d'intégrer les services de votre application directement dans Gemini, le Mode IA de la recherche et le système d'intelligence Android. Cette session fournit un guide pratique pour vous lancer. À l'aide d'exemples de code et d'études de cas réels, nous allons passer en revue le cycle de vie du développement : créer, tester et publier votre première application connectée pour toucher les utilisateurs dans leurs workflows optimisés par l'IA.

À la fin de cette session, vous saurez :

  • Intégrez votre service à Connected Apps Platform.
  • Testez votre intégration sur différentes surfaces d'IA.
  • Publiez les fonctionnalités de votre application dans les workflows d'IA des utilisateurs.

Résumé

  • La Connected Apps Platform fournit un point d'entrée unique pour lancer les fonctionnalités des applications dans Gemini et la Recherche à l'aide de schémas déclaratifs. Il sera déployé par phases, en commençant par une version preview pour les développeurs aux États-Unis.
  • Les intégrations utilisent la norme MCP (Model Context Protocol) via des serveurs distants ou des serveurs locaux sur l'appareil via la bibliothèque Jetpack AppFunctions. Les serveurs distants peuvent également renvoyer une UI personnalisée affichée dans un iFrame.
  • Les confirmations s'adaptent au risque pour préserver la confiance des utilisateurs. Les développeurs marquent les outils comme étant en lecture seule ou avec destructiveHint, ce qui aide Gemini à demander une confirmation explicite lorsque des actions modifient ou suppriment des données.
  • Le mode développeur Gemini vous permet d'inspecter les appels d'outils et la latence par rapport aux points de terminaison publics. Il est désormais disponible pour les développeurs aux États-Unis.
  • Google Connected Console gère le déploiement en production pour les développeurs approuvés. Vous configurez les points de terminaison, gérez les testeurs sur les surfaces sélectionnées et envoyez votre application pour examen.

Ressources

Gemini Notebook

Thèmes

  • gemini
  • search
  • connected-apps
  • mcp
  • appfunctions
  • android

Transcription

Introduction

  • Bonjour tout le monde.

  • Je m'appelle Mai et je suis responsable produit pour la plate-forme d'applications connectées Gemini.

  • Plus tard, vous entendrez également Kate, notre ingénieure DevRel.

  • Elle va monter.

  • Aujourd'hui, nous sommes donc ravis de vous expliquer comment étendre votre application à certains des produits agentiques les plus populaires de Google, Gemini et la recherche Google.

  • Nous allons vous expliquer comment et pourquoi les applications connectées sont utiles et magiques pour nos utilisateurs.

  • Mieux encore, nous allons vous montrer ce qu'il faut faire pour en créer un.

  • Voyons cela plus en détail.

  • Je sais que beaucoup d'entre nous ont remarqué qu'un changement majeur s'est produit dans l'écosystème des applications.

  • La façon dont les utilisateurs se servent de leurs appareils, recherchent des réponses et accomplissent des tâches n'est pas seulement en train d'évoluer.

  • Il a fondamentalement changé.

  • Les utilisateurs n'ouvrent plus de navigateurs pour cliquer partout.

  • Ils discutent directement avec des assistants comme Gemini.

  • Ils posent des questions complexes à Gemini et recherchent des réponses de manière multimodale dans la recherche.

  • Ils s'attendent à ce que les appareils Android comprennent non seulement ce qu'ils disent, mais aussi ce qu'ils veulent faire.

  • Pensez à certains de vos propres workflows que vous pouvez effectuer n'importe quel jour.

  • Imaginons que vous demandiez à Gemini de vous aider à trouver des idées pour un week-end sympa entre amis dans un endroit précis à une date précise.

  • Les modèles actuels peuvent traiter ce plan en quelques secondes.

  • C'est génial.

  • Il est organisé.

  • Et ensuite ?

  • Il se termine.

  • L'utilisateur se retrouve bloqué, avec un plan, mais sans confirmation.

  • Le modèle sait ce qu'il doit faire, mais il n'a pas les mains pour le faire.

  • Vous devez donc copier et coller les informations de la discussion avec Gemini dans une application ou une autre.

  • Parfois, sur mobile, c'est très lourd.

  • Vous devez ensuite vous souvenir de toutes ces informations et les saisir par la suite.

  • Ce saut cognitif et cette friction brisent complètement la magie.

  • Et qu'est-ce que cela signifie pour vous ?

  • Cela signifie que vous avez une demande d'utilisateur à forte intention qui est bloquée dans une bulle de chat au lieu d'attirer des utilisateurs intéressés et engagés vers votre application.

  • C'est pourquoi les applications connectées changent la donne : elles nous aident à répondre aux besoins de nos utilisateurs, où qu'ils se trouvent.

  • Et actuellement, ils passent beaucoup de temps à discuter avec des assistants comme Gemini.

  • Lorsqu'un utilisateur exprime une réelle intention d'agir, il s'agit d'un moment d'une importance cruciale dans son parcours.

  • Ils ne naviguent pas passivement.

  • Ils ont un objectif précis qu'ils veulent atteindre immédiatement.

  • En permettant l'intégration entre les applications et ces modèles génératifs, les assistants comme Gemini ne se contentent plus de répondre à des questions, mais peuvent aussi effectuer des tâches.

  • Lorsque l'utilisateur demande une liste de tâches priorisées, cherche à louer une voiture pour un voyage à venir ou souhaite acheter les ingrédients d'une recette qu'il vient de trouver, votre application n'est pas en bas de page sous la forme d'un lien statique.

  • Vous pouvez contribuer à créer la magie et exécuter cette action immédiatement.

  • Je tiens à être très clair sur un point, car je sais que tous les développeurs et responsables produit se posent la question : les applications connectées ne visent pas à faire abstraction de votre application.

  • Votre marque, votre logique métier, vos relations authentifiées et vos expériences d'UI personnalisées vous appartiennent.

  • Les applications connectées permettent d'intégrer vos services dans une surface d'API agentive, afin que les produits agentifs de Google puissent rediriger facilement les utilisateurs à forte intention directement vers votre produit.

Connected Apps Platform

  • Aujourd'hui, je suis donc ravi d'annoncer officiellement le lancement de notre Connected Apps Platform.

  • Auparavant, pour toucher les utilisateurs sur les différents produits Google, il fallait une intégration différente pour chacun d'eux.

  • Si vous vouliez une action ou un raccourci d'application Android, vous deviez les créer.

  • Une intégration de la recherche, une autre.

  • Mais nous voulons vous faciliter la tâche au maximum et vous offrir la meilleure expérience possible.

  • Nous avons donc standardisé le processus d'intégration pour vous offrir un point d'entrée unique permettant de lancer votre application sur plusieurs produits d'agents Google.

  • Désormais, vous pouvez créer les fonctionnalités de votre application une seule fois à l'aide de schémas déclaratifs standards, et elles s'activent automatiquement dans deux de nos produits clés : Gemini et la recherche Google.

  • Et d'autres produits seront bientôt disponibles.

  • Parlons de cette couverture et de ce qu'elle signifie pour vous.

  • Vous ne devriez pas avoir à créer plusieurs plug-ins personnalisés, à gérer quatre consoles de développement différentes ni à maintenir divers handshakes authentifiés simplement pour toucher les utilisateurs de Google sur Android, Gemini et la recherche.

  • Avec notre plate-forme unifiée, vous créez et enregistrez vos définitions d'outils une seule fois.

  • Vous choisissez les produits Google que vous souhaitez, et nous vous fournissons un bouton de lancement unique dans notre nouvelle Google Connected Console.

  • Lorsque vous publiez, vos fonctionnalités deviennent visibles par tous les utilisateurs de Gemini ou de la recherche.

  • Que les utilisateurs saisissent du texte dans Gemini sur leur ordinateur portable, effectuent une série de requêtes dans la recherche sur le Web ou utilisent les fonctionnalités de l'Assistant sur Android, ils auront la possibilité d'utiliser votre application au moment où ils en ont le plus besoin, là où ils se trouvent.

  • Nous allons donc ouvrir notre plate-forme par phases, en commençant par notre version Preview.

  • Je vous promets que toute l'équipe travaille d'arrache-pied pour proposer toutes les fonctionnalités au plus grand nombre d'entre vous, le plus rapidement possible.

  • Pour cette phase de la preview, nous n'ouvrons la plate-forme qu'aux développeurs américains.

  • Vous pouvez vous inscrire via un formulaire d'accès, que vous trouverez dans notre guide du développeur à l'adresse developers.google.com/connected-apps ou, si vous êtes un développeur Play, sur la page d'accueil de votre Google Play Console.

  • La question suivante est donc : est-il difficile de créer un tel modèle ?

  • Si vous disposez d'une API REST ou d'intents Android, vous êtes bien parti.

  • Nous nous appuyons sur des concepts de développement familiers.

  • Notre plate-forme s'intègre à la norme MCP (Model Context Protocol) via des MCP basés sur un serveur et natifs d'Android.

  • Pour vous faciliter encore plus la tâche, nous lançons aujourd'hui une toute nouvelle fonctionnalité dans Gemini, appelée "Mode développeur", accessible dès maintenant à tous les utilisateurs aux États-Unis.

  • Cela vous permet de tester votre application dans Gemini, et d'obtenir des commentaires en temps réel sur les états d'erreur, la latence et les réponses du modèle.

  • Et bientôt, vous pourrez générer vos propres ensembles d'évaluation, et obtenir des fiches de score et des benchmarks pour les métriques de qualité.

  • Ça va être génial.

  • Quel que soit votre niveau d'accès à la plate-forme, vous pouvez toujours tester votre application en mode développeur.

  • Je suis sûr que vous avez hâte d'en savoir plus. Kate va monter sur scène juste après moi et vous en dire plus dans quelques minutes.

Confiance, confidentialité et contrôle de l'utilisateur

  • Tout d'abord, je dois vous parler d'un sujet de plus en plus important : la confiance des utilisateurs.

  • Chaque fois que nous parlons d'agents agissant au nom d'un utilisateur, la première question qui se pose est souvent : "Comment l'utilisateur peut-il garder le contrôle ?"

  • Voici comment nous abordons ce sujet en quelques concepts simples.

  • Tout d'abord, nos confirmations s'adaptent au risque.

  • Nous n'allons pas afficher un pop-up avant chaque appel d'outil.

  • Rechercher une information, vérifier la disponibilité d'un menu, suivre une commande… Tout cela devrait être simple.

  • En revanche, lorsqu'une action a des conséquences réelles, comme la modification d'un élément partagé, la finalisation d'une réservation ou la suppression d'un élément que l'utilisateur ne peut pas récupérer facilement, le modèle doit demander à l'utilisateur une confirmation explicite avant de l'exécuter.

  • Deuxièmement, les données sensibles sont affichées, et non masquées.

  • C'est pourquoi nos produits sont conçus pour vérifier quelles informations personnelles peuvent être partagées avec votre application.

  • Si des données sensibles sont détectées, nous indiquons précisément à l'utilisateur ce qui est partagé. Il peut alors décider de continuer ou non à utiliser votre application.

  • Troisièmement, lorsque nous demandons, nous sommes précis.

  • Nous ne nous contentons pas d'un vague "Êtes-vous sûr ?", mais nous indiquons quelle application est concernée et ce qui est réellement envoyé ou modifié.

  • De cette façon, la confirmation aide l'utilisateur à décider vraiment au lieu d'être simplement quelque chose sur lequel il clique au hasard.

  • Et comme personne ne veut d'un trajet plein de confirmations, les utilisateurs ont plus de contrôle sur la fréquence à laquelle on leur demande de confirmer.

  • Dans l'application Gemini, par exemple, les utilisateurs peuvent choisir, pour chaque application et même pour chaque action, d'autoriser l'action en permanence ou non.

  • Pour vous, cela signifie que nous vous demandons de marquer vos outils de manière honnête.

  • Marquez ce qui est en lecture seule, ce qui change et ce qui supprime des données.

  • Ces signaux aident nos produits à décider quand faire intervenir l'utilisateur.

  • Kate va vous montrer comment faire dans quelques minutes.

Expériences des partenaires et passage en production

  • Revenons à l'organisation du week-end dont nous parlions.

  • Vous vous souvenez à quel point c'était difficile et fragmenté ?

  • Vous aviez un super plan pour un groupe d'amis, mais vous vous êtes retrouvé bloqué, à devoir copier-coller des éléments, à passer d'une appli à l'autre.

  • Viator et Ticketmaster sont deux de nos premiers partenaires. Ils ont vu une réelle opportunité de répondre aux besoins des utilisateurs là où ils se trouvent.

  • Ils ont décidé de s'associer à nous et de lever cette barrière, permettant à cet utilisateur à forte intention d'accéder à leur application directement depuis Gemini.

  • Grâce aux applications connectées que ces partenaires ont créées, l'ensemble du parcours est beaucoup plus fluide et sans friction.

  • Voyons cela de plus près.

  • L'utilisateur connecte les applications et demande à Gemini de trouver une visite gastronomique en journée sur Viator et des billets de concert sur Ticketmaster pour un groupe de quatre personnes.

  • Gemini peut reconnaître la fonctionnalité, et appelle directement les outils Viator et Ticketmaster avec la taille de groupe, les dates et les préférences appropriées déjà renseignées.

  • Sans quitter la conversation, les deux applications récupèrent la disponibilité en temps réel et proposent des expériences riches et interactives directement dans le chat pour l'utilisateur.

  • Au lieu de se retrouver dans une impasse et de jongler entre plusieurs onglets, les utilisateurs peuvent faire ce dont ils ont besoin dès qu'ils le souhaitent, par exemple explorer les étapes d'un circuit gastronomique ou choisir des places de concert, et passer de la découverte à l'action de manière fluide. Viator et Ticketmaster sont des exemples de partenaires qui proposent cette expérience.

  • L'ère des lanceurs d'applications statiques touche à sa fin, laissant place à des expériences intelligentes, proactives et basées sur des agents.

  • Vos utilisateurs interagissent déjà avec la recherche et Gemini pour demander de l'aide.

  • Ensemble, nous pouvons les aider à aller au-delà des réponses et à proposer des expériences vraiment puissantes et magiques.

  • C'est tout pour moi.

  • Je vais maintenant laisser la parole à Kate, qui va vous expliquer exactement comment créer une application connectée.

  • Venez.

  • Bonjour tout le monde.

  • Je m'appelle Kate et je suis ingénieure DevRel. J'aide les développeurs comme vous à intégrer la plate-forme Connected Apps.

  • Je vais donc vous expliquer comment tester, créer et déployer votre application connectée.

  • Comme Mai l'a mentionné précédemment, il existe deux méthodes principales pour intégrer la plate-forme Connected Apps : soit via un serveur MCP distant à l'aide du protocole MCP, soit via Android MCP, lorsque vous pouvez créer votre serveur MCP distant sur l'appareil à l'aide de la bibliothèque AppFunctions.

  • Nous vous recommandons d'utiliser des serveurs MCP distants lorsque vous souhaitez intégrer des services sur plusieurs plates-formes, comme Android, iOS et le Web.

  • Certains développeurs nous ont également indiqué qu'ils préféraient parfois l'exécution locale, lorsque les données de leur application ne sont disponibles que sur l'appareil.

  • Pour ces cas d'utilisation, nous vous recommandons d'utiliser Android MCP à l'aide de la bibliothèque Jetpack AppFunctions.

  • N'hésitez pas à regarder la présentation dédiée dans laquelle Dan et Sarah expliquent en détail comment intégrer Connected Apps Platform à l'aide d'AppFunctions et d'Android MCP.

Intégration et démonstration d'un serveur MCP distant

  • Voyons maintenant comment créer un serveur MCP distant.

  • Pour vous montrer comment cela fonctionne en pratique, nous avons créé l'application connectée officielle AndroidDevSummit.

  • Je vais vous montrer comment cela fonctionne.

  • Revenons à une démonstration en direct.

  • Imaginez que vous demandiez : "AndroidDevSummit, parlez-moi des sessions XR."

  • Pour le moment, Gemini se connecte au serveur MCP que nous avons créé pour cette application connectée.

  • Il trouve le bon outil à appeler et utilise ses données pour formuler une réponse conviviale.

  • Il trouve donc les informations sur les sessions liées à la XR pour les jours 1 et 2, et à la fin, il affiche notre widget personnalisé pour l'AndroidDevSummit avec le robot Android.

  • Vous pouvez donc interagir avec ce widget directement dans Gemini.

  • Vous pouvez consulter le planning, par exemple en changeant de lieu ou en filtrant par jour.

  • Vous pouvez également filtrer par thème, par exemple si vous souhaitez rechercher des sessions liées à la XR, et vous pouvez également consulter les détails et les intervenants.

  • Alors, ouah !

  • Tout est dans Gemini, votre expérience personnalisée, et les utilisateurs n'ont pas besoin de changer d'application, ils n'ont pas besoin d'aller chercher d'autres informations dans une autre application, tout est au même endroit sans interaction, sans aucun changement ni sortie de l'application elle-même.

  • Revenons maintenant aux diapositives.

Développement de serveurs MCP et UI personnalisée

  • Voyons maintenant comment créer ces applications connectées.

  • Il est donc très facile de démarrer votre serveur MCP avec la bibliothèque FastMCP, mais il existe quatre bonnes pratiques très importantes à suivre.

  • Tout d'abord, vous devez fournir des instructions explicites au serveur.

    from mcp.server.fastmcp import FastMCP
    
    mcp = FastMCP(
        name="ADS-MCP",
        instructions=(
            "A Model Context Protocol server providing event "
            "overview, schedules, sessions, speakers, and "
            "sandbox demos for the Android Developer Summit "
        ),
    )
  • Lorsque vous initialisez votre serveur MCP, définissez toujours des instructions claires décrivant le domaine et les fonctionnalités de vos applications connectées.

  • La Connected Apps Platform s'appuie sur ces instructions pour savoir quand déléguer à votre serveur.

  • De plus, la Google Connected Console, que je vous présenterai plus tard, valide explicitement la présence de ces instructions.

  • Deuxièmement, ajoutez des annotations d'outils pour la sécurité et le contrôle.

    @mcp.tool(
        title="List Sessions",
    
        annotations=ToolAnnotations(
            readOnlyHint=True,
            destructiveHint=False,
        ),
    
        meta={ … },
    )
    def list_sessions( … )
    …
  • Pour notre serveur ADS, nous avons ces deux annotations.

  • Il est important que le modèle sache quand votre outil est en lecture seule ou modifie des données.

  • Si vous disposez d'outils permettant de modifier ou de supprimer des informations utilisateur, utilisez toujours destructiveHint pour les marquer comme pouvant modifier ou supprimer des opérations.

  • Ainsi, la Connected Apps Platform saura qu'elle doit afficher un message de confirmation à l'utilisateur pour qu'il accepte d'effectuer cette action.

  • Vous pouvez également configurer vos outils dans la Google Connected Console, que je vous présenterai plus tard.

  • Troisièmement, des schémas fortement typés et des docstrings sémantiques.

    def list_sessions(
        track: Optional[str] = None,
        location: Optional[str] = None,
    ) -> List[Dict[str, Any]]:
        """Lists all sessions, optionally filtered by track
        (e.g. 'Tools and performance', 'Apps Foundation',
        'AI experiences', 'Android XR') or location
        (e.g. 'MTV', 'Mountain View', 'London', 'LON').
        """
        …
  • Traitez les docstrings de vos paramètres comme faisant partie de votre prompt.

  • Dans cet outil list_sessions, nous documentons explicitement les valeurs attendues, comme les outils et les performances, ou MTV par rapport à Londres pour l'emplacement.

  • Le facteur le plus important pour un appel d'outil précis est la clarté et la précision des schémas.

  • Et enfin, la liaison des métadonnées des ressources de l'UI.

    @mcp.tool(
        …
        meta={
            "ui": {
                "resourceUri": "ui://ads-mcp/summit-app",
            },
            …
        },
    )
    def list_sessions(…)
    …
  • Examinez la définition de notre UI dans les métadonnées.

  • Ces métadonnées sont le pont qui indique à Gemini de lier la sortie de l'outil directement à notre ressource d'UI personnalisée ici.

  • Cela nous amène au rendu de l'UI.

    @mcp.resource(
        "ui://ads-mcp/summit-app",
        name="summit-app",
        mime_type="text/html",
    )
    def get_summit_ui() -> ResourceResult:
        """Renders the interactive ADS 2026 dashboard."""
        return ResourceResult([
            ResourceContent(
                _build_summit_ui_html(),
                mime_type="text/html",
            )
        ])
  • La plate-forme Connected Apps vous permet d'afficher des interfaces utilisateur enrichies à partir de votre serveur MCP via l'UI des applis MCP.

  • Et si vous souhaitez une flexibilité totale pour une interface personnalisée et expressive, comme celle de notre Sommet des développeurs Android, vous pouvez exposer la ressource d'interface utilisateur MCP.

  • Et Gemini peut s'afficher dans un iframe sécurisé en bac à sable.

Workflow de test et de validation

  • Ensuite, je vous expliquerai comment tester et déployer votre application connectée, directement depuis votre machine locale, jusqu'à la production.

  • Oui.

  • Voyons maintenant comment développer et tester en local.

  • Pendant le développement, vous pouvez facilement lancer votre serveur localement à l'aide de la première commande.

    ./venv/bin/python server.py
    npx @modelcontextprotocol/inspector
  • Vous pouvez ensuite utiliser MCP Inspector pour déboguer votre serveur, voir les outils disponibles et interagir avec l'UI.

  • Voici un exemple de l'interface de MCP Inspector pour notre Sommet des développeurs Android.

  • Vous pouvez donc voir les outils, l'interface utilisateur et tester l'application localement.

  • Ensuite, vous devez déployer votre serveur MCP sur un point de terminaison distant pour y accéder et le valider en mode développeur Gemini.

  • Vous pouvez héberger votre point de terminaison MCP sur n'importe quelle infrastructure ou n'importe quel fournisseur de services cloud.

  • Mais si vous préférez Google Cloud, il est très simple de l'utiliser avec Google Cloud CLI.

  • Il vous suffit d'utiliser cette commande simple pour déployer votre application et la rendre disponible à distance.

    gcloud run deploy ads-mcp-server
  • L'étape suivante consiste à valider votre point de terminaison public dans le mode développeur de Gemini.

  • Revenons à une démonstration en direct pour vous montrer comment utiliser le mode de développement en pratique.

  • Il est donc facile de trouver le mode développeur : il vous suffit d'accéder aux paramètres et de cliquer sur "Mode développeur".

  • Vous devrez ensuite choisir l'application connectée que vous souhaitez tester.

  • Par exemple, vous pouvez en créer un en fournissant simplement l'URL d'un serveur MCP ici.

  • J'en ai déjà créé un pour les tests, appelé "ADS MCP", avec mon point de terminaison de test.

  • Je veux juste tester son fonctionnement avec Gemini de bout en bout.

  • Posons-lui une question.

  • "ADS MCP, dis-m'en plus sur l'événement."

  • Gemini appelle donc notre serveur MCP, et vous pouvez également voir quel outil est appelé en mode Développeur.

  • Par exemple, pour cette requête spécifique, "Parle-moi de l'événement", la fonction get_summit_info a été appelée.

  • Vous pouvez également voir la réponse qui a réussi.

  • Vous pouvez voir la latence.

  • Vous pouvez également voir tous les détails de la requête et de la réponse.

  • Par exemple, pour notre réponse, nous disposons de nombreuses informations.

  • Vous pouvez également zoomer un peu et voir comment, par exemple, déboguer les informations dont vous avez besoin et vérifier que tout est exact.

  • Vous pouvez également le copier, ce qui est très pratique si vous souhaitez le partager avec votre collègue.

  • Vous pouvez également exporter l'intégralité du journal des événements et le partager si nécessaire.

  • Ce que j'apprécie également, c'est que vous pouvez explorer d'autres outils disponibles. Par exemple, en mode développeur, vous pouvez obtenir des informations sur le sommet, lister les sessions et accéder à d'autres outils.

  • Vous pouvez également modifier l'environnement pour simuler différents contextes utilisateur.

  • Par exemple, vous pouvez modifier l'heure ou des préférences telles que les langues, et vous pouvez également configurer l'authentification.

  • Voilà pour le mode Dev.

  • Et oui, vous pouvez commencer à créer votre serveur MCP dès aujourd'hui et le tester avec le mode développeur, dès aujourd'hui.

  • Elle est disponible pour tout le monde dès maintenant.

  • Revenons aux diapositives.

  • OK.

  • Imaginons que vous ayez déjà effectué des tests avec le mode Dev et que tout semble correct. Que devez-vous faire ensuite ?

  • Pour accéder à notre plate-forme, vous devez vous inscrire. Pour cela, vous devez d'abord remplir ce formulaire de participation.

  • Il est également disponible dans notre documentation et dans la Google Connected Console.

Préparation de la production et ressources

  • Une fois votre demande approuvée, vous aurez accès à la Google Connected Console, où vous pourrez préparer le déploiement de votre application en production.

  • Dans la console, il suffit de quelques étapes pour préparer votre application.

  • Tout d'abord, vous devez y créer une application connectée et lui donner un nom.

  • Il vous suffit ensuite de sélectionner les fonctionnalités et la catégorie.

  • Par exemple, pour cet exemple, nous avons sélectionné "Productivité". Cliquez ensuite sur "Créer".

  • Ensuite, sous "Informations sur l'application", vous devez fournir des données publiques telles que le nom à afficher, l'icône, une description visible par l'utilisateur, ainsi que les fonctionnalités, les limites, des exemples de requêtes et d'autres données de votre application.

  • Ensuite, lorsque vous configurez votre serveur MCP, vous devez fournir votre point de terminaison.

  • Vous devez confirmer que ce domaine vous appartient. Vous pouvez également configurer des identifiants pour les outils de synchronisation.

  • N'oubliez pas que la console Google prend un instantané de votre schéma MCP. Par conséquent, chaque fois que vous modifiez votre schéma, vous devez revenir en arrière et le redéployer.

  • Ensuite, il vous suffit de configurer la disponibilité de votre application.

  • Vous pouvez choisir les régions dans lesquelles votre application doit être disponible, les langues, les surfaces et d'autres configurations d'outils individuelles.

  • Vous pouvez ensuite simplement appuyer sur "Push changes" (Transférer les modifications) et envoyer votre code pour l'examen de l'étape Gemini.

  • Vous pouvez également ajouter des comptes de test sous "Gérer les testeurs".

  • Vous pouvez ensuite le tester immédiatement en direct avec ces comptes de test sur le Web, sur mobile ou sur toute autre surface que vous avez sélectionnée précédemment, comme Gemini ou la recherche, puis l'envoyer pour un aperçu final.

  • Une fois votre application prête, vous pouvez la déployer en production à l'échelle mondiale ou dans certaines régions en cliquant simplement sur ce bouton.

  • Et voilà !

  • Nous avons hâte de voir ce que vous allez créer avec la Connected Apps Platform, que vous exposiez les fonctionnalités de votre application via un serveur MCP distant ou via Android MCP.

  • Nous serions ravis de vous aider à créer ces intégrations exceptionnelles.

  • Il vous suffit de suivre cette documentation et nos exemples disponibles à l'aide de ce code-barres.

  • Merci beaucoup d'avoir été parmi nous aujourd'hui.

  • À vous de jouer !

Code

Extraits de code

Extrait de code Python à 14:56 dans "Développement de serveur MCP et UI personnalisée"
from mcp.server.fastmcp import FastMCP

mcp = FastMCP(
    name="ADS-MCP",
    instructions=(
        "A Model Context Protocol server providing event "
        "overview, schedules, sessions, speakers, and "
        "sandbox demos for the Android Developer Summit "
    ),
)
Extrait de code Python à 15:22 dans "Développement de serveurs MCP et UI personnalisée"
@mcp.tool(
    title="List Sessions",

    annotations=ToolAnnotations(
        readOnlyHint=True,
        destructiveHint=False,
    ),

    meta={ … },
)
def list_sessions( … )
…
Extrait de code Python à 16:08 dans "Développement de serveur MCP et UI personnalisée"
def list_sessions(
    track: Optional[str] = None,
    location: Optional[str] = None,
) -> List[Dict[str, Any]]:
    """Lists all sessions, optionally filtered by track
    (e.g. 'Tools and performance', 'Apps Foundation',
    'AI experiences', 'Android XR') or location
    (e.g. 'MTV', 'Mountain View', 'London', 'LON').
    """
    …
Extrait de code Python à 16:32 dans "Développement de serveur MCP et UI personnalisée"
@mcp.tool(
    …
    meta={
        "ui": {
            "resourceUri": "ui://ads-mcp/summit-app",
        },
        …
    },
)
def list_sessions(…)
…
Extrait de code Python à 16:49 dans "Développement de serveur MCP et UI personnalisée"
@mcp.resource(
    "ui://ads-mcp/summit-app",
    name="summit-app",
    mime_type="text/html",
)
def get_summit_ui() -> ResourceResult:
    """Renders the interactive ADS 2026 dashboard."""
    return ResourceResult([
        ResourceContent(
            _build_summit_ui_html(),
            mime_type="text/html",
        )
    ])
Extrait de code shell à 17:29 dans "Workflow de test et de validation"
./venv/bin/python server.py
npx @modelcontextprotocol/inspector
Extrait de code shell à 18:16 dans "Workflow de test et de validation"
gcloud run deploy ads-mcp-server