Inteligentne aplikacje

Rozszerzanie działania aplikacji na Gemini i wyszukiwarkę za pomocą platformy Connected Apps Platform

Głośniki

  • Kateryna Semenova

    Staff Developer Relations Engineer

  • Mai Lowe

    menedżer grupy produktów

Informacje

Informacje o wystąpieniu

Nowa platforma połączonych aplikacji umożliwia integrację usług aplikacji bezpośrednio z Gemini, trybem AI w wyszukiwarce i systemem inteligentnym Androida. Ta sesja zawiera praktyczny przewodnik, który pomoże Ci zacząć. Korzystając z przykładów kodu i analizując rzeczywiste przypadki, przejdziemy przez cykl życia aplikacji: od tworzenia i testowania po publikowanie pierwszej połączonej aplikacji, która dotrze do użytkowników w ramach ich przepływów pracy opartych na AI.

Po zakończeniu tej sesji będziesz wiedzieć, jak:

  • Zintegruj swoją usługę z platformą Connected Apps Platform.
  • Przetestuj integrację na różnych platformach AI.
  • Publikuj funkcje aplikacji w przepływach pracy AI użytkowników.

Podsumowanie

  • Platforma połączonych aplikacji zapewnia jeden punkt wejścia do uruchamiania funkcji aplikacji w Gemini i wyszukiwarce za pomocą schematów deklaratywnych. Będzie on otwierany etapami, zaczynając od wersji testowej dla deweloperów w Stanach Zjednoczonych.
  • Integracje wykorzystują standard Model Context Protocol (MCP) za pomocą serwerów zdalnych lub lokalnych serwerów na urządzeniu za pomocą biblioteki AppFunctions Jetpack. Serwery zdalne mogą też zwracać niestandardowy interfejs renderowany w elemencie iframe.
  • Potwierdzenia są dostosowywane do ryzyka, aby chronić zaufanie użytkowników. Deweloperzy oznaczają narzędzia jako tylko do odczytu lub za pomocą destructiveHint, dzięki czemu Gemini prosi o wyraźne potwierdzenie, gdy działania modyfikują lub usuwają dane.
  • Tryb dewelopera Gemini umożliwia sprawdzanie wywołań narzędzi i opóźnień w przypadku publicznych punktów końcowych. Jest ona teraz dostępna dla deweloperów w Stanach Zjednoczonych.
  • Połączona konsola Google obsługuje wdrażanie produkcyjne w przypadku zatwierdzonych deweloperów. Skonfiguruj punkty końcowe, zarządzaj testerami na wybranych platformach i prześlij aplikację do sprawdzenia.

Zasoby

Gemini Notebook

Tematy

  • gemini
  • szukaj
  • connected-apps
  • mcp
  • appfunctions
  • Android

Transkrypcja

Pobierz transkrypcję

Wprowadzenie

  • Witam wszystkich.

  • Nazywam się Mai i jestem kierowniczką ds. usług Gemini Connected Apps Platform.

  • Później usłyszycie też Kate, naszą inżynierkę DevRel.

  • Zaraz tu przyjdzie.

  • Dlatego dzisiaj z przyjemnością opowiemy o tym, jak możesz rozszerzyć swoją aplikację na niektóre z najpopularniejszych usług Google opartych na agentach, czyli Gemini i wyszukiwarkę.

  • Wyjaśnimy, dlaczego połączone aplikacje są przydatne i magiczne dla naszych użytkowników.

  • Co więcej, pokażemy Ci, jak go zbudować.

  • Zaczynajmy.

  • Wielu z nas zauważyło, że w ekosystemie aplikacji dzieje się coś naprawdę wielkiego.

  • Sposób, w jaki ludzie korzystają z urządzeń, szukają odpowiedzi i wykonują różne czynności, nie tylko ewoluuje.

  • Zmienił się on diametralnie.

  • Użytkownicy nie otwierają już przeglądarek i nie klikają w nich.

  • Rozmawiają bezpośrednio z asystentami, takimi jak Gemini.

  • Zadają Gemini złożone pytania i szukają odpowiedzi w wyszukiwarce, korzystając z różnych trybów.

  • Oczekują, że urządzenia z Androidem nie tylko zrozumieją, co mówią, ale też będą wiedzieć, co chcą zrobić.

  • Zastanów się nad swoimi procesami, które możesz wykonywać w ciągu dnia.

  • Załóżmy, że prosisz Gemini o pomoc w przeprowadzeniu burzy mózgów na temat pomysłów na weekend ze znajomymi w konkretnym miejscu i czasie.

  • Dzisiejsze modele mogą przetworzyć ten plan w kilka sekund.

  • To świetna funkcja.

  • Porządek.

  • Co wtedy?

  • Zakończenie.

  • Użytkownik trafia na ścianę i pozostaje z planem, ale bez potwierdzenia.

  • Model wie, co zrobić, ale nie ma rąk, aby to zrobić.

  • Musisz więc skopiować i wkleić informacje z czatu z Gemini do jednej lub drugiej aplikacji.

  • Czasami na urządzeniach mobilnych jest to bardzo niewygodne.

  • Musisz zapamiętać wszystkie te informacje i wpisać je później.

  • Ten przeskok poznawczy i utrudnienie całkowicie niszczą magię.

  • Co to oznacza dla Was?

  • Oznacza to, że masz użytkowników o sprecyzowanych zamiarach, którzy utknęli w dymku czatu, zamiast korzystać z aplikacji.

  • Dlatego połączone aplikacje są tak przełomowe – pomagają nam dotrzeć do użytkowników dokładnie tam, gdzie się znajdują.

  • Obecnie spędzają dużo czasu na rozmowach z asystentami takimi jak Gemini.

  • Gdy użytkownik wyraża rzeczywisty zamiar podjęcia działania, jest to kluczowy moment na jego ścieżce.

  • Nie przeglądają biernie treści.

  • Chcą coś zrobić tu i teraz.

  • Dzięki integracji aplikacji z tymi modelami generatywnymi asystenci tacy jak Gemini nie tylko odpowiadają na pytania, ale też wykonują zadania.

  • Gdy użytkownik prosi o listę zadań z uwzględnieniem priorytetów, chce wynająć samochód na zbliżający się wyjazd lub kupić składniki do przepisu, który właśnie znalazł, Twoja aplikacja nie jest widoczna na dole strony jako link statyczny.

  • Możesz pomóc im w tym i od razu wykonać tę czynność.

  • Chcę, żeby to było jasne, bo wiem, że każdy deweloper i lider produktu o tym myśli: połączone aplikacje nie mają na celu abstrakcji aplikacji.

  • Twoja marka, logika biznesowa, uwierzytelnione relacje i niestandardowe interfejsy użytkownika należą do Ciebie.

  • Połączone aplikacje to integracja Twoich usług z interfejsem API agenta, dzięki czemu usługi agentowe Google mogą bezproblemowo kierować użytkowników o sprecyzowanych zamiarach bezpośrednio do Twojego produktu.

Connected Apps Platform

  • Dlatego dzisiaj, właśnie teraz, z ogromną radością oficjalnie ogłaszam uruchomienie naszej platformy połączonych aplikacji.

  • W przeszłości docieranie do użytkowników w różnych usługach Google wymagało osobnej integracji z każdą z nich.

  • Jeśli chcesz mieć akcję lub skrót w aplikacji na Androida, musisz je utworzyć.

  • Integracja wyszukiwania, kolejna.

  • Chcemy jednak, aby wszystko było dla Ciebie jak najprostsze i najwygodniejsze.

  • Dlatego ujednoliciliśmy proces wprowadzania, aby zapewnić jeden punkt wejścia do uruchamiania aplikacji w różnych usługach Google opartych na agentach.

  • Teraz możesz raz utworzyć funkcje aplikacji za pomocą standardowych schematów deklaratywnych i będą one działać w 2 naszych kluczowych usługach: Gemini i wyszukiwarce.

  • Już wkrótce dodamy jeszcze więcej produktów.

  • Porozmawiajmy o tym zasięgu i o tym, co on oznacza dla Ciebie.

  • Nie musisz tworzyć wielu niestandardowych wtyczek, zarządzać 4 różnymi konsolami dla deweloperów ani utrzymywać różnych uwierzytelnionych połączeń, aby dotrzeć do użytkowników Google na Androidzie, w Gemini i wyszukiwarce.

  • Dzięki naszej ujednoliconej platformie możesz raz utworzyć i zarejestrować definicje narzędzi.

  • Wybierasz usługi Google, których chcesz używać, a my udostępniamy Ci jeden przycisk uruchamiania w naszej nowej Połączonej konsoli Google.

  • Po opublikowaniu Twoje funkcje będą dostępne dla każdego, kto korzysta z Gemini lub wyszukiwarki.

  • Niezależnie od tego, czy użytkownicy wpisują zapytania w Gemini na laptopie, zadają serię pytań w wyszukiwarce w internecie czy korzystają z funkcji asystenta na Androidzie, będą mogli używać Twojej aplikacji dokładnie wtedy, gdy będzie im najbardziej potrzebna, i dokładnie tam, gdzie się znajdują.

  • Dlatego będziemy otwierać naszą platformę etapami, zaczynając od wersji testowej.

  • Zapewniam, że cały zespół ciężko pracuje, aby jak najszybciej udostępnić wszystkie funkcje jak największej liczbie użytkowników.

  • Na tym etapie wersji testowej udostępniamy platformę tylko deweloperom ze Stanów Zjednoczonych.

  • Możesz zarejestrować się za pomocą formularza, który znajdziesz w naszym przewodniku dla deweloperów na stronie developers.google.com/connected-apps. Jeśli jesteś deweloperem w Google Play, formularz znajdziesz też na stronie głównej Konsoli Google Play.

  • Kolejne pytanie brzmi: jak trudno jest zbudować taki model?

  • Jeśli masz interfejs API REST lub intencje Androida, jesteś w dobrej sytuacji.

  • Opieramy się na znanych deweloperom koncepcjach.

  • Nasza platforma integruje się ze standardem Model Context Protocol (MCP) za pomocą serwerowych i natywnych dla Androida protokołów MCP.

  • Aby jeszcze bardziej ułatwić Wam pracę, wprowadzamy dziś w Gemini zupełnie nową funkcję o nazwie Tryb programisty, która jest już dostępna dla wszystkich użytkowników w Stanach Zjednoczonych.

  • Dzięki temu możesz testować aplikację w Gemini, otrzymywać opinie w czasie rzeczywistym o stanach błędów, opóźnieniach i odpowiedziach modelu.

  • Wkrótce będzie można generować własne zestawy ocen, uzyskiwać karty wyników i testy porównawcze.

  • Będzie super.

  • Niezależnie od tego, jaki masz dostęp do platformy, zawsze możesz wypróbować aplikację w trybie dewelopera.

  • Jestem pewien, że chcecie poznać więcej szczegółów. Kate wejdzie na scenę zaraz po mnie i za kilka minut opowie Wam o wszystkim.

Zaufanie, prywatność i ustawienia dostępne dla użytkownika

  • Najpierw muszę porozmawiać z Tobą o czymś, co jest coraz ważniejsze: o zaufaniu użytkowników.

  • Gdy mówimy o agentach podejmujących działania w imieniu kogoś innego, pierwsze pytanie często brzmi: „Jak zapewnić użytkownikowi kontrolę?”.

  • Oto jak to wygląda w kilku prostych krokach.

  • Po pierwsze, nasze potwierdzenia są skalowane wraz z ryzykiem.

  • Nie będziemy wyświetlać wyskakującego okienka przed każdym wywołaniem narzędzia.

  • Wyszukiwanie informacji, sprawdzanie dostępności menu, śledzenie zamówienia – wszystko powinno przebiegać bezproblemowo.

  • Jeśli jednak działanie ma rzeczywiste konsekwencje, takie jak edytowanie udostępnionego elementu, dokończenie rezerwacji lub usunięcie czegoś, czego użytkownik nie może łatwo odzyskać, model powinien poprosić użytkownika o wyraźne potwierdzenie, zanim to działanie zostanie wykonane.

  • Po drugie, dane wrażliwe są wyświetlane, a nie ukrywane.

  • Dlatego nasze usługi są zaprojektowane tak, aby sprawdzać, jakie dane osobowe mogą być udostępniane aplikacji.

  • Jeśli wykryjemy coś poufnego, pokazujemy użytkownikowi dokładnie, co jest udostępniane, aby mógł zdecydować, czy chce kontynuować korzystanie z aplikacji.

  • Po trzecie, gdy prosimy, robimy to w konkretny sposób.

  • Nie wyświetlamy niejasnego pytania „Czy na pewno?”, ale informujemy, o jaką aplikację chodzi i co jest wysyłane lub zmieniane.

  • Dzięki temu potwierdzenie pomaga użytkownikowi podjąć świadomą decyzję, a nie jest tylko czymś, co klika się bez zastanowienia.

  • Nikt nie chce, aby jego podróż była pełna potwierdzeń, dlatego użytkownicy mają większą kontrolę nad tym, jak często są o nie proszeni.

  • Na przykład w aplikacji Gemini użytkownicy mogą wybrać dla każdej aplikacji, a nawet dla każdego działania, czy chcą zezwalać na działanie przez cały czas.

  • Dla Ciebie oznacza to, że prosimy o uczciwe oznaczanie narzędzi.

  • Oznacz, co jest tylko do odczytu, co się zmienia, a co usuwa dane.

  • Te sygnały pomagają naszym usługom zdecydować, kiedy zaangażować użytkownika.

  • Za kilka minut Kate pokaże, jak to zrobić.

Doświadczenia partnerów i ścieżka do produkcji

  • Wróćmy do weekendowej wycieczki, o której rozmawialiśmy, a dokładnie do etapu planowania.

  • Pamiętasz, jak trudne i rozproszone to było?

  • Masz świetny plan dla grupy znajomych, ale napotykasz przeszkodę – musisz kopiować i wklejać informacje, przełączając się między aplikacjami.

  • Viator i Ticketmaster to 2 z naszych pierwszych partnerów, którzy dostrzegli prawdziwą szansę w docieraniu do użytkowników tam, gdzie się znajdują.

  • Zdecydowali się na współpracę z nami i usunięcie tej przeszkody, dzięki czemu użytkownik o sprecyzowanych zamiarach może przejść do aplikacji bezpośrednio z Gemini.

  • Dzięki połączonym aplikacjom, które stworzyli ci partnerzy, cała podróż jest o wiele bardziej płynna i bezproblemowa.

  • Zobaczmy, jak to działa.

  • Użytkownik łączy aplikacje i prosi Gemini o znalezienie w aplikacji Viator wycieczki kulinarnej w ciągu dnia oraz biletów na koncert dla 4 osób w aplikacji Ticketmaster.

  • Gemini może rozpoznać tę funkcję i bezpośrednio wywołać narzędzia Viator i Ticketmaster z już wypełnionymi informacjami o odpowiedniej wielkości grupy, datach i preferencjach.

  • Bez opuszczania rozmowy obie aplikacje pobierają informacje o dostępności w czasie rzeczywistym i wyświetlają użytkownikowi rozbudowane, interaktywne treści bezpośrednio na czacie.

  • Zamiast trafiać w ślepy zaułek i przełączać się między wieloma kartami, użytkownicy mogą korzystać z usług partnerów takich jak Viator i Ticketmaster, aby robić to, czego potrzebują, gdy tylko się na to zdecydują – odkrywać przystanki na trasie wycieczki kulinarnej, wybierać miejsca na koncercie i płynnie przechodzić od odkrywania do działania.

  • Era statycznych menu z aplikacjami dobiega końca, ustępując miejsca inteligentnym, proaktywnym i agentowym funkcjom.

  • Użytkownicy już korzystają z wyszukiwarki i Gemini, prosząc o pomoc.

  • Wspólnie możemy pomóc im wyjść poza odpowiedzi i zapewnić naprawdę wyjątkowe i magiczne wrażenia.

  • To wszystko z mojej strony.

  • Teraz przekażę głos Kate, która dokładnie wyjaśni, jak utworzyć połączoną aplikację.

  • Chodź.

  • Witam wszystkich.

  • Nazywam się Kate i jestem inżynierem ds. relacji z deweloperami. Pomagam deweloperom takim jak Ty w integracji z platformą Connected Apps Platform.

  • Przeprowadzę Cię przez proces testowania, tworzenia i wdrażania połączonej aplikacji.

  • Jak wspomniała wcześniej Mai, istnieją 2 główne metody integracji z platformą Connected Apps Platform: za pomocą zdalnego serwera MCP przy użyciu protokołu MCP lub za pomocą Android MCP, gdy możesz utworzyć zdalny serwer MCP na urządzeniu za pomocą biblioteki AppFunctions.

  • Zalecamy korzystanie ze zdalnych serwerów MCP, gdy chcesz przeprowadzić integrację na różnych platformach, takich jak Android, iOS i internet.

  • Od niektórych deweloperów otrzymaliśmy też opinie, że czasami wolą oni wykonywanie lokalne, gdy dane aplikacji są dostępne tylko na urządzeniu.

  • W takich przypadkach zalecamy korzystanie z Android MCP za pomocą biblioteki AppFunctions Jetpack.

  • Zapraszamy też do obejrzenia specjalnej prezentacji, w której Dan i Sarah szczegółowo omawiają integrację z platformą połączonych aplikacji za pomocą AppFunctions i Android MCP.

Integracja i wersja demonstracyjna zdalnego serwera MCP

  • Teraz dowiesz się, jak utworzyć zdalny serwer MCP.

  • Aby pokazać, jak to działa w praktyce, stworzyliśmy oficjalną połączoną aplikację AndroidDevSummit.

  • Pokażę Ci, jak to działa.

  • Wróćmy do wersji demonstracyjnej na żywo.

  • Wyobraź sobie, że pytasz: „AndroidDevSummit, opowiedz mi więcej o sesjach XR”.

  • W tej chwili Gemini łączy się z naszym serwerem MCP, który utworzyliśmy dla tej połączonej aplikacji.

  • Znajduje odpowiednie narzędzie do wywołania i wykorzystuje jego dane do sformułowania przyjaznej dla użytkownika odpowiedzi.

  • Znajduje informacje o sesjach związanych z XR z dnia 1 i 2, a na końcu renderuje nasz niestandardowy widżet AndroidDevSummit z botem Androida.

  • Możesz więc korzystać z tego widżetu bezpośrednio w Gemini.

  • Możesz sprawdzić harmonogram, na przykład przełączyć lokalizację lub filtrować według dnia.

  • Możesz też filtrować według różnych tematów, np. jeśli chcesz wyszukać sesje związane z XR, a także wyświetlić szczegóły i prelegentów.

  • Więc… super!

  • Wszystko w Gemini, Twoje niestandardowe środowisko, a użytkownicy nie muszą się przełączać, nie muszą szukać innych informacji w innej aplikacji, wszystko w jednym miejscu bez interakcji – bez przełączania się i opuszczania aplikacji.

  • Wróćmy do slajdów.

Programowanie serwera MCP i niestandardowy interfejs użytkownika

  • Zobaczmy, jak utworzyć te połączone aplikacje.

  • Uruchomienie serwera MCP za pomocą biblioteki FastMCP jest bardzo proste, ale należy przestrzegać 4 bardzo ważnych sprawdzonych metod.

  • Najpierw musisz podać dokładne instrukcje dotyczące serwera.

    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 "
        ),
    )
  • Podczas inicjowania serwera MCP zawsze definiuj jasne instrukcje opisujące domenę i możliwości połączonych aplikacji.

  • Platforma Connected Apps Platform korzysta z tych instrukcji, aby wiedzieć, kiedy przekazać zadanie serwerowi.

  • Dodatkowo Połączona konsola Google, którą pokażę później, również wyraźnie sprawdza, czy te instrukcje są obecne.

  • Po drugie, dodaj adnotacje do narzędzi, aby zapewnić bezpieczeństwo i kontrolę.

    @mcp.tool(
        title="List Sessions",
    
        annotations=ToolAnnotations(
            readOnlyHint=True,
            destructiveHint=False,
        ),
    
        meta={ … },
    )
    def list_sessions( … )
    …
  • W przypadku serwera ADS mamy te 2 adnotacje.

  • Dla modelu ważne jest, aby wiedzieć, kiedy narzędzie jest tylko do odczytu, a kiedy modyfikuje dane.

  • Jeśli więc masz narzędzia, które edytują lub usuwają informacje o użytkownikach, zawsze używaj tego destructiveHint, aby oznaczyć je jako operacje edycji lub usuwania.

  • Dzięki temu platforma Connected Apps Platform będzie wiedzieć, że musi wyświetlić użytkownikowi komunikat z prośbą o potwierdzenie, że chce wykonać to działanie.

  • Możesz też skonfigurować narzędzia w Połączonej konsoli Google, którą pokażę później.

  • Po trzecie: silnie typowane schematy i semantyczne ciągi dokumentacji.

    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').
        """
        …
  • Traktuj ciągi dokumentacji parametrów jako część prompta.

  • W tym narzędziu list_sessions wyraźnie dokumentujemy oczekiwane wartości, takie jak narzędzia i wydajność, lub MTV i Londyn w przypadku lokalizacji.

  • Najważniejszym czynnikiem wpływającym na dokładne wywoływanie narzędzi są jasne i opisowe schematy.

  • Ostatni element to powiązanie metadanych zasobów interfejsu.

    @mcp.tool(
        …
        meta={
            "ui": {
                "resourceUri": "ui://ads-mcp/summit-app",
            },
            …
        },
    )
    def list_sessions(…)
    …
  • Spójrz na definicję interfejsu w metadanych.

  • Te metadane są mostem, który instruuje Gemini, aby powiązać dane wyjściowe narzędzia bezpośrednio z naszym niestandardowym zasobem interfejsu.

  • To prowadzi nas do renderowania interfejsu.

    @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",
            )
        ])
  • Connected Apps Platform umożliwia renderowanie rozbudowanych interfejsów użytkownika z serwera MCP za pomocą interfejsu aplikacji MCP.

  • Jeśli chcesz mieć pełną elastyczność w zakresie niestandardowego, dostosowanego do marki interfejsu, takiego jak Android Dev Summit, możesz udostępnić zasób interfejsu MCP.

  • Gemini może renderować w bezpiecznym elemencie iframe w piaskownicy.

Przepływ pracy testowania i weryfikacji

  • Następnie pokażę, jak przetestować i wdrożyć połączoną aplikację bezpośrednio z komputera lokalnego do środowiska produkcyjnego.

  • Tak.

  • Przyjrzyjmy się, jak można tworzyć i testować lokalnie.

  • Podczas programowania możesz łatwo uruchomić serwer lokalnie, używając pierwszego polecenia.

    ./venv/bin/python server.py
    npx @modelcontextprotocol/inspector
  • Następnie możesz użyć MCP Inspector, aby debugować serwer, wyświetlić dostępne narzędzia i korzystać z interfejsu.

  • To tylko przykład, jak wygląda MCP Inspector na Android Dev Summit.

  • Możesz więc zobaczyć narzędzia i interfejs oraz przetestować je lokalnie.

  • Po drugie, musisz wdrożyć serwer MCP w zdalnym punkcie końcowym, aby uzyskać dostęp i zweryfikować go w trybie dewelopera Gemini.

  • Punkt końcowy MCP możesz hostować na dowolnej infrastrukturze lub u dowolnego dostawcy chmury.

  • Jeśli jednak wolisz Google Cloud, możesz łatwo korzystać z tej usługi za pomocą Google Cloud CLI.

  • Wystarczy użyć tego prostego polecenia, aby wdrożyć aplikację i udostępnić ją zdalnie.

    gcloud run deploy ads-mcp-server
  • Następnym krokiem jest zweryfikowanie publicznego punktu końcowego w trybie dewelopera Gemini.

  • Wróćmy do wersji demonstracyjnej, aby pokazać, jak korzystać z trybu programisty w praktyce.

  • Tryb dewelopera można łatwo znaleźć, przechodząc do ustawień i klikając Tryb dewelopera.

  • Następnie musisz wybrać połączoną aplikację, którą chcesz przetestować.

  • Możesz na przykład utworzyć nowy Serwer MCP, podając tutaj jego adres URL.

  • Mam już utworzone oprogramowanie sprzęgające do testowania o nazwie ADS MCP z testowym punktem końcowym.

  • Chcę tylko przetestować, jak działa z Gemini od początku do końca.

  • Zadajmy więc pytanie.

  • „ADS MCP, powiedz mi więcej o tym wydarzeniu”.

  • W tym momencie Gemini wywołuje nasz serwer MCP. W trybie programisty możesz zobaczyć, które narzędzie jest wywoływane.

  • Na przykład w przypadku tego konkretnego prompta „Opowiedz mi więcej o wydarzeniu” wywołano funkcję get_summit_info.

  • Możesz też zobaczyć odpowiedź, która zakończyła się powodzeniem.

  • Możesz też sprawdzić opóźnienie.

  • Możesz też wyświetlić wszystkie szczegóły żądania i odpowiedzi.

  • Na przykład w odpowiedzi mamy wiele informacji.

  • Możesz też nieco powiększyć widok i sprawdzić, jakie informacje są Ci potrzebne, oraz upewnić się, że wszystko jest prawidłowe.

  • Możesz też skopiować link, co jest bardzo wygodne, jeśli chcesz udostępnić go współpracownikowi.

  • Możesz też wyeksportować cały dziennik zdarzeń i w razie potrzeby go udostępnić.

  • Podoba mi się też to, że można zapoznać się z innymi dostępnymi narzędziami. W trybie programisty można na przykład wyświetlić informacje o szczycie, listę sesji i inne narzędzia.

  • Możesz też zmienić środowisko, aby symulować różne konteksty użytkowników.

  • Możesz na przykład zmienić porę dnia lub preferencje, takie jak języki, a także skonfigurować uwierzytelnianie.

  • To był tryb programisty.

  • Możesz zacząć tworzyć serwer MCP już dziś i testować go w trybie programisty.

  • Jest ona dostępna dla wszystkich.

  • Wróćmy do slajdów.

  • OK.

  • Załóżmy, że testy w trybie programisty zostały już przeprowadzone i wszystko wygląda dobrze. Co dalej?

  • Aby uzyskać dostęp do naszej platformy, musisz się zarejestrować. Najpierw wypełnij ten formularz zgłoszenia zainteresowania.

  • Jest on też dostępny w naszej dokumentacji i w Połączonej konsoli Google.

Przygotowanie do produkcji i zasoby

  • Po zatwierdzeniu zgłoszenia uzyskasz dostęp do Połączonej konsoli Google, w której możesz przygotować aplikację do wdrożenia w wersji produkcyjnej.

  • W konsoli możesz przygotować aplikację w kilku krokach.

  • Najpierw musisz utworzyć tam nową połączoną aplikację i podać jej nazwę.

  • Następnie musisz wybrać możliwości i kategorię.

  • W tym przykładzie wybraliśmy produktywność. Teraz wystarczy kliknąć Utwórz.

  • Następnie w sekcji szczegółów aplikacji musisz podać dane publiczne, takie jak wyświetlana nazwa, ikona, opis dla użytkownika, a także możliwości aplikacji, ograniczenia, przykładowe prompty i inne dane.

  • Podczas konfigurowania serwera MCP musisz podać punkt końcowy.

  • Musisz potwierdzić, że ta domena należy do Ciebie. Możesz też skonfigurować dane logowania do narzędzi do synchronizacji.

  • Pamiętaj, że Google Console tworzy zrzut schematu MCP, więc po wprowadzeniu zmian w schemacie musisz wrócić i wdrożyć go ponownie.

  • Następnie możesz skonfigurować dostępność aplikacji.

  • Możesz wybrać regiony, w których aplikacja ma być dostępna, języki, platformy i inne konfiguracje poszczególnych narzędzi.

  • Następnie możesz po prostu kliknąć „Prześlij zmiany” i przesłać je do sprawdzenia przez Gemini.

  • Możesz też dodać konta testowe w sekcji Zarządzaj testerami.

  • Możesz od razu przetestować go na żywo za pomocą kont testowych w internecie, na urządzeniach mobilnych lub na dowolnych wybranych wcześniej platformach, takich jak Gemini czy wyszukiwarka, a następnie przesłać do ostatecznego sprawdzenia.

  • Gdy aplikacja będzie gotowa, możesz ją wdrożyć globalnie lub w wybranych regionach, klikając przycisk przesyłania.

  • To wszystko.

  • Jesteśmy ciekawi, co uda Ci się stworzyć za pomocą platformy Connected Apps Platform, niezależnie od tego, czy udostępniasz funkcje aplikacji za pomocą zdalnego serwera MCP czy Android MCP.

  • Chętnie pomożemy Ci w tworzeniu tych niesamowitych integracji.

  • Wystarczy postępować zgodnie z tą dokumentacją i naszymi przykładami, które są dostępne po zeskanowaniu tego kodu kreskowego.

  • Dziękujemy za udział w dzisiejszej sesji.

  • Powodzenia!

Kod

Fragmenty kodu

Fragment kodu w Pythonie w 14:56 w filmie „Serwer MCP development and custom UI”
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 "
    ),
)
Fragment kodu w Pythonie w 15:22 w filmie „Serwer MCP development and custom UI”
@mcp.tool(
    title="List Sessions",

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

    meta={ … },
)
def list_sessions( … )
…
Fragment kodu w Pythonie w 16:08 w filmie „Serwer MCP development and custom UI”
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').
    """
    …
Fragment kodu w Pythonie w 16:32 w filmie „Serwer MCP development and custom UI”
@mcp.tool(
    …
    meta={
        "ui": {
            "resourceUri": "ui://ads-mcp/summit-app",
        },
        …
    },
)
def list_sessions(…)
…
Fragment kodu w Pythonie w 16:49 w filmie „Serwer MCP development and custom 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",
        )
    ])
Fragment kodu powłoki w 17:29 w filmie „Testing and validation workflow”
./venv/bin/python server.py
npx @modelcontextprotocol/inspector
Fragment kodu powłoki w 18:16 w filmie „Testing and validation workflow”
gcloud run deploy ads-mcp-server