Aplikasi Cerdas

Perluas aplikasi Anda ke Gemini dan Penelusuran dengan Platform Aplikasi Terhubung

Speaker

  • Kateryna Semenova

    Staff Developer Relations Engineer

  • Mai Lowe

    Group Product Manager

Tentang

Tentang konferensi

Platform Aplikasi Terhubung yang baru memungkinkan Anda mengintegrasikan layanan aplikasi langsung ke Gemini, Mode AI di Penelusuran, dan sistem kecerdasan Android. Sesi ini memberikan panduan praktis untuk memulai. Dengan menggunakan contoh kode dan belajar dari studi kasus nyata, kita akan membahas siklus proses pengembangan: membangun, menguji, dan memublikasikan aplikasi terhubung pertama Anda untuk menjangkau pengguna dalam alur kerja yang didukung AI.

Di akhir sesi ini, Anda akan dapat:

  • Mengintegrasikan layanan Anda dengan Platform Aplikasi Terhubung.
  • Uji integrasi Anda di berbagai platform AI.
  • Publikasikan fitur aplikasi Anda ke dalam alur kerja AI pengguna.

Ringkasan

  • Platform Aplikasi Terhubung menyediakan satu titik entri untuk meluncurkan kemampuan aplikasi di seluruh Gemini dan Penelusuran menggunakan skema deklaratif. Program ini akan dibuka secara bertahap, dimulai dengan pratinjau untuk developer di Amerika Serikat.
  • Integrasi menggunakan standar Model Context Protocol (MCP) melalui server jarak jauh atau server lokal di perangkat melalui library Jetpack AppFunctions. Server jarak jauh juga dapat menampilkan UI kustom yang dirender di dalam iframe.
  • Konfirmasi disesuaikan dengan risiko untuk melindungi kepercayaan pengguna. Developer menandai alat sebagai hanya baca atau dengan destructiveHint, sehingga membantu Gemini meminta konfirmasi eksplisit saat tindakan mengubah atau menghapus data.
  • Mode Developer Gemini memungkinkan Anda memeriksa panggilan alat dan latensi terhadap endpoint publik. Fitur ini kini tersedia untuk developer di Amerika Serikat.
  • Konsol Terhubung Google menangani peluncuran produksi untuk developer yang disetujui. Anda mengonfigurasi endpoint, mengelola penguji di seluruh platform yang dipilih, dan mengirimkan aplikasi untuk ditinjau.

Resource

Gemini Notebook

Topik

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

Transkrip

Pengantar

  • Hai, semuanya.

  • Saya Mai dan saya adalah pimpinan produk untuk Platform Aplikasi Terhubung Gemini.

  • Dan nanti, Anda juga akan mendengar penjelasan dari Kate, engineer DevRel kami.

  • Dia akan datang.

  • Jadi, hari ini, kami sangat senang dapat membahas cara memperluas aplikasi Anda ke beberapa produk agentic paling populer dari Google, yaitu Gemini dan Penelusuran.

  • Kami akan memberi tahu Anda cara dan alasan aplikasi terhubung bermanfaat dan luar biasa bagi pengguna kami.

  • Dan yang lebih baik lagi, kami akan menunjukkan kepada Anda apa yang diperlukan untuk membangunnya.

  • Jadi, mari kita mulai.

  • Jadi, saya tahu banyak dari kita telah melihat bahwa sesuatu yang sangat besar telah terjadi di seluruh ekosistem aplikasi.

  • Cara orang menggunakan perangkat, menelusuri jawaban, dan menyelesaikan berbagai hal tidak hanya berkembang.

  • Hal ini telah berubah secara fundamental.

  • Orang-orang tidak lagi membuka browser dan mengetuk-ngetuk layar.

  • Mereka berinteraksi langsung dengan asisten seperti Gemini.

  • Mereka mengajukan pertanyaan kompleks kepada Gemini, menelusuri jawaban, secara multimodal di Penelusuran.

  • Mereka juga mengharapkan perangkat Android tidak hanya memahami apa yang mereka katakan, tetapi juga mengetahui apa yang ingin mereka lakukan.

  • Pikirkan beberapa alur kerja Anda sendiri yang dapat Anda lakukan pada hari tertentu.

  • Misalnya, Anda meminta Gemini membantu Anda mendiskusikan beberapa opsi untuk akhir pekan yang menyenangkan bersama teman di tempat tertentu pada waktu tertentu.

  • Model saat ini dapat memproses rencana tersebut dalam hitungan detik.

  • Keren sekali.

  • Teratur.

  • Lalu, apa?

  • Selesai.

  • Pengguna menemui jalan buntu dan dibiarkan begitu saja hanya dengan rencana dan tidak ada yang dikonfirmasi.

  • Model tahu apa yang harus dilakukan, tetapi tidak memiliki "tangan" untuk melakukannya.

  • Jadi, Anda harus menyalin dan menempelkan informasi dari percakapan dengan Gemini ke aplikasi lain.

  • Terkadang, jika Anda menggunakan perangkat seluler, prosesnya akan sangat merepotkan.

  • Kemudian, Anda harus mengingat semua hal tersebut dan mengetiknya setelah itu.

  • Lompatan kognitif dan hambatan tersebut benar-benar merusak keajaiban.

  • Dan apa artinya bagi Anda semua?

  • Artinya, Anda memiliki permintaan pengguna dengan niat tinggi yang terjebak dalam balon chat, bukan mendorong pengguna yang kaya dan interaktif ke aplikasi Anda.

  • Inilah alasan aplikasi yang terhubung dapat mengubah keadaan, karena aplikasi tersebut membantu kita menjangkau pengguna di mana pun mereka berada.

  • Saat ini, mereka menghabiskan banyak waktu untuk berinteraksi dengan asisten seperti Gemini.

  • Saat pengguna menunjukkan niat nyata untuk melakukan tindakan, itu adalah momen yang sangat berharga dalam perjalanan mereka.

  • Mereka tidak menjelajah secara pasif.

  • Mereka memiliki hal eksplisit yang ingin diselesaikan saat ini.

  • Dengan mengaktifkan integrasi antara aplikasi dan model generatif ini, asisten seperti Gemini tidak hanya menjawab pertanyaan, tetapi juga menyelesaikan berbagai hal.

  • Saat pengguna meminta daftar tugas yang diprioritaskan, atau ingin menyewa mobil untuk perjalanan mendatang, atau ingin membeli bahan makanan untuk resep yang baru saja mereka temukan, aplikasi Anda tidak berada di bagian bawah halaman sebagai link statis.

  • Anda dapat membantu menghadirkan keajaiban dan menjalankan tindakan tersebut saat itu juga.

  • Dan perlu kami tegaskan, karena kami tahu setiap developer dan pemimpin produk memikirkan hal ini, aplikasi terhubung bukan berarti mengabstraksi aplikasi Anda.

  • Merek, logika bisnis, hubungan yang diautentikasi, dan pengalaman UI kustom Anda, semuanya milik Anda.

  • Aplikasi terhubung adalah tentang mengintegrasikan layanan Anda ke dalam platform API agentic, sehingga produk agentic Google dapat dengan lancar mengarahkan pengguna dengan niat tinggi langsung ke produk Anda.

Platform Aplikasi Terhubung

  • Jadi, hari ini, sekarang juga, saya sangat senang dapat mengumumkan peluncuran resmi Platform Aplikasi Terhubung kami.

  • Sebelumnya, menjangkau pengguna di berbagai produk Google memerlukan integrasi yang berbeda untuk setiap produk.

  • Jika Anda menginginkan tindakan atau pintasan aplikasi Android, Anda harus membuatnya.

  • Integrasi penelusuran, satu lagi.

  • Namun, kami ingin membuat semuanya semudah dan semenarik mungkin bagi Anda.

  • Jadi, kami telah menstandarkan orientasi untuk memberi Anda satu titik entri untuk meluncurkan aplikasi di beberapa produk agentic Google.

  • Sekarang, Anda cukup membangun fungsi aplikasi sekali menggunakan skema deklaratif standar, dan fungsi tersebut akan langsung aktif di dua produk utama kami, Gemini dan Penelusuran.

  • Dan akan ada lebih banyak produk yang akan segera hadir.

  • Jadi, mari kita bahas jangkauan ini dan artinya bagi Anda.

  • Anda tidak perlu membuat beberapa plugin kustom, mengelola empat konsol developer yang berbeda, dan memelihara berbagai handshake yang diautentikasi hanya untuk menjangkau pengguna Google di Android, Gemini, dan Penelusuran.

  • Dengan platform terpadu kami, Anda dapat membangun dan mendaftarkan definisi alat sekali saja.

  • Anda memilih produk Google yang diinginkan, dan kami memberi Anda satu tombol peluncuran di Konsol Terhubung Google yang baru.

  • Saat Anda mengirim, kemampuan Anda dapat ditemukan oleh siapa saja saat mereka menggunakan Gemini atau Penelusuran.

  • Baik pengguna mengetik di Gemini di laptop, mengajukan serangkaian kueri di Penelusuran di web, maupun menggunakan fitur asisten di Android, mereka akan memiliki pilihan untuk menggunakan aplikasi Anda tepat saat paling penting bagi mereka, tepat di tempat mereka berada.

  • Jadi, kami akan membuka platform kami secara bertahap, dimulai dengan pratinjau.

  • Kami berjanji, seluruh tim sedang bekerja keras untuk menghadirkan semua fitur kepada sebanyak mungkin pengguna secepat mungkin.

  • Untuk fase pratinjau ini, kami hanya membuka platform ini untuk developer di Amerika Serikat.

  • Anda dapat mendaftar melalui formulir untuk mendapatkan akses, dan Anda dapat menemukannya di panduan developer kami di developers.google.com/connected-apps, atau jika Anda adalah developer Play, Anda juga dapat menemukannya di halaman beranda Konsol Google Play.

  • Jadi, pertanyaan berikutnya adalah, seberapa sulit sebenarnya membangun salah satu dari ini?

  • Jika Anda memiliki REST API atau intent Android, Anda berada di posisi awal yang cukup baik.

  • Kami membangun di atas konsep developer yang sudah dikenal.

  • Platform kami terintegrasi dengan standar Model Context Protocol, atau MCP, melalui MCP berbasis server dan MCP native Android.

  • Dan untuk membuatnya lebih baik dan lebih mudah bagi Anda, hari ini kami meluncurkan fitur baru di Gemini yang disebut Mode Developer, yang dapat diakses oleh Anda semua di AS sekarang.

  • Dengan begitu, Anda dapat mencoba aplikasi di dalam Gemini, mendapatkan masukan real-time tentang status error, latensi, dan respons model.

  • Dan dalam waktu dekat, Anda akan dapat membuat set evaluasi sendiri, mendapatkan kartu skor metrik kualitas, dan tolok ukur.

  • Proses ini akan menarik.

  • Apa pun akses Anda ke platform, Anda selalu dapat mencoba aplikasi dalam Mode Developer.

  • Saya yakin Anda ingin tahu lebih banyak, dan Kate akan naik ke panggung setelah saya dan menjelaskan semuanya kepada Anda dalam beberapa menit.

Kepercayaan, privasi, dan kontrol pengguna

  • Jadi, pertama-tama, saya perlu membahas sesuatu yang selalu penting: kepercayaan pengguna.

  • Setiap kali kita membahas agen yang mengambil tindakan atas nama seseorang, pertanyaan pertama yang sering muncul adalah, "Bagaimana cara kita memastikan pengguna tetap memegang kendali?"

  • Jadi, berikut cara kami melihat hal ini dalam beberapa konsep sederhana.

  • Pertama, konfirmasi kami disesuaikan dengan risiko.

  • Kita tidak akan menampilkan pop-up di depan setiap panggilan alat.

  • Mencari sesuatu, memeriksa ketersediaan menu, melacak pesanan, semuanya harus lancar.

  • Namun, jika suatu tindakan memiliki konsekuensi nyata, seperti mengedit sesuatu yang dibagikan, menyelesaikan pemesanan, atau menghapus sesuatu yang tidak dapat dipulihkan dengan mudah oleh pengguna, model akan meminta konfirmasi eksplisit dari pengguna sebelum tindakan tersebut dilakukan.

  • Kedua, data sensitif ditampilkan, bukan disembunyikan.

  • Jadi, produk kami dirancang untuk memeriksa informasi pribadi apa yang mungkin dibagikan ke aplikasi Anda.

  • Jika ada hal sensitif yang terdeteksi, kami akan menunjukkan kepada pengguna apa yang dibagikan, sehingga pengguna dapat memutuskan apakah akan melanjutkan penggunaan aplikasi Anda atau tidak pada saat itu juga.

  • Ketiga, saat bertanya, kita harus spesifik.

  • Kami tidak memberikan pertanyaan yang tidak jelas seperti "Apakah Anda yakin?", tetapi kami akan memberi tahu aplikasi mana dan apa yang sebenarnya dikirim atau diubah.

  • Dengan demikian, konfirmasi membantu pengguna benar-benar memutuskan, bukan sekadar sesuatu yang mereka klik secara acak.

  • Dan karena tidak ada yang menginginkan perjalanan yang penuh dengan konfirmasi, pengguna mendapatkan lebih banyak kontrol atas seberapa sering mereka diminta.

  • Misalnya, di aplikasi Gemini, pengguna dapat memilih per aplikasi dan bahkan per tindakan apakah akan mengizinkan tindakan tersebut setiap saat atau tidak.

  • Bagi Anda, semua itu berarti kami meminta Anda untuk menandai alat Anda dengan jujur.

  • Tandai apa yang bersifat hanya baca, apa yang berubah, apa yang menghapus data.

  • Sinyal tersebut membantu produk kami memutuskan kapan harus mengarahkan pengguna ke aplikasi.

  • Sekali lagi, Kate akan menunjukkan caranya kepada Anda dalam beberapa menit.

Pengalaman partner dan jalur ke produksi

  • Baiklah, mari kita kembali ke perjalanan akhir pekan yang kita bicarakan, yaitu bagian perencanaan.

  • Jadi, ingat betapa sulit dan terfragmentasinya hal itu?

  • Anda punya rencana bagus untuk sekelompok teman, tetapi kemudian Anda mengalami kesulitan, Anda harus menyalin dan menempelkan berbagai hal, berpindah-pindah aplikasi.

  • Jadi, Viator dan Ticketmaster adalah dua partner awal kami yang luar biasa dan melihat peluang nyata dalam menjangkau pengguna di mana pun mereka berada.

  • Mereka memutuskan untuk berpartner dengan kami dan menghilangkan batasan tersebut, sehingga pengguna dengan niat tinggi ini dapat mengakses aplikasi mereka langsung dari dalam Gemini.

  • Berkat aplikasi terhubung yang dibuat oleh partner ini, seluruh perjalanan menjadi jauh lebih lancar dan tanpa hambatan.

  • Jadi, mari kita lihat.

  • Pengguna menghubungkan aplikasi, dan meminta Gemini untuk menemukan tur kuliner siang hari di Viator dan beberapa tiket konser di Ticketmaster untuk grup yang terdiri dari 4 orang.

  • Gemini dapat mengenali kemampuan, memanggil alat Viator dan Ticketmaster secara langsung dengan ukuran grup, tanggal, dan preferensi yang tepat yang sudah diisi.

  • Tanpa keluar dari percakapan, kedua aplikasi akan menampilkan ketersediaan real-time dan memberikan pengalaman interaktif yang beragam langsung di dalam chat untuk pengguna.

  • Daripada menemui jalan buntu dan harus membuka banyak tab, Viator dan Ticketmaster adalah contoh partner yang memungkinkan pengguna melakukan hal yang mereka perlukan begitu mereka menemukannya, menjelajahi tempat wisata kuliner, memilih kursi konser, dan beralih dengan lancar dari penemuan ke tindakan.

  • Jadi, era peluncur aplikasi statis akan segera berakhir, dan digantikan oleh pengalaman yang cerdas, proaktif, dan berbasis agen.

  • Pengguna Anda sudah berinteraksi dengan Penelusuran dan Gemini, meminta bantuan.

  • Bersama-sama, kita dapat membantu mereka melampaui sekadar jawaban dan memberikan pengalaman yang benar-benar efektif dan ajaib.

  • Sekian dari saya.

  • Sekarang saya akan menyerahkannya kepada Kate, yang akan memandu Anda tentang cara membuat aplikasi terhubung.

  • Silakan naik.

  • Hai, semuanya.

  • Saya Kate, Developer Relations Engineer, yang membantu developer seperti Anda untuk berintegrasi dengan Platform Aplikasi Terhubung.

  • Jadi, kami akan memandu Anda cara menguji, mem-build, dan men-deploy aplikasi terhubung Anda.

  • Seperti yang disebutkan Mai sebelumnya, ada dua metode utama untuk berintegrasi dengan Platform Aplikasi Terhubung: melalui Server MCP jarak jauh menggunakan protokol MCP atau melalui MCP Android, saat Anda dapat membangun Server MCP jarak jauh di perangkat menggunakan library AppFunctions.

  • Sebaiknya gunakan server MCP jarak jauh jika Anda ingin melakukan integrasi di berbagai platform seperti Android, iOS, dan Web.

  • Kami juga mendengar masukan dari beberapa developer bahwa terkadang Anda lebih memilih eksekusi lokal, saat data aplikasi Anda hanya tersedia di perangkat.

  • Untuk kasus penggunaan ini, sebaiknya gunakan MCP Android dengan menggunakan library AppFunctions Jetpack.

  • Tonton juga diskusi khusus tempat Dan dan Sarah membahas secara mendalam cara berintegrasi dengan Platform Aplikasi Terhubung melalui AppFunctions dan MCP Android.

Integrasi dan demo server MCP jarak jauh

  • Sekarang, mari kita pelajari cara membangun Server MCP jarak jauh.

  • Untuk menunjukkan cara kerjanya dalam praktik, kami membuat aplikasi terhubung AndroidDevSummit resmi.

  • Jadi, saya akan menunjukkan cara kerjanya.

  • Mari kita beralih kembali ke demo live.

  • Jadi, bayangkan Anda bertanya, "AndroidDevSummit, beri tahu saya lebih lanjut tentang sesi XR."

  • Saat ini, Gemini terhubung ke Server MCP yang kita buat untuk aplikasi terhubung ini.

  • Model ini menemukan alat yang tepat untuk dipanggil dan menggunakan datanya untuk membuat respons yang mudah dipahami pengguna.

  • Jadi, Gemini menemukan informasi tentang sesi terkait XR di sini untuk hari ke-1 dan hari ke-2, dan pada akhirnya merender widget bermerek kustom kami untuk AndroidDevSummit dengan bot Android.

  • Jadi, langsung di dalam Gemini, Anda dapat berinteraksi dengan widget ini.

  • Anda dapat melihat jadwal, misalnya, Anda dapat beralih lokasi, atau mungkin memfilter menurut hari.

  • Anda juga dapat memfilter berdasarkan berbagai topik, misalnya jika ingin menelusuri sesi terkait XR, dan Anda juga dapat melihat detail serta pembicaranya.

  • Jadi, wooo!

  • Semua hal di dalam Gemini, pengalaman bermerek kustom Anda, dan pengguna tidak perlu beralih, pengguna tidak perlu pergi dan mencari informasi lain di aplikasi lain, semuanya di satu tempat tanpa berinteraksi-- tanpa beralih atau keluar dari aplikasi itu sendiri.

  • Jadi, mari kita beralih kembali ke slide.

Pengembangan server MCP dan UI kustom

  • Mari kita pelajari cara membuat aplikasi terhubung ini.

  • Jadi, sangat mudah untuk memulai Server MCP Anda dengan library FastMCP, tetapi ada empat praktik terbaik yang sangat penting untuk diikuti.

  • Pertama, Anda harus memberikan petunjuk server yang eksplisit.

    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 "
        ),
    )
  • Saat melakukan inisialisasi Server MCP, selalu tentukan petunjuk yang jelas, yang menjelaskan domain dan kemampuan aplikasi terhubung Anda.

  • Platform Aplikasi Terhubung mengandalkan petunjuk ini untuk mengetahui kapan harus mendelegasikan tugas ke server Anda.

  • Selain itu, Konsol Terhubung Google, yang akan saya tunjukkan nanti, juga secara eksplisit memvalidasi bahwa petunjuk ini ada.

  • Kedua, tambahkan anotasi alat untuk keamanan dan kontrol.

    @mcp.tool(
        title="List Sessions",
    
        annotations=ToolAnnotations(
            readOnlyHint=True,
            destructiveHint=False,
        ),
    
        meta={ … },
    )
    def list_sessions( … )
    …
  • Untuk server ADS, kita memiliki dua anotasi ini.

  • Penting bagi model untuk mengetahui kapan alat Anda bersifat hanya baca, atau mengubah data.

  • Jadi, jika Anda memiliki alat yang mengedit atau menghapus informasi pengguna, selalu gunakan destructiveHint ini untuk menandainya sebagai alat yang dapat mengedit atau menghapus operasi.

  • Dengan cara ini, Platform Aplikasi Terhubung akan tahu bahwa platform tersebut perlu menampilkan pesan konfirmasi kepada pengguna, bahwa mereka setuju untuk menyelesaikan tindakan ini.

  • Anda juga dapat mengonfigurasi alat di Konsol Terhubung Google, yang akan saya tunjukkan nanti.

  • Dan ketiga, skema yang diketik dengan ketat dan docstring semantik.

    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').
        """
        …
  • Perlakukan docstring parameter Anda sebagai bagian dari perintah Anda.

  • Dalam alat list_sessions ini, kami secara eksplisit mendokumentasikan nilai yang diharapkan, seperti alat dan performa, atau MTV versus London untuk lokasi.

  • Faktor terbesar dalam panggilan alat yang akurat adalah skema yang jelas dan deskriptif.

  • Dan yang terakhir, binding metadata resource UI.

    @mcp.tool(
        …
        meta={
            "ui": {
                "resourceUri": "ui://ads-mcp/summit-app",
            },
            …
        },
    )
    def list_sessions(…)
    …
  • Lihat definisi UI kami di meta.

  • Metadata ini adalah jembatan yang menginstruksikan Gemini untuk mengikat output alat langsung ke resource UI kustom kita di sini.

  • Hal ini membawa kita ke rendering 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",
            )
        ])
  • Platform Aplikasi Terhubung memberi Anda cara untuk merender antarmuka pengguna yang lengkap dari server MCP Anda melalui UI Aplikasi MCP.

  • Dan jika Anda menginginkan fleksibilitas penuh untuk antarmuka kustom yang ekspresif terhadap merek, seperti Android Dev Summit, Anda dapat mengekspos resource UI MCP.

  • Dan Gemini dapat merender dalam iframe yang aman dan di-sandbox.

Alur kerja pengujian dan validasi

  • Selanjutnya, saya akan memandu Anda melakukan pengujian dan deployment Aplikasi Terhubung, langsung dari komputer lokal Anda, langsung ke produksi.

  • Ya.

  • Jadi, mari kita lihat cara mengembangkan dan menguji secara lokal.

  • Selama pengembangan, Anda dapat dengan mudah menjalankan server secara lokal menggunakan perintah pertama.

    ./venv/bin/python server.py
    npx @modelcontextprotocol/inspector
  • Kemudian, Anda dapat menggunakan MCP Inspector untuk men-debug server, melihat alat yang tersedia, dan berinteraksi dengan UI.

  • Ini hanyalah contoh tampilan MCP Inspector untuk Android Dev Summit kami.

  • Jadi, Anda dapat melihat alat, UI, dan mengujinya secara lokal.

  • Kedua, Anda perlu men-deploy server MCP ke beberapa endpoint jarak jauh, untuk mendapatkan akses dan juga memvalidasinya di Mode Developer Gemini.

  • Anda dapat menghosting endpoint MCP di infrastruktur tersebut, atau penyedia cloud mana pun.

  • Namun, jika Anda lebih suka Google Cloud, sangat mudah untuk menggunakannya dengan Google Cloud CLI.

  • Cukup gunakan perintah sederhana ini untuk men-deploy dan aplikasi Anda akan tersedia dari jarak jauh.

    gcloud run deploy ads-mcp-server
  • Langkah berikutnya adalah memvalidasi endpoint publik Anda di Mode Developer Gemini.

  • Jadi, mari kita beralih kembali ke demo live, dan saya akan menunjukkan cara menggunakan mode dev dalam praktik.

  • Jadi, mode developer mudah ditemukan, jika Anda membuka setelan dan mengklik Mode Developer.

  • Kemudian, Anda harus memilih aplikasi terhubung yang ingin diuji.

  • Misalnya, Anda dapat membuat server baru hanya dengan memberikan URL server MCP di sini.

  • Saya sudah membuat satu untuk pengujian, yang disebut ADS MCP dengan endpoint pengujian saya.

  • Saya hanya ingin menguji cara kerjanya dengan Gemini secara menyeluruh.

  • Jadi, mari kita tanyakan sesuatu.

  • "ADS MCP, beri tahu saya lebih lanjut tentang acara ini."

  • Jadi, saat ini, Gemini memanggil server MCP kita, dan Anda juga dapat melihat alat yang dipanggil dalam Mode Developer.

  • Jadi, misalnya, untuk perintah spesifik ini, "Beri tahu saya lebih lanjut tentang acara tersebut", get_summit_info dipanggil.

  • Anda juga dapat melihat respons yang berhasil.

  • Anda juga dapat melihat latensi.

  • Anda juga dapat melihat semua detail permintaan dan respons.

  • Jadi, misalnya, untuk respons, kita memiliki banyak informasi.

  • Anda juga dapat memperbesarnya sedikit dan melihat, misalnya, men-debug informasi yang mungkin Anda perlukan, dan memastikan bahwa semuanya akurat.

  • Anda juga dapat menyalinnya, yang sangat praktis, jika ingin membagikannya kepada rekan satu tim.

  • Anda juga dapat mengekspor seluruh log peristiwa dan membagikannya jika diperlukan.

  • Saya juga suka karena Anda dapat menjelajahi alat lain yang tersedia, jadi di sini, dalam Mode Developer, Anda dapat melihat info summit, daftar sesi, dan alat lainnya.

  • Anda juga dapat mengubah lingkungan untuk menyimulasikan konteks pengguna yang berbeda.

  • Misalnya, Anda dapat mengubah waktu, atau preferensi seperti bahasa, dan Anda juga dapat menyiapkan autentikasi.

  • Jadi, ini adalah Mode Dev.

  • Dan ya, Anda dapat mulai membangun Server MCP Anda hari ini, dan mengujinya dengan Mode Dev, mulai hari ini.

  • Fitur ini tersedia untuk semua orang sekarang.

  • Mari kita beralih kembali ke slide.

  • Oke.

  • Jadi, misalnya Anda sudah menguji dengan Mode Dev, semuanya terlihat bagus, apa yang harus Anda lakukan selanjutnya?

  • Anda harus mendaftar untuk mendapatkan akses ke platform kami, dan Anda harus mengisi formulir minat ini terlebih dahulu.

  • Kebijakan ini juga tersedia dalam dokumentasi kami dan di Konsol Terhubung Google.

Mempersiapkan produksi dan resource

  • Setelah pengajuan Anda disetujui, Anda akan mendapatkan akses ke Konsol Terhubung Google tempat Anda dapat menyiapkan aplikasi untuk peluncuran produksi.

  • Di dalam konsol, hanya perlu beberapa langkah untuk menyiapkan aplikasi Anda.

  • Pertama, Anda harus membuat Connected App baru di sana dan memberikan nama.

  • Kemudian, Anda hanya perlu memilih kemampuan dan kategori yang sesuai.

  • Misalnya, untuk contoh ini, kita memilih produktivitas, lalu cukup klik buat.

  • Selanjutnya, di bagian detail aplikasi, Anda perlu memberikan data publik seperti nama tampilan, ikon, dan juga memberikan deskripsi yang ditampilkan kepada pengguna serta kemampuan, batasan, contoh perintah, dan data lainnya dari aplikasi Anda.

  • Kemudian, saat mengonfigurasi Server MCP, Anda harus memberikan endpoint.

  • Anda harus memverifikasi bahwa domain ini milik Anda, dan Anda juga dapat mengonfigurasi kredensial untuk menyinkronkan alat.

  • Perlu diingat bahwa Google Console mengambil snapshot skema MCP Anda, jadi setiap kali Anda membuat perubahan pada skema, Anda harus kembali dan men-deploy ulang.

  • Setelah itu, Anda cukup mengonfigurasi ketersediaan aplikasi.

  • Anda dapat memilih wilayah tempat aplikasi Anda akan tersedia, bahasa, platform, dan konfigurasi alat individual lainnya.

  • Dari sana, Anda cukup menekan tombol push changes, dan mengirimkannya untuk ditinjau di Gemini stage.

  • Kemudian, Anda juga dapat menambahkan akun pengujian di bagian kelola penguji.

  • Lalu, segera uji secara langsung dengan akun pengujian ini di web, perangkat seluler, atau platform apa pun yang Anda pilih sebelumnya seperti Gemini atau Penelusuran, lalu kirimkan untuk pratinjau akhir.

  • Setelah aplikasi siap, Anda dapat meluncurkannya ke produksi secara global kepada pengguna atau ke wilayah tertentu dengan mengirimkan tombol tersebut.

  • Dan selesai!

  • Kami tidak sabar untuk melihat apa saja yang dapat Anda bangun dengan Platform Aplikasi Terhubung, baik saat Anda mengekspos kemampuan aplikasi melalui Server MCP Jarak Jauh maupun melalui MCP Android.

  • Kami akan dengan senang hati mendukung Anda untuk membangun integrasi yang luar biasa ini.

  • Cukup ikuti dokumentasi ini dan contoh kami yang tersedia menggunakan kode batang ini.

  • Terima kasih banyak sudah bergabung bersama kami hari ini.

  • Selamat membuat kode!

Kode

Cuplikan kode

Cuplikan Python pada menit 14:56 dalam "Pengembangan server MCP dan UI kustom"
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 "
    ),
)
Cuplikan Python pada menit 15:22 di "MCP server development and custom UI"
@mcp.tool(
    title="List Sessions",

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

    meta={ … },
)
def list_sessions( … )
…
Cuplikan Python pada menit 16:08 di "MCP server 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').
    """
    …
Cuplikan Python pada menit 16:32 di "Pengembangan server MCP dan UI kustom"
@mcp.tool(
    …
    meta={
        "ui": {
            "resourceUri": "ui://ads-mcp/summit-app",
        },
        …
    },
)
def list_sessions(…)
…
Cuplikan Python pada menit 16:49 di "MCP server 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",
        )
    ])
Cuplikan shell pada menit 17:29 di "Alur kerja pengujian dan validasi"
./venv/bin/python server.py
npx @modelcontextprotocol/inspector
Cuplikan shell pada menit 18:16 di "Alur kerja pengujian dan validasi"
gcloud run deploy ads-mcp-server