Apps inteligentes

Extiende tu app a Gemini y la Búsqueda con la Connected Apps Platform

Bocinas

  • Kateryna Semenova

    Ingeniero de alto nivel de Relaciones con Desarrolladores

  • Mai Lowe

    Gerente de grupo de productos

Acerca de

Acerca de la charla

La nueva Connected Apps Platform te permite integrar los servicios de tu app directamente en Gemini, el Modo IA de la Búsqueda y el sistema de inteligencia de Android. En esta sesión, se proporciona una guía práctica para comenzar. Con ejemplos de código y aprendizajes de casos de éxito reales, analizaremos el ciclo de vida del desarrollo: compilar, probar y publicar tu primera app conectada para llegar a los usuarios en sus flujos de trabajo potenciados por IA.

Una vez que finalices esta sesión, podrás hacer lo siguiente:

  • Integrar tu servicio con Connected Apps Platform
  • Prueba tu integración en diferentes plataformas de IA.
  • Publica las funciones de tu app en los flujos de trabajo de IA de los usuarios.

Resumen

  • La Connected Apps Platform proporciona un único punto de entrada para iniciar las capabilities de las apps en Gemini y la Búsqueda con esquemas declarativos. Se abrirá por etapas, comenzando con una versión preliminar para los desarrolladores de EE.UU.
  • Las integraciones usan el estándar del Protocolo de contexto del modelo (MCP) a través de servidores remotos o servidores integrados en el dispositivo con la biblioteca de Jetpack de AppFunctions. Los servidores remotos también pueden devolver una IU personalizada renderizada dentro de un iframe.
  • Las confirmaciones se escalan según el riesgo para proteger la confianza de los usuarios. Los desarrolladores marcan las herramientas como de solo lectura o con destructiveHint, lo que ayuda a Gemini a solicitar confirmación explícita cuando las acciones modifican o borran datos.
  • El modo de desarrollador de Gemini te permite inspeccionar las llamadas a herramientas y la latencia en los endpoints públicos. Ya está disponible para los desarrolladores de EE.UU.
  • Google Connected Console controla el lanzamiento de producción para los desarrolladores aprobados. Configura los extremos, administra los verificadores en las plataformas seleccionadas y envía tu app para su revisión.

Recursos

Gemini Notebook

Temas

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

Transcripción

Descargar transcripción

Introducción

  • Hola a todos.

  • Soy Mai y soy la directora de producto de la plataforma de apps conectadas a Gemini.

  • Y más adelante, también escucharás a Kate, nuestra ingeniera de DevRel.

  • Ella va a subir.

  • Por eso, hoy nos complace hablarles sobre cómo pueden extender sus apps a algunos de los productos de agentes más populares de Google: Gemini y la Búsqueda.

  • Te contaremos cómo y por qué las apps conectadas son útiles y mágicas para nuestros usuarios.

  • Y, lo que es aún mejor, te mostraremos lo que se necesita para crear uno.

  • ¡Comencemos!

  • Sé que muchos de nosotros hemos visto que algo realmente masivo está sucediendo en todo el ecosistema de apps.

  • La forma en que las personas usan sus dispositivos, buscan respuestas y realizan tareas no solo está evolucionando,

  • Cambió de manera fundamental.

  • Las personas ya no abren navegadores ni presionan la pantalla.

  • Conversan directamente con asistentes como Gemini.

  • Le hacen preguntas complejas a Gemini y buscan respuestas de forma multimodal en la Búsqueda.

  • Y esperan que los dispositivos Android no solo entiendan lo que dicen, sino que también sepan lo que quieren hacer.

  • Piensa en algunos de tus propios flujos de trabajo que puedes realizar en un día determinado.

  • Supongamos que le pides a Gemini que te ayude a pensar en algunas opciones para pasar un fin de semana divertido con amigos en un lugar y un momento determinados.

  • Los modelos actuales pueden procesar ese plan en segundos.

  • Es fantástico.

  • Está organizada.

  • ¿Y luego qué?

  • Termina.

  • El usuario se topa con un obstáculo y se queda sin saber qué hacer, solo con un plan y sin nada confirmado.

  • El modelo sabe qué hacer, pero no tiene las manos para hacerlo.

  • Por lo tanto, tienes que copiar y pegar la información del chat con Gemini en una app o en otra.

  • A veces, si estás en un dispositivo móvil, se vuelve muy engorroso.

  • Luego, debes recordar todo lo que se dijo y escribirlo.

  • Ese salto cognitivo y esa fricción rompen por completo la magia.

  • ¿Y qué significa eso para todos ustedes?

  • Esto significa que tienes una demanda de usuarios con un alto nivel de intención que está atrapada en una burbuja de chat en lugar de dirigir a usuarios valiosos y participativos a tu app.

  • Por eso, las apps conectadas son revolucionarias, ya que nos ayudan a llegar a los usuarios exactamente donde se encuentran.

  • Y, en este momento, pasan mucho tiempo conversando con asistentes como Gemini.

  • Cuando un usuario expresa una intención real de realizar una acción, ese es un momento de gran valor en su recorrido.

  • No navegan de forma pasiva.

  • Tienen un objetivo explícito que quieren lograr en este momento.

  • Cuando se habilitan las integraciones entre las apps y estos modelos generativos, los asistentes como Gemini pasan de responder preguntas a realizar tareas.

  • Cuando el usuario pide una lista de tareas pendientes priorizada, busca alquilar un auto para un próximo viaje o quiere comprar los ingredientes para una receta que acaba de encontrar, tu app no aparece al final de una página como un vínculo estático.

  • Puedes ayudar a que la magia suceda y ejecutar esa acción en ese mismo momento.

  • Y quiero dejar algo muy claro, porque sé que todos los desarrolladores y líderes de productos están pensando en esto: las apps conectadas no se tratan de abstraer tu app.

  • Tu marca, tu lógica empresarial, tus relaciones autenticadas y tus experiencias de IU personalizadas te pertenecen.

  • Las apps conectadas se tratan de integrar tus servicios en una plataforma de APIs de agentes, de modo que los productos de agentes de Google puedan dirigir sin problemas a los usuarios con un alto nivel de intención directamente a tu producto.

Connected Apps Platform

  • Por eso, hoy, en este momento, me complace anunciar oficialmente el lanzamiento de nuestra Connected Apps Platform.

  • En el pasado, para llegar a los usuarios en los productos de Google, se requería una integración diferente para cada uno.

  • Si querías una acción o un acceso directo de la app para Android, tenías que crearlo.

  • Una integración de la búsqueda, otra más.

  • Pero queremos que todo sea lo más fácil y genial posible para ti.

  • Por lo tanto, estandarizamos la incorporación para brindarte un punto de entrada para lanzar tu app en varios productos de agentes de Google.

  • Ahora, puedes compilar la funcionalidad de tu app una sola vez con esquemas declarativos estándar y, así, se activará en dos de nuestros productos clave: Gemini y la Búsqueda.

  • Y pronto habrá aún más productos.

  • Por lo tanto, hablemos de este alcance y lo que significa para ti.

  • No deberías tener que crear varios complementos personalizados, administrar cuatro consolas para desarrolladores diferentes ni mantener varios protocolos de enlace autenticados solo para llegar a los usuarios de Google en Android, Gemini y la Búsqueda.

  • Con nuestra plataforma unificada, compilas y registras las definiciones de tus herramientas una sola vez.

  • Tú eliges los productos de Google que quieres y nosotros te proporcionamos un solo botón de lanzamiento en nuestra nueva Google Connected Console.

  • Cuando envías tu capacidad, cualquier persona puede descubrirla cuando usa Gemini o la Búsqueda.

  • Ya sea que los usuarios escriban en Gemini en su laptop, hagan una serie de consultas en la Búsqueda en la Web o usen las funciones de asistente en Android, tendrán la opción de usar tu app justo cuando más les importe, dondequiera que estén.

  • Por lo tanto, abriremos nuestra plataforma en fases, comenzando con nuestra versión preliminar.

  • Les prometo que todo el equipo está trabajando arduamente para que todas las funciones estén disponibles para la mayor cantidad de usuarios posible.

  • En esta fase de la versión preliminar, solo abriremos la plataforma para desarrolladores de EE.UU.

  • Puedes registrarte a través de un formulario para obtener acceso, que puedes encontrar en nuestra guía para desarrolladores en developers.google.com/connected-apps o, si eres desarrollador de Play, también puedes encontrarlo en la página principal de Google Play Console.

  • Entonces, la siguiente pregunta sería: ¿qué tan difícil es construir uno de estos?

  • Si tienes una API de REST o intents de Android, estás en un buen punto de partida.

  • Estamos desarrollando sobre conceptos conocidos para los desarrolladores.

  • Nuestra plataforma se integra con el estándar del Protocolo de contexto del modelo (MCP) a través de MCP basados en servidores y nativos de Android.

  • Y para que sea aún mejor y más fácil para ustedes, hoy lanzamos una nueva función en Gemini llamada Modo de desarrollador, a la que todos ustedes en EE.UU. pueden acceder ahora mismo.

  • Esto te permite jugar con tu app dentro de Gemini y obtener comentarios en tiempo real sobre los estados de error, la latencia y las respuestas del modelo.

  • Y pronto, podrás generar tus propios conjuntos de evaluación, obtener tarjetas de puntuación de métricas de calidad y comparativas.

  • Será increíble.

  • Independientemente de tu acceso a la plataforma, siempre puedes probar tu app en el modo de desarrollador.

  • Seguro que están ansiosos por conocer más detalles, y Kate subirá al escenario justo después de mí para hablarles de todo eso en unos minutos.

Confianza, privacidad y control del usuario

  • Primero, debo hablarte de algo que cada vez es más importante: la confianza de los usuarios.

  • Cuando hablamos de que los agentes toman medidas en nombre de alguien, la primera pregunta suele ser: "¿Cómo mantenemos el control del usuario?".

  • A continuación, te mostramos cómo vemos esto en algunos conceptos simples.

  • En primer lugar, nuestras confirmaciones se ajustan según el riesgo.

  • No vamos a mostrar una ventana emergente antes de cada llamada a la herramienta.

  • Buscar algo, consultar la disponibilidad del menú, hacer un seguimiento de un pedido, todo eso debería ser sencillo.

  • Sin embargo, cuando una acción tiene consecuencias reales, como editar algo compartido, completar una reserva o borrar algo que el usuario no puede recuperar fácilmente, el modelo tiene como objetivo pedirle al usuario un sí explícito antes de que suceda.

  • Segundo, los datos sensibles se muestran, no se ocultan.

  • Por lo tanto, nuestros productos están diseñados para verificar qué información personal se puede compartir con tu app.

  • Si se detecta algo sensible, le mostramos al usuario exactamente qué se está compartiendo para que decida si quiere continuar con tu app o no en ese momento.

  • En tercer lugar, cuando preguntamos, somos específicos.

  • No hacemos una pregunta vaga como "¿Estás seguro?", sino que indicamos qué app es y qué se está enviando o cambiando.

  • De esa manera, la confirmación ayuda al usuario a decidir de verdad, en lugar de ser algo en lo que hace clic de forma aleatoria.

  • Y como nadie quiere un recorrido lleno de confirmaciones, los usuarios tienen más control sobre la frecuencia con la que se les pregunta.

  • En la app de Gemini, por ejemplo, los usuarios pueden elegir por app y, incluso, por acción, si quieren permitir la acción todo el tiempo o no.

  • Para ti, todo eso significa que te pedimos que marques tus herramientas con honestidad.

  • Marca qué es de solo lectura, qué cambia y qué borra datos.

  • Esos indicadores ayudan a nuestros productos a decidir cuándo incorporar al usuario.

  • Y, de nuevo, Kate te mostrará exactamente cómo hacerlo en unos minutos.

Experiencias de los socios y ruta de acceso a la producción

  • Muy bien, volvamos a ese viaje de fin de semana del que hablábamos, la parte de la planificación.

  • ¿Recuerdas lo difícil y fragmentado que era?

  • Tenías un gran plan para un grupo de amigos, pero luego te encontraste con un obstáculo: tuviste que copiar y pegar cosas, y entrar y salir de las apps.

  • Viator y Ticketmaster son dos de nuestros primeros socios increíbles y vieron una oportunidad real de llegar al usuario dondequiera que esté.

  • Decidieron asociarse con nosotros y levantar ese muro, lo que permitió que este usuario con un alto nivel de intención accediera a su app directamente desde Gemini.

  • Gracias a las apps conectadas que crearon estos socios, todo el recorrido es mucho más fluido y sin complicaciones.

  • Veamos con más detalle.

  • El usuario conecta las apps y le pide a Gemini que busque un recorrido gastronómico diurno en Viator y algunas entradas para un concierto en Ticketmaster para un grupo de 4 personas.

  • Gemini puede reconocer la capacidad, llamar a Viator y a las herramientas de Ticketmaster directamente con el tamaño de grupo, las fechas y las preferencias correctas ya completadas.

  • Sin salir de la conversación, ambas apps recuperan la disponibilidad en tiempo real y renderizan experiencias interactivas y enriquecidas directamente en el chat para el usuario.

  • En lugar de llegar a ese callejón sin salida y tener que abrir un montón de pestañas, Viator y Ticketmaster son ejemplos de socios que permiten a los usuarios hacer lo que necesitan en el momento en que lo descubren, explorar paradas de tours gastronómicos, elegir asientos para conciertos y pasar de forma totalmente fluida del descubrimiento a la acción.

  • Por lo tanto, la era de los selectores de aplicaciones estáticos está llegando a su fin, amigos, y está dando paso a experiencias inteligentes, proactivas y basadas en agentes.

  • Tus usuarios ya interactúan con la Búsqueda y Gemini para pedir ayuda.

  • Juntos, podemos ayudarlos a ir más allá de las respuestas y brindar experiencias realmente potentes y mágicas.

  • Eso es todo por mi parte.

  • Ahora le daré la palabra a Kate, quien te explicará exactamente cómo crear una app conectada.

  • Sube.

  • Hola a todos.

  • Soy Kate, ingeniera de Relaciones con Desarrolladores, y ayudo a desarrolladores como tú a integrarse con Connected Apps Platform.

  • Por lo tanto, te guiaré para que pruebes, compiles e implementes tu app conectada.

  • Como Mai mencionó antes, hay dos métodos principales para integrarse con la Connected Apps Platform: a través del servidor de MCP remoto con el protocolo de MCP o a través de Android MCP, cuando puedes compilar tu servidor de MCP remoto en el dispositivo con la biblioteca de AppFunctions.

  • Te recomendamos que uses servidores de MCP remotos cuando quieras realizar integraciones en plataformas como Android, iOS y la Web.

  • También recibimos comentarios de algunos desarrolladores que, a veces, prefieren la ejecución local, cuando los datos de la app solo están disponibles en el dispositivo.

  • Para estos casos de uso, recomendamos usar el MCP de Android con la biblioteca de Jetpack de AppFunctions.

  • No te pierdas la charla dedicada en la que Dan y Sarah profundizan en cómo integrarse con Connected Apps Platform a través de AppFunctions y Android MCP.

Integración y demostración del servidor de MCP remoto

  • Ahora, exploremos cómo compilar un servidor de MCP remoto.

  • Para mostrarte cómo funciona esto en la práctica, compilamos la app conectada oficial de AndroidDevSummit.

  • Te mostraré cómo funciona.

  • Volvamos a la demostración en vivo.

  • Imagina que preguntas: "AndroidDevSummit, cuéntame más sobre las sesiones de XR".

  • En este momento, Gemini se conecta a nuestro servidor de MCP que creamos para esta app conectada.

  • Encuentra la herramienta adecuada para llamar y usa sus datos para construir una respuesta fácil de usar para el usuario.

  • Por lo tanto, encuentra la información sobre las sesiones relacionadas con XR aquí para el día 1 y el día 2, y, al final, renderiza nuestro widget personalizado de AndroidDevSummit con el bot de Android.

  • Por lo tanto, puedes interactuar con este widget directamente en Gemini.

  • Puedes consultar el programa, por ejemplo, puedes cambiar la ubicación o filtrar por día.

  • También puedes filtrar por diferentes temas, como si quiero buscar sesiones relacionadas con la RE, y también puedes ver los detalles y los oradores.

  • ¡Así que, guau!

  • Todo dentro de Gemini, tu experiencia de marca personalizada, y los usuarios no necesitan cambiar, no necesitan ir a buscar otra información en una app diferente, todo en un solo lugar sin interactuar, sin ningún cambio ni salir de la app.

  • Volvamos a las diapositivas.

Desarrollo de servidores de MCP y de IU personalizada

  • Y exploremos cómo compilar estas apps conectadas.

  • Por lo tanto, es muy fácil iniciar tu servidor de MCP con la biblioteca FastMCP, pero hay cuatro prácticas recomendadas muy importantes que debes seguir.

  • Primero, debes proporcionar instrucciones explícitas para el servidor.

    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 "
        ),
    )
  • Cuando inicialices tu servidor de MCP, define siempre instrucciones claras que describan el dominio y las capacidades de tus apps conectadas.

  • La Plataforma de apps conectadas se basa en estas instrucciones para saber cuándo delegar tareas a tu servidor.

  • Además, Google Connected Console, que te mostraré más adelante, también valida de forma explícita que estas instrucciones estén presentes.

  • En segundo lugar, agrega anotaciones de herramientas para la seguridad y el control.

    @mcp.tool(
        title="List Sessions",
    
        annotations=ToolAnnotations(
            readOnlyHint=True,
            destructiveHint=False,
        ),
    
        meta={ … },
    )
    def list_sessions( … )
    …
  • Para nuestro servidor de ADS, tenemos estas dos anotaciones.

  • Es importante que el modelo sepa cuándo tu herramienta es de solo lectura o modifica datos.

  • Por lo tanto, si tienes herramientas que editan o borran información del usuario, usa siempre este destructiveHint para marcarlas como operaciones de edición o eliminación.

  • De esta manera, Connected Apps Platform sabrá que debe mostrar un mensaje de confirmación a un usuario para que acepte completar esta acción.

  • También puedes configurar tus herramientas en Google Connected Console, que te mostraré más adelante.

  • Y, en tercer lugar, esquemas con tipos fuertemente definidos y cadenas de documentación semánticas.

    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').
        """
        …
  • Trata las docstrings de tus parámetros como parte de tu instrucción.

  • En esta herramienta de list_sessions, documentamos de forma explícita los valores esperados, como las herramientas y el rendimiento, o MTV en comparación con Londres para la ubicación.

  • El factor más importante en la llamada precisa a la herramienta son los esquemas claros y descriptivos.

  • Y el último, la vinculación de metadatos de recursos de la IU.

    @mcp.tool(
        …
        meta={
            "ui": {
                "resourceUri": "ui://ads-mcp/summit-app",
            },
            …
        },
    )
    def list_sessions(…)
    …
  • Observa nuestra definición de la IU en el meta.

  • Estos metadatos son el puente que le indica a Gemini que vincule el resultado de la herramienta directamente con nuestro recurso de IU personalizado aquí.

  • Eso nos lleva a la renderización de la IU.

    @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 Connected Apps Platform te permite renderizar interfaces de usuario enriquecidas desde tu servidor de MCP a través de la IU de apps de MCP.

  • Y cuando quieras flexibilidad total para una interfaz personalizada que exprese la marca, como nuestra Android Dev Summit, puedes exponer el recurso de IU de MCP.

  • Y Gemini puede renderizar en un iframe seguro y aislado.

Flujo de trabajo de pruebas y validación

  • Luego, te guiaré por las pruebas y la implementación de tu app conectada, directamente desde tu máquina local hasta la producción.

  • Sí.

  • Veamos cómo puedes desarrollar y probar de forma local.

  • Durante el desarrollo, puedes poner en marcha tu servidor de forma local con facilidad usando el primer comando.

    ./venv/bin/python server.py
    npx @modelcontextprotocol/inspector
  • Luego, puedes usar MCP Inspector para depurar tu servidor, ver las herramientas disponibles y también interactuar con la IU.

  • Este es solo un ejemplo de cómo se ve el Inspector de MCP para nuestra Android Dev Summit.

  • Por lo tanto, puedes ver las herramientas, la IU y probarla de forma local.

  • En segundo lugar, deberías implementar tu servidor de MCP en un extremo remoto para obtener acceso y validarlo en el modo de desarrollador de Gemini.

  • Puedes alojar tu extremo de MCP en cualquier infraestructura o proveedor de servicios en la nube.

  • Pero si prefieres Google Cloud, es muy fácil de usar con Google Cloud CLI.

  • Solo usa este comando simple para implementar y tu app estará disponible de forma remota.

    gcloud run deploy ads-mcp-server
  • El siguiente paso es validar tu endpoint público en el modo de desarrollador de Gemini.

  • Volvamos a la demostración en vivo para mostrarte cómo usar el modo de desarrollo en la práctica.

  • Por lo tanto, es fácil encontrar el modo de desarrollador, si solo vas a la configuración y haces clic en Modo de desarrollador.

  • Luego, deberás elegir qué app conectada quieres probar.

  • Por ejemplo, puedes crear uno nuevo proporcionando una URL de servidor de MCP aquí.

  • Ya creé uno para realizar pruebas, llamado ADS MCP, con mi extremo de prueba.

  • Y solo quiero probar cómo funciona con Gemini de extremo a extremo.

  • Así que hagamos una pregunta.

  • "ADS MCP, cuéntame más sobre el evento".

  • En este momento, Gemini llama a nuestro servidor de MCP y, además, puedes ver qué herramienta se está llamando en el modo de desarrollador.

  • Por ejemplo, para esta instrucción específica, "Cuéntame más sobre el evento", se llamó a get_summit_info.

  • También puedes ver la respuesta que se envió correctamente.

  • Y puedes ver la latencia.

  • También puedes ver todos los detalles de la solicitud y la respuesta.

  • Por ejemplo, para nuestra respuesta, tenemos mucha información.

  • También puedes acercar un poco la imagen y ver cómo, por ejemplo, depurar la información que necesitas y explorar que todo sea preciso.

  • También puedes copiarlo, lo que es muy conveniente si quieres compartirlo con tu compañero de equipo.

  • También puedes exportar todo el registro de eventos y compartirlo si es necesario.

  • Lo que también me gusta es que puedes explorar otras herramientas disponibles, por lo que aquí, en el modo de desarrollador, puedes ver la información de la cumbre, la lista de sesiones y otras herramientas.

  • También puedes cambiar el entorno para simular diferentes contextos de usuario.

  • Por ejemplo, puedes cambiar la hora del día o las preferencias, como los idiomas, y también puedes configurar la autenticación.

  • Este fue el modo de desarrollo.

  • Y sí, puedes comenzar a compilar tu servidor de MCP hoy mismo y probarlo con el modo de desarrollador, a partir de hoy.

  • Ya está disponible para todo el mundo.

  • Volvamos a las diapositivas.

  • Bien.

  • Supongamos que ya hiciste pruebas con el modo de desarrollador y todo se ve bien. ¿Qué debes hacer a continuación?

  • Para acceder a nuestra plataforma, debes registrarte y, primero, completar este formulario de interés.

  • También está disponible en nuestra documentación y en Google Connected Console.

Preparación para la producción y recursos

  • Una vez que se apruebe tu envío, obtendrás acceso a Google Connected Console, donde podrás preparar tu aplicación para el lanzamiento en producción.

  • En la consola, solo se necesitan unos pocos pasos para preparar tu app.

  • Primero, debes crear una nueva app conectada allí y proporcionarle un nombre.

  • Luego, solo debes seleccionar las capacidades y la categoría similar.

  • Por ejemplo, para este ejemplo, seleccionamos productividad y, luego, hacemos clic en Crear.

  • Luego, en los detalles de la app, debes proporcionar datos públicos, como el nombre visible, el ícono y la descripción para el usuario, así como las capacidades, las limitaciones, las instrucciones de ejemplo y otros datos de la app.

  • Luego, cuando configures tu servidor de MCP, deberás proporcionar tu extremo.

  • Debes verificar que este dominio te pertenezca y, además, puedes configurar las credenciales para sincronizar las herramientas.

  • Ten en cuenta que Google Console toma una instantánea de tu esquema de MCP, por lo que, cada vez que realices cambios en él, deberás volver atrás y volver a implementarlo.

  • Después de eso, puedes configurar la disponibilidad de tu app.

  • Puedes elegir en qué regiones debe estar disponible tu app, los idiomas, las plataformas y otros parámetros de configuración de herramientas individuales.

  • Desde allí, puedes presionar Push changes y enviar los cambios para que se revisen en la etapa de Gemini.

  • Y también puedes agregar cuentas de prueba en Administrar verificadores.

  • Y probarlo de inmediato en vivo con estas cuentas de prueba en la Web, en dispositivos móviles o en cualquier plataforma que hayas seleccionado antes, como Gemini o la Búsqueda, y, luego, enviarlo para la vista previa final.

  • Y, una vez que tu app esté lista, puedes lanzarla a producción de forma global para tus usuarios o en regiones seleccionadas con solo enviar ese botón.

  • Eso es todo.

  • Nos entusiasma ver lo que puedes crear con la Connected Apps Platform, ya sea que expongas las capacidades de tu app a través de un servidor de MCP remoto o de MCP para Android.

  • Nos complacerá ayudarte a crear estas increíbles integraciones.

  • Solo sigue esta documentación y nuestras muestras que están disponibles con este código de barras.

  • Muchas gracias por acompañarnos hoy.

  • ¡Suerte con la programación!

Código

Fragmentos de código

Fragmento de Python en el minuto 14:56 de "Desarrollo de servidores de MCP y de IU personalizadas"
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 "
    ),
)
Fragmento de Python en el minuto 15:22 de "Desarrollo de servidores de MCP y de IU personalizadas"
@mcp.tool(
    title="List Sessions",

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

    meta={ … },
)
def list_sessions( … )
…
Fragmento de Python en el minuto 16:08 de "Desarrollo de servidores de MCP y de IU personalizadas"
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').
    """
    …
Fragmento de Python en el minuto 16:32 de "Desarrollo de servidores de MCP y de IU personalizadas"
@mcp.tool(
    …
    meta={
        "ui": {
            "resourceUri": "ui://ads-mcp/summit-app",
        },
        …
    },
)
def list_sessions(…)
…
Fragmento de Python en el minuto 16:49 de "Desarrollo de servidores de MCP y de IU personalizadas"
@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",
        )
    ])
Fragmento de shell en el minuto 17:29 de "Flujo de trabajo de prueba y validación"
./venv/bin/python server.py
npx @modelcontextprotocol/inspector
Fragmento de shell en el minuto 18:16 en "Flujo de trabajo de prueba y validación"
gcloud run deploy ads-mcp-server