menedżer grupy produktów
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:
destructiveHint, dzięki czemu Gemini prosi o wyraźne potwierdzenie, gdy działania modyfikują lub usuwają dane.Transkrypcja
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.
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.
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ć.
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.
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.
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.
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/inspectorNastę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-serverNastę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.
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!
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 "
),
)@mcp.tool(
title="List Sessions",
annotations=ToolAnnotations(
readOnlyHint=True,
destructiveHint=False,
),
meta={ … },
)
def list_sessions( … )
…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').
"""
…@mcp.tool(
…
meta={
"ui": {
"resourceUri": "ui://ads-mcp/summit-app",
},
…
},
)
def list_sessions(…)
…@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",
)
])./venv/bin/python server.py
npx @modelcontextprotocol/inspectorgcloud run deploy ads-mcp-server