








<!doctype html>
<html 
      lang="en"
      dir="ltr">
  <head>
    <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"><meta name="google-signin-scope"
          content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award https://www.googleapis.com/auth/devprofiles.full_control.firstparty"><meta property="og:site_name" content="Google for Developers">
    <meta property="og:type" content="website"><meta name="theme-color" content="#fff"><meta charset="utf-8">
    <meta content="IE=Edge" http-equiv="X-UA-Compatible">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    

    <link rel="manifest" href="/_pwa/developers/manifest.json"
          crossorigin="use-credentials">
    <link rel="preconnect" href="//www.gstatic.com" crossorigin>
    <link rel="preconnect" href="//fonts.googleapis.com" crossorigin>
    <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap">
      <link rel="stylesheet"
            href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/css/app.css">
      <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/images/favicon-new.png">
    <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/"><link rel="search" type="application/opensearchdescription+xml"
            title="Google for Developers" href="https://developers.google.com/s/opensearch.xml">
      <link rel="alternate" hreflang="en"
          href="https://developers.google.com/" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/" /><link rel="alternate" hreflang="ar"
          href="https://developers.google.com/?hl=ar" /><link rel="alternate" hreflang="bn"
          href="https://developers.google.com/?hl=bn" /><link rel="alternate" hreflang="zh-Hans"
          href="https://developers.google.com/?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant"
          href="https://developers.google.com/?hl=zh-tw" /><link rel="alternate" hreflang="fa"
          href="https://developers.google.com/?hl=fa" /><link rel="alternate" hreflang="fr"
          href="https://developers.google.com/?hl=fr" /><link rel="alternate" hreflang="de"
          href="https://developers.google.com/?hl=de" /><link rel="alternate" hreflang="he"
          href="https://developers.google.com/?hl=he" /><link rel="alternate" hreflang="hi"
          href="https://developers.google.com/?hl=hi" /><link rel="alternate" hreflang="id"
          href="https://developers.google.com/?hl=id" /><link rel="alternate" hreflang="it"
          href="https://developers.google.com/?hl=it" /><link rel="alternate" hreflang="ja"
          href="https://developers.google.com/?hl=ja" /><link rel="alternate" hreflang="ko"
          href="https://developers.google.com/?hl=ko" /><link rel="alternate" hreflang="pl"
          href="https://developers.google.com/?hl=pl" /><link rel="alternate" hreflang="pt-BR"
          href="https://developers.google.com/?hl=pt-br" /><link rel="alternate" hreflang="ru"
          href="https://developers.google.com/?hl=ru" /><link rel="alternate" hreflang="es-419"
          href="https://developers.google.com/?hl=es-419" /><link rel="alternate" hreflang="th"
          href="https://developers.google.com/?hl=th" /><link rel="alternate" hreflang="tr"
          href="https://developers.google.com/?hl=tr" /><link rel="alternate" hreflang="vi"
          href="https://developers.google.com/?hl=vi" /><title>Google for Developers | Build with Gemini</title>

<meta property="og:title" content="Google for Developers | Build with Gemini"><meta name="description" content="From AI and Cloud to Mobile and Web: Explore developer resources and community events to help you build with Gemini.">
  <meta property="og:description" content="From AI and Cloud to Mobile and Web: Explore developer resources and community events to help you build with Gemini."><meta property="og:url" content="https://developers.google.com/"><meta property="og:image" content="https://developers.google.com/static/site-assets/images/home/developers-landing-social-media.png">
  <meta property="og:image:width" content="1200">
  <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary"><meta name="twitter:image" content="https://developers.google.com/static/site-assets/images/home/developers-landing-social-media.png">
    <meta name="google-site-verification" content="u63GsPxC7nSL9_iKT6-jN0FpOze5tBvZ0yeeayDob7g">
    <meta name="google-site-verification" content="iJCE-BOgtXPO92q7BrDBkVqLAFDH68oOerAsMbtWumA"><script type="application/ld+json">
  {
    "@context": "http://schema.org/",
    "@type": "Organization",
    "name": "Google for Developers",
    "logo": "https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/images/touchicon-180-new.png",
    "url": "https://developers.google.com/"
  }
  </script>
  <script type="application/ld+json">
  {
    "@context": "http://schema.org",
    "@type": "WebSite",
    "name": "Google for Developers",
    "url": "https://developers.google.com/",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://developers.google.com/s/results?q={search_term_string}",
      "query-input": "required name=search_term_string"
    }
  }
  </script>
  
  
  
  
  
  
  
  
  
  
  
  
  
  <meta content="IE=Edge" http-equiv="X-UA-Compatible">
  <meta content="width=device-width, initial-scale=1.0, shrink-to-fit=no, height=device-height" name="viewport">
  
  <meta property="og:image" content="/edge/images/share.png">
  
  <link href="https://fonts.googleapis.com/css2?family=Google+Symbols:opsz,wght,FILL,GRAD,ROND@48,100..300,0..1,0,100&amp;display=swap" as="style" rel="preload">
  
  
  
  
<meta name="keywords" content="gemini api,google gemini,ai studio, google ai studio, gemini api python, gemini developers"><link href="https://fonts.googleapis.com/css2?family=Google+Symbols:opsz,wght,FILL,GRAD,ROND@48,100..300,0..1,0,100&amp;display=swap" rel="stylesheet" data-page-link><link href="https://fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap" rel="stylesheet" data-page-link><link href="https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght,MONO@0,300..800,1;1,300..800,1&family=Google+Sans+Flex:opsz,wght@6..144,1..1000&display=swap" rel="stylesheet" data-page-link>

    </head>
  <body class="google-developers-theme color-scheme--light"
        template="page"
        theme="white"
        type="marketing"
        
        
        
        layout="full"
        
        
        
        
        
          
            concierge='hide'
          
        
        
        pending>
  
    <devsite-progress type="indeterminate" id="app-progress"></devsite-progress>
  
  
    <a href="#main-content" class="skip-link button">
      
      Skip to main content
    </a>
    <section class="devsite-wrapper">
      <devsite-cookie-notification-bar></devsite-cookie-notification-bar>
        <devsite-header role="banner">
  
    





















<div class="devsite-header--inner" data-nosnippet>
  <div class="devsite-top-logo-row-wrapper-wrapper">
    <div class="devsite-top-logo-row-wrapper">
      <div class="devsite-top-logo-row">
        <button type="button" id="devsite-hamburger-menu"
          class="devsite-header-icon-button button-flat material-icons gc-analytics-event"
          data-category="Site-Wide Custom Events"
          data-label="Navigation menu button"
          visually-hidden
          aria-label="Open menu">
        </button>
        
<div class="devsite-product-name-wrapper">

  <a href="/" class="devsite-site-logo-link gc-analytics-event"
   data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav"
   track-name="googleForDevelopers" track-metadata-position="nav"
   track-metadata-eventDetail="nav">
  
  <picture>
    
    <img src="https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/images/lockup-new.svg" class="devsite-site-logo" alt="Google for Developers">
  </picture>
  
</a>



</div>
        <div class="devsite-top-logo-row-middle">
          <div class="devsite-header-upper-tabs">
            
              
              
  <devsite-tabs class="upper-tabs">

    <nav class="devsite-tabs-wrapper" aria-label="Upper tabs">
      
        
          <tab  >
            
    <a href="https://developers.google.com/community"
    class="devsite-tabs-content gc-analytics-event "
      track-metadata-eventdetail="https://developers.google.com/community"
    
       track-type="nav"
       track-metadata-position="nav - community/events"
       track-metadata-module="primary nav"
       
       
         
           data-category="Site-Wide Custom Events"
         
           data-label="Tab: Community/Events"
         
           track-name="community/events"
         
       >
    Community/Events
  
    </a>
    
  
          </tab>
        
      
        
          <tab  >
            
    <a href="https://developers.google.com/solutions/catalog"
    class="devsite-tabs-content gc-analytics-event "
      track-metadata-eventdetail="https://developers.google.com/solutions/catalog"
    
       track-type="nav"
       track-metadata-position="nav - learn"
       track-metadata-module="primary nav"
       
       
         
           data-category="Site-Wide Custom Events"
         
           data-label="Tab: Learn"
         
           track-name="learn"
         
       >
    Learn
  
    </a>
    
  
          </tab>
        
      
        
          <tab  >
            
    <a href="https://developers.googleblog.com/"
    class="devsite-tabs-content gc-analytics-event "
      track-metadata-eventdetail="https://developers.googleblog.com/"
    
       track-type="nav"
       track-metadata-position="nav - blog"
       track-metadata-module="primary nav"
       
       
         
           data-category="Site-Wide Custom Events"
         
           data-label="Tab: Blog"
         
           track-name="blog"
         
       >
    Blog
  
    </a>
    
  
          </tab>
        
      
        
          <tab  >
            
    <a href="https://www.youtube.com/user/GoogleDevelopers"
    class="devsite-tabs-content gc-analytics-event "
      track-metadata-eventdetail="https://www.youtube.com/user/GoogleDevelopers"
    
       track-type="nav"
       track-metadata-position="nav - youtube"
       track-metadata-module="primary nav"
       
       
         
           data-category="Site-Wide Custom Events"
         
           data-label="Tab: YouTube"
         
           track-name="youtube"
         
       >
    YouTube
  
    </a>
    
  
          </tab>
        
      
    </nav>

  </devsite-tabs>

            
           </div>
          
<devsite-search
    enable-signin
    enable-search
    enable-suggestions
      enable-query-completion
    
    enable-search-summaries
    project-name="Google for Developers"
    tenant-name="Google for Developers"
    
    
    
    
    
    >
  <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET">
    <div class="devsite-search-container">
      <button type="button"
              search-open
              class="devsite-search-button devsite-header-icon-button button-flat material-icons"
              
              aria-label="Open search"></button>
      <div class="devsite-searchbox">
        <input
          aria-activedescendant=""
          aria-autocomplete="list"
          
          aria-label="Search"
          aria-expanded="false"
          aria-haspopup="listbox"
          autocomplete="off"
          class="devsite-search-field devsite-search-query"
          name="q"
          
          placeholder="Search"
          role="combobox"
          type="text"
          value=""
          >
          <div class="devsite-search-image material-icons" aria-hidden="true">
            
              <svg class="devsite-search-ai-image" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
                  <g clip-path="url(#clip0_6641_386)">
                    <path d="M19.6 21L13.3 14.7C12.8 15.1 12.225 15.4167 11.575 15.65C10.925 15.8833 10.2333 16 9.5 16C7.68333 16 6.14167 15.375 4.875 14.125C3.625 12.8583 3 11.3167 3 9.5C3 7.68333 3.625 6.15 4.875 4.9C6.14167 3.63333 7.68333 3 9.5 3C10.0167 3 10.5167 3.05833 11 3.175C11.4833 3.275 11.9417 3.43333 12.375 3.65L10.825 5.2C10.6083 5.13333 10.3917 5.08333 10.175 5.05C9.95833 5.01667 9.73333 5 9.5 5C8.25 5 7.18333 5.44167 6.3 6.325C5.43333 7.19167 5 8.25 5 9.5C5 10.75 5.43333 11.8167 6.3 12.7C7.18333 13.5667 8.25 14 9.5 14C10.6667 14 11.6667 13.625 12.5 12.875C13.35 12.1083 13.8417 11.15 13.975 10H15.975C15.925 10.6333 15.7833 11.2333 15.55 11.8C15.3333 12.3667 15.05 12.8667 14.7 13.3L21 19.6L19.6 21ZM17.5 12C17.5 10.4667 16.9667 9.16667 15.9 8.1C14.8333 7.03333 13.5333 6.5 12 6.5C13.5333 6.5 14.8333 5.96667 15.9 4.9C16.9667 3.83333 17.5 2.53333 17.5 0.999999C17.5 2.53333 18.0333 3.83333 19.1 4.9C20.1667 5.96667 21.4667 6.5 23 6.5C21.4667 6.5 20.1667 7.03333 19.1 8.1C18.0333 9.16667 17.5 10.4667 17.5 12Z" fill="#5F6368"/>
                  </g>
                <defs>
                <clipPath id="clip0_6641_386">
                <rect width="24" height="24" fill="white"/>
                </clipPath>
                </defs>
              </svg>
            
          </div>
          <div class="devsite-search-shortcut-icon-container" aria-hidden="true">
            <kbd class="devsite-search-shortcut-icon">/</kbd>
          </div>
      </div>
    </div>
  </form>
  <button type="button"
          search-close
          class="devsite-search-button devsite-header-icon-button button-flat material-icons"
          
          aria-label="Close search"></button>
</devsite-search>

        </div>

        

          

          

          

          

          
<devsite-language-selector>
  <ul role="presentation">
    
    
    <li role="presentation">
      <a role="menuitem" lang="en"
        >English</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="de"
        >Deutsch</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="es"
        >Español</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="es_419"
        >Español – América Latina</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="fr"
        >Français</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="id"
        >Indonesia</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="it"
        >Italiano</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="pl"
        >Polski</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="pt_br"
        >Português – Brasil</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="vi"
        >Tiếng Việt</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="tr"
        >Türkçe</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="ru"
        >Русский</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="he"
        >עברית</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="ar"
        >العربيّة</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="fa"
        >فارسی</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="hi"
        >हिंदी</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="bn"
        >বাংলা</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="th"
        >ภาษาไทย</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="zh_cn"
        >中文 – 简体</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="zh_tw"
        >中文 – 繁體</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="ja"
        >日本語</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="ko"
        >한국어</a>
    </li>
    
  </ul>
</devsite-language-selector>


          

        

        
          <devsite-user 
                        
                        
                          enable-profiles
                        
                        
                          fp-auth
                        
                        id="devsite-user">
            
              
              <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span>
            
          </devsite-user>
        
        
        
      </div>
    </div>
  </div>



  <div class="devsite-collapsible-section
    
      devsite-header-no-lower-tabs
    ">
    <div class="devsite-header-background">
      
        
      
      
    </div>
  </div>

</div>



  
</devsite-header>
        <devsite-book-nav scrollbars hidden>
          
            





















<div class="devsite-book-nav-filter"
     hidden>
  <span class="filter-list-icon material-icons" aria-hidden="true"></span>
  <input type="text"
         placeholder="Filter"
         
         aria-label="Type to filter"
         role="searchbox">
  
  <span class="filter-clear-button hidden"
        data-title="Clear filter"
        aria-label="Clear filter"
        role="button"
        tabindex="0"></span>
</div>

<nav class="devsite-book-nav devsite-nav nocontent" data-nosnippet
     aria-label="Side menu">
  <div class="devsite-mobile-header">
    <button type="button"
            id="devsite-close-nav"
            class="devsite-header-icon-button button-flat material-icons gc-analytics-event"
            data-category="Site-Wide Custom Events"
            data-label="Close navigation"
            aria-label="Close navigation">
    </button>
    <div class="devsite-product-name-wrapper">

  <a href="/" class="devsite-site-logo-link gc-analytics-event"
   data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav"
   track-name="googleForDevelopers" track-metadata-position="nav"
   track-metadata-eventDetail="nav">
  
  <picture>
    
    <img src="https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/images/lockup-new.svg" class="devsite-site-logo" alt="Google for Developers">
  </picture>
  
</a>


</div>
  </div>

  <div class="devsite-book-nav-wrapper">
    <div class="devsite-mobile-nav-top">
      
        <ul class="devsite-nav-list">
          
            <li class="devsite-nav-item">
              
  
  <a href="/community"
    
       class="devsite-nav-title gc-analytics-event
              
              "
    

    
      
        data-category="Site-Wide Custom Events"
      
        data-label="Tab: Community/Events"
      
        track-name="community/events"
      
    
     data-category="Site-Wide Custom Events"
     data-label="Responsive Tab: Community/Events"
     track-type="globalNav"
     track-metadata-eventDetail="globalMenu"
     track-metadata-position="nav">
  
    <span class="devsite-nav-text" tooltip >
      Community/Events
   </span>
    
  
  </a>
  

  
              
            </li>
          
            <li class="devsite-nav-item">
              
  
  <a href="/solutions/catalog"
    
       class="devsite-nav-title gc-analytics-event
              
              "
    

    
      
        data-category="Site-Wide Custom Events"
      
        data-label="Tab: Learn"
      
        track-name="learn"
      
    
     data-category="Site-Wide Custom Events"
     data-label="Responsive Tab: Learn"
     track-type="globalNav"
     track-metadata-eventDetail="globalMenu"
     track-metadata-position="nav">
  
    <span class="devsite-nav-text" tooltip >
      Learn
   </span>
    
  
  </a>
  

  
              
            </li>
          
            <li class="devsite-nav-item">
              
  
  <a href="https://developers.googleblog.com/"
    
       class="devsite-nav-title gc-analytics-event
              
              "
    

    
      
        data-category="Site-Wide Custom Events"
      
        data-label="Tab: Blog"
      
        track-name="blog"
      
    
     data-category="Site-Wide Custom Events"
     data-label="Responsive Tab: Blog"
     track-type="globalNav"
     track-metadata-eventDetail="globalMenu"
     track-metadata-position="nav">
  
    <span class="devsite-nav-text" tooltip >
      Blog
   </span>
    
  
  </a>
  

  
              
            </li>
          
            <li class="devsite-nav-item">
              
  
  <a href="https://www.youtube.com/user/GoogleDevelopers"
    
       class="devsite-nav-title gc-analytics-event
              
              "
    

    
      
        data-category="Site-Wide Custom Events"
      
        data-label="Tab: YouTube"
      
        track-name="youtube"
      
    
     data-category="Site-Wide Custom Events"
     data-label="Responsive Tab: YouTube"
     track-type="globalNav"
     track-metadata-eventDetail="globalMenu"
     track-metadata-position="nav">
  
    <span class="devsite-nav-text" tooltip >
      YouTube
   </span>
    
  
  </a>
  

  
              
            </li>
          
          
          
        </ul>
      
    </div>
    
  </div>
</nav>
          
        </devsite-book-nav>
      
      <section id="gc-wrapper">
        <main role="main" id="main-content" class="devsite-main-content"
            
              
              
            >
          <div class="devsite-sidebar">
            <div class="devsite-sidebar-content">
                
                <devsite-toc class="devsite-nav"
                            role="navigation"
                            aria-label="On this page"
                            depth="2"
                            scrollbars
                            data-nosnippet
                  disabled></devsite-toc>
                <devsite-recommendations-sidebar class="nocontent devsite-nav" data-nosnippet>
                </devsite-recommendations-sidebar>
            </div>
          </div>
          <devsite-content>
            
              










<article class="devsite-article"><style>
      /* Styles inlined from /site-assets/styles/developers-theme.css */
.google-developers-theme[layout=full] {
  /* Override */
  --devsite-main-content-padding: 40px 24px;

  /* Font / Paragraph Spacing Variables (Mobile/Default) */
  --gfd-font-size-xs: 10px;
  --gfd-font-size-sm: 14.5px;
  --gfd-font-size-base: 14.5px;
  --gfd-font-size-md: 18px;
  --gfd-font-size-lg: 20px;
  --gfd-font-size-xl: 22px;
  --gfd-font-size-2xl: 24px;
  --gfd-font-size-3xl: 24px;
  --gfd-font-size-4xl: 28px;
  --gfd-font-size-5xl: 30px;
  --gfd-font-size-6xl: 32px;
  --gfd-font-size-7xl: 34px;
  --gfd-font-size-8xl: 36px;
  --gfd-font-size-9xl: 38px;

  --gfd-font-size-code-snippet: 12px;
  --gfd-font-size-stats: 38px;
  --gfd-font-size-google-sans-code: 13px;

  /* Font Family Variables */
  --gfd-font-family-mono: 'Google Sans Code', monospace;
  --gfd-font-family-code: 'Google Sans Code', monospace;
  --gfd-font-family-icon: 'Google Symbols';
  --gfd-font-family-text: 'Google Sans Flex', sans-serif;

  /* Font / Line Height Variables (Mobile/Default) */
  --gfd-line-height-xs: 14.5px;
  --gfd-line-height-sm: 21.02px;
  --gfd-line-height-base: 25.38px;
  --gfd-line-height-md: 23.4px;
  --gfd-line-height-lg: 22.8px;
  --gfd-line-height-xl: 24.64px;
  --gfd-line-height-2xl: 25.92px;
  --gfd-line-height-3xl: 28.08px;
  --gfd-line-height-4xl: 29.68px;
  --gfd-line-height-5xl: 31.8px;
  --gfd-line-height-6xl: 33.92px;
  --gfd-line-height-7xl: 36.04px;
  --gfd-line-height-8xl: 38.16px;
  --gfd-line-height-9xl: 40.28px;

  /* Font Weight Variables */
  --gfd-font-weight-100: 100;
  --gfd-font-weight-200: 200;
  --gfd-font-weight-300: 300;
  --gfd-font-weight-350: 350;
  --gfd-font-weight-400: 400;
  --gfd-font-weight-450: 450;
  --gfd-font-weight-500: 500;
  --gfd-font-weight-600: 600;
  --gfd-font-weight-700: 700;
  --gfd-font-weight-800: 800;
  --gfd-font-weight-900: 900;
  --gfd-font-weight-1000: 1000;

  --blue-500: #3186ff;
  --gfd-palette-blue-20: #dcf1ff;
  --gfd-palette-blue-500: #3186ff;
  --gfd-palette-blue-300: #4fa0ff;
  --gfd-palette-red-100: #ffacc2;
  --green-400: #0ebc5f;
  --gfd-palette-black: #000;

  /* Grey Palette */
  --gfd-grey-0: #ffffff;
  --gfd-grey-10: #f8f9fc;
  --gfd-grey-20: #eff2f7;
  --gfd-grey-50: #e6eaf0;
  --gfd-grey-100: #e1e6ec;
  --gfd-grey-200: #cdd4dc;
  --gfd-grey-300: #b2bbc5;
  --gfd-grey-800: #45474D;
  --gfd-grey-900: #2F3034;
  --gfd-grey-1000: #212226;
  --gfd-grey-1100: #18191D;
  --gfd-grey-1200: #121317;

  /* Opacity variants for grey-1000 */
  --gfd-grey-1000-rgb: 33, 34, 38; /* #212226 */
  --gfd-grey-1000-20: rgba(var(--gfd-grey-1000-rgb), 0.2);
  --gfd-grey-1000-16: rgba(var(--gfd-grey-1000-rgb), 0.16);
  --gfd-grey-1000-12: rgba(var(--gfd-grey-1000-rgb), 0.12);
  --gfd-grey-1000-8: rgba(var(--gfd-grey-1000-rgb), 0.08);
  --gfd-grey-1000-6: rgba(var(--gfd-grey-1000-rgb), 0.06);
  --gfd-grey-1000-4: rgba(var(--gfd-grey-1000-rgb), 0.04);
  --gfd-grey-1000-2: rgba(var(--gfd-grey-1000-rgb), 0.02);
  --gfd-grey-1000-0: rgba(var(--gfd-grey-1000-rgb), 0);

  /* Opacity variants for grey-50 */
  --gfd-grey-50-rgb: 230, 234, 240; /* #e6eaf0 */
  --gfd-grey-50-20: rgba(var(--gfd-grey-50-rgb), 0.2);
  --gfd-grey-50-16: rgba(var(--gfd-grey-50-rgb), 0.16);
  --gfd-grey-50-12: rgba(var(--gfd-grey-50-rgb), 0.12);
  --gfd-grey-50-8: rgba(var(--gfd-grey-50-rgb), 0.08);
  --gfd-grey-50-6: rgba(var(--gfd-grey-50-rgb), 0.06);
  --gfd-grey-50-4: rgba(var(--gfd-grey-50-rgb), 0.04);
  --gfd-grey-50-2: rgba(var(--gfd-grey-50-rgb), 0.02);
  --gfd-grey-50-0: rgba(var(--gfd-grey-50-rgb), 0);

  /* Semantic Colors */
  --gfd-theme-surface: var(--gfd-grey-0);
  --gfd-theme-on-surface: var(--gfd-grey-1200);
  --gfd-theme-on-surface-variant: var(--gfd-grey-800);
  --gfd-theme-surface-container: var(--gfd-grey-10);
  --gfd-theme-surface-container-high: var(--gfd-grey-20);
  --gfd-theme-surface-container-higher: var(--gfd-grey-50);
  --gfd-theme-surface-container-highest: var(--gfd-grey-100);

  --gfd-theme-inverse-on-surface: var(--gfd-grey-10);
  --gfd-theme-inverse-on-surface-variant: var(--gfd-grey-300);
  --gfd-theme-inverse-surface: var(--gfd-grey-1200);

  --gfd-theme-outline: var(--gfd-grey-1000-12);
  --gfd-theme-outline-variant: var(--gfd-grey-1000-6);
  --gfd-theme-inverse-outline: var(--gfd-grey-50-12);
  --gfd-theme-inverse-outline-variant: var(--gfd-grey-50-6);

  /* Surface Overlays */
  --gfd-theme-surface-overlay-highest: rgba(255, 255, 255, 0.95);
  --gfd-theme-surface-overlay-higher: rgba(255, 255, 255, 0.72);
  --gfd-theme-surface-overlay-high: rgba(255, 255, 255, 0.24);
  --gfd-theme-surface-overlay: rgba(255, 255, 255, 0.01);
  --gfd-theme-surface-transparent: rgba(255, 255, 255, 0);

  /* Inverse Surface Overlays */
  --gfd-grey-1200-rgb: 18, 19, 23;
  --gfd-theme-inverse-surface-overlay-highest: rgba(var(--gfd-grey-1200-rgb), 0.95);
  --gfd-theme-inverse-surface-overlay-higher: rgba(var(--gfd-grey-1200-rgb), 0.72);
  --gfd-theme-inverse-surface-overlay-high: rgba(var(--gfd-grey-1200-rgb), 0.24);
  --gfd-theme-inverse-surface-overlay: rgba(var(--gfd-grey-1200-rgb), 0.01);

  /* General variables */
  --gfd-font-primary: var(--gfd-font-family-text);
  --gfd-text-color: var(--gfd-grey-1200);
}

@media (min-width: 1024px) {
  .google-developers-theme[layout=full] {
    /* Font / Paragraph Spacing Variables (Desktop) */
    --gfd-font-size-base: 17.5px;
    --gfd-font-size-md: 20px;
    --gfd-font-size-lg: 22px;
    --gfd-font-size-xl: 24px;
    --gfd-font-size-2xl: 28px;
    --gfd-font-size-3xl: 32px;
    --gfd-font-size-4xl: 42px;
    --gfd-font-size-5xl: 54px;
    --gfd-font-size-6xl: 72px;
    --gfd-font-size-code-snippet: 13px;
    --gfd-font-size-7xl: 98px;
    --gfd-font-size-8xl: 124px;
    --gfd-font-size-9xl: 148px;

    /* Font / Line Height Variables (Desktop) */
    --gfd-line-height-md: 26px;
    --gfd-line-height-lg: 24.64px;
    --gfd-line-height-xl: 25.92px;
    --gfd-line-height-2xl: 30.24px;
    --gfd-line-height-3xl: 33.92px;
    --gfd-line-height-4xl: 43.68px;
    --gfd-line-height-5xl: 56.16px;
    --gfd-line-height-6xl: 72px;
    --gfd-line-height-7xl: 96.04px;
    --gfd-line-height-8xl: 121.52px;
    --gfd-line-height-9xl: 145.04px;
  }
}

/* Common style */
.google-developers-theme[layout=full] .devsite-article-body {
  margin-top: 0;
}

.google-developers-theme[layout=full] {
  --devsite-main-content-padding: 0 24px 88px;
  color: var(--gfd-text-color);
  font-family: var(--gfd-font-family-text);
}

.google-developers-theme[layout=full] .devsite-developers-accordion-module-title, 
.google-developers-theme[layout=full] h1, 
.google-developers-theme[layout=full] h2, 
.google-developers-theme[layout=full] h3, 
.google-developers-theme[layout=full] h4, 
.google-developers-theme[layout=full] p {
  margin-top: 0;
}

.google-developers-theme .material-symbols-outlined {
  font-family: 'Google Symbols';
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 48, "ROND" 100;
}
  
/* Typography */
.developers-heading-2 {
  font-family: var(--gfd-font-family-text);
  font-size: var(--gfd-font-size-6xl);
  line-height: var(--gfd-line-height-6xl);
  letter-spacing: -1.44px;
}

.developers-heading-4 {
  font-family: var(--gfd-font-family-text);
  font-size: var(--gfd-font-size-4xl);
  line-height: var(--gfd-line-height-4xl);
  font-weight: var(--gfd-font-weight-450);
  letter-spacing: -0.84px;
}

.developers-heading-6 {
  font-family: var(--gfd-font-family-text);
  font-size: var(--gfd-font-size-2xl);
  line-height: var(--gfd-line-height-2xl);
  font-weight: var(--gfd-font-weight-450);
}

.developers-text-body {
  font-size: var(--gfd-font-size-base);
  line-height: var(--gfd-line-height-base);
  letter-spacing: 0.19px;
}

.developers-text-label {
  font-family: var(--gfd-font-family-code);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.22px;
  line-height: 21px;
}

.developers-components-wrapper {
  display: flex;
  flex-direction: column;
  gap: 88px;
}

/* Grid */
.developers-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 1024px) {
  .google-developers-theme[layout=full] {
    --devsite-main-content-padding: 0 24px 120px;
  }

  .developers-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .developers-components-wrapper {
    gap: 120px;
  }
}

.blue-square-icon-before {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.blue-square-icon-before::before {
  content: '';
  width: 5px;
  height: 6px;
  background-color: var(--gfd-palette-blue-500);
  display: inline-block;
}

/* Buttons */
.developers-btn-blue {
  background-color: var(--gfd-palette-blue-500);
  color: #fff;
  padding: 12px 14px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: var(--gfd-font-weight-450);
  font-size: var(--gfd-font-size-sm);
  line-height: var(--gfd-line-height-sm);
  white-space: nowrap;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease-out;
}

.developers-btn-blue:hover,
.developers-btn-blue:focus {
  background-color: var(--gfd-palette-blue-300);
  text-decoration: none;
}

/* Banner overrides */
.google-developers-theme .devsite-banner-announcement {
  font-family: var(--gfd-font-primary);
}

/* Header */
.google-developers-theme devsite-header {
  --devsite-header-border: none;
  --devsite-header-lower-box-shadow: none;
  --devsite-logo-height: 26px;
  --devsite-upper-tab-margin-x: 16px;
}

devsite-header .devsite-top-logo-row {
  height: 64px;
}

.google-developers-theme devsite-header devsite-tabs.upper-tabs tab a  {
  --devsite-link-font: 400 13px / 21px var(--gfd-font-family-code);
  text-transform: uppercase;
  --devsite-link-padding: 0 14px;
  color: var(--gfd-grey-1200);
  --devsite-upper-tab-marker-color-inactive: transparent;
  --devsite-upper-tab-marker-color: transparent;
  --devsite-upper-tab-font-weight: 400;
}

.google-developers-theme devsite-header devsite-tabs.upper-tabs tab a:hover,
.google-developers-theme devsite-header devsite-tabs.upper-tabs > .devsite-tabs-wrapper > tab.devsite-active > a {
  text-decoration: underline;
  --devsite-upper-tab-active: var(--gfd-text-color);
  font-weight: 400;
}

.google-developers-theme devsite-header devsite-search {
  --devsite-search-height: 36px;
  --devsite-search-image-top: 3px;
  --devsite-search-field-padding-x-start: 36px;
}

.google-developers-theme devsite-header devsite-search input.devsite-search-field {
  height: 36px;
  --devsite-search-field-height: 36px;
  border-radius: 4px;
  --devsite-search-field-border-radius: 4px;
  font: 400 13px / 21px var(--gfd-font-family-code);
  text-transform: uppercase;
  background: var(--gfd-grey-20);
  --devsite-search-field-background: var(--gfd-grey-20);
  --devsite-searchbox-placeholder: var(--gfd-grey-1200);
}

.google-developers-theme devsite-header devsite-search .devsite-search-image svg {
  inline-size: 18px;
}

.google-developers-theme devsite-header devsite-search .devsite-search-image svg path{
  fill: var(--gfd-grey-1200);
}

.google-developers-theme devsite-search .devsite-search-shortcut-icon-container {
  --devsite-search-image-top: 6px;
}

.google-developers-theme devsite-header devsite-search  .devsite-search-shortcut-icon {
  background: var(--gfd-grey-0);
  border-radius: 2px;
  color: var(--gfd-grey-1200);
  font: 500 14px / 21px var(--gfd-font-family-code);
  height: 24px;
}

.google-developers-theme devsite-header devsite-language-selector {
  --devsite-item-background-selected: #e8f0fe;
  --devsite-item-font-weight-selected: 400;
  --devsite-list-border: 0;
  --devsite-list-border-radius: 4px;
  --devsite-select-border: 1px solid var(--gfd-grey-20);
  --devsite-select-border-radius: 4px;
  --devsite-select-font: 400 13px / 21px var(--gfd-font-family-text);
  --devsite-language-selector-icon-size: 18px;
  --devsite-select-color: var(--gfd-grey-1200);
  --devsite-secondary-text-color: var(--gfd-grey-1200);
}

.google-developers-theme devsite-header devsite-language-selector .icon-language {
  color: var(--gfd-grey-1200);
}

.google-developers-theme devsite-user .devsite-devprofile-wrapper .devsite-devprofile-popout {
  font-family: var(--gfd-font-family-text);
}

.google-developers-theme devsite-user .devsite-devprofile-wrapper .devsite-devprofile-button  {
  --devsite-button-border-radius: 4px;
  --devsite-primary-border: 1px solid var(--gfd-grey-20);
  --devsite-header-icon-color: var(--gfd-grey-1200);
}

/* Mobile Navigation */
.google-developers-theme devsite-book-nav {
  --devsite-logo-height: 24px;
}

.google-developers-theme devsite-book-nav .devsite-mobile-nav-top > .devsite-nav-list > .devsite-nav-item > .devsite-nav-title {
  --devsite-nav-item-line-height: 21px;
  --devsite-nav-font-size: 13px;
  font-family: var(--gfd-font-family-code);
  font-weight: 400;
  text-transform: uppercase;
  padding-block: 24px;
  color: var(--gfd-text-color);
}

/* Footer */
.google-developers-theme devsite-footer-linkboxes {
  --devsite-footer-background: var(--gfd-palette-black);
  --devsite-footer-link-color: var(--gfd-grey-0);
  --devsite-footer-secondary-text-color: var(--gfd-grey-0);
  --devsite-footer-accent-color: var(--gfd-grey-0);
  --devsite-footer-heading-font: 400 13px / 21px var(--gfd-font-family-code);
  --devsite-footer-heading-margin: 0 0 18px;
  --devsite-footer-link-hover: var(--gfd-grey-0);
  --devsite-link-text-decoration-hover: underline;
}

.google-developers-theme devsite-footer-linkboxes .devsite-footer-linkboxes-list {
  border-bottom: 1px solid var(--gfd-theme-inverse-outline);
  row-gap: 40px;
  grid-template-columns: repeat(12, 1fr);
  list-style: none;
  padding: 32px 0 48px;
}

.google-developers-theme devsite-footer-linkboxes .devsite-footer-linkbox-heading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--gfd-grey-0);
  text-transform: uppercase;
}

.google-developers-theme devsite-footer-linkboxes .devsite-footer-linkbox-heading::before {
  content: '';
  width: 5px;
  height: 6px;
  background-color: var(--gfd-palette-blue-500);
  display: inline-block;
}

.google-developers-theme devsite-footer-linkboxes .devsite-footer-linkboxes-list > * {
  grid-column: 1 / -1;
}

@media screen and (min-width: 1024px) {
  .google-developers-theme devsite-footer-linkboxes .devsite-footer-linkboxes-list {
    grid-gap: 14px;
    padding: 32px 0;
  }
  .google-developers-theme devsite-footer-linkboxes .devsite-footer-linkboxes-list > * {
    grid-column: span 3;
  }
}

.google-developers-theme devsite-footer-linkboxes .devsite-footer-linkbox-link {
  font: 400 14.5px / 21px var(--gfd-font-family-text);
  letter-spacing: 0.16px;
  padding: 2.5px 0;
}

.google-developers-theme devsite-footer-utility {
 --devsite-footer-background: var(--gfd-palette-black);
 --devsite-footer-color: var(--gfd-palette-black);
 --devsite-footer-link-color: var(--gfd-grey-0);
}

.google-developers-theme devsite-footer-utility .devsite-footer-sites {
  display: none;
}

.google-developers-theme devsite-footer-utility devsite-language-selector {
  --devsite-item-background-selected: #e8f0fe;
  --devsite-item-font-weight-selected: 400;
  --devsite-list-border: 0;
  --devsite-list-border-radius: 4px;
  --devsite-select-border: 1px solid var(--gfd-grey-20);
  --devsite-select-border-radius: 4px;
  --devsite-select-font: 400 13px / 21px var(--gfd-font-family-text);
  --devsite-language-selector-icon-size: 18px;
  --devsite-select-color: var(--gfd-grey-1200);
  --devsite-secondary-text-color: var(--gfd-grey-1200);
}

.google-developers-theme devsite-footer-utility devsite-language-selector .icon-language {
  color: var(--gfd-grey-1200);
}


/* Accordion */

.devsite-developers-accordion-module-title {
  margin-block-end: 36px;
}

.devsite-developers-accordion-module-title h2 {
  margin: 0;
}

.devsite-developers-accordion-items {
  border-top: 1px solid var(--gfd-theme-outline);
}

devsite-developers-accordion .devsite-developers-accordion-item {
  border-bottom: 1px solid var(--gfd-theme-outline);
}

devsite-developers-accordion .devsite-developers-accordion-header {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  align-items: center;
  gap: 20px;
  cursor: pointer;
  background: none;
  border: none;
  text-align: left;
  width: 100%;
  padding: 0;
  font: inherit;
  padding-block: 24px;
  --devsite-button-height: auto;
  --devsite-button-box-shadow-active: none;
}

devsite-developers-accordion .devsite-developers-accordion-header:hover {
  --developers-accordion-icon-background: var(--gfd-theme-surface-container-higher);
}

devsite-developers-accordion .devsite-developers-accordion-label-area {
  display: flex;
  align-items: center;
  gap: 8px;
  grid-column: 1 / span 2;
  grid-row: 1 / 1;
}

devsite-developers-accordion .devsite-developers-accordion-title-area {
  grid-column: 3 / span 5;
  grid-row: 1 / 1;
  padding-inline-end: 24px;
}

devsite-developers-accordion .devsite-developers-accordion-icon-area {
  grid-column: 7 / span 1;
  grid-row: 1 / 1;
  display: flex;
  justify-content: flex-end;
}

devsite-developers-accordion .devsite-developers-accordion-icon {
  width: 32px;
  height: 32px;
  background: var(--developers-accordion-icon-background, var(--gfd-theme-surface-container-high));
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--gfd-grey-1200);
  transition: background 0.3s ease;
}

devsite-developers-accordion .devsite-developers-accordion-icon span:nth-child(2) {
  display: none;
}

devsite-developers-accordion .devsite-developers-accordion-item.active .devsite-developers-accordion-icon span:nth-child(2) {
  display: inline-block;
}

devsite-developers-accordion .devsite-developers-accordion-item.active .devsite-developers-accordion-icon span:nth-child(1) {
  display: none;
}

devsite-developers-accordion .devsite-developers-accordion-dot {
  width: 5px;
  height: 6px;
  background-color: var(--gfd-palette-blue-500);
  display: inline-block;
  flex-shrink: 0;
}

devsite-developers-accordion .devsite-developers-accordion-label {
  font-family: var(--gfd-font-family-code);
  font-size: 13px;
  letter-spacing: 0.16px;
  color: var(--gfd-grey-1200);
  text-transform: uppercase;
}

devsite-developers-accordion .devsite-developers-accordion-title {
  color: var(--gfd-grey-1200);
  white-space: break-spaces;
}

devsite-developers-accordion .devsite-developers-accordion-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
  overflow: hidden;
  position: relative;
  top: -24px;
}

devsite-developers-accordion .devsite-developers-accordion-body.active {
  grid-template-rows: 1fr;
}

devsite-developers-accordion .devsite-developers-accordion-body-inner {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 20px;
}

devsite-developers-accordion .accordion-content-wrapper {
  grid-column: 3 / span 5;
  padding-block: 4px;
}

devsite-developers-accordion .devsite-developers-accordion-description {
  color: var(--gfd-grey-800);
  margin-block: 0 24px;
  max-inline-size: 340px;
}

devsite-developers-accordion .devsite-developers-accordion-link {
  color: var(--gfd-palette-blue-500);
  font-family: var(--gfd-font-family-code);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  line-height: 21px;
  letter-spacing: 0.16px;
  text-transform: uppercase;
}

devsite-developers-accordion .devsite-developers-accordion-link span:first-child {
  text-decoration: underline;
}

devsite-developers-accordion .accordion-footer {
  margin-block-start: 48px;
}

devsite-developers-accordion .devsite-developers-accordion-image-container {
  position: sticky;
  top: 72px;
  height: fit-content;
}

devsite-developers-accordion .devsite-developers-accordion-image-stack {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}

devsite-developers-accordion .devsite-developers-accordion-image-stack img {
  grid-area: 1 / 1 / 2 / 2;
  width: 100%;
  height: auto;
  opacity: 0;
  border-radius: 12px;
}

/* Show correct image based on active accordion item */
devsite-developers-accordion .devsite-developers-accordion-image-stack img.active {
  opacity: 1;
  z-index: 1;
}

devsite-developers-accordion .devsite-developers-accordion-body-image {
  display: block;
  margin-top: 36px;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

/* Accordion Grid Layout */
@media (min-width: 1024px) {
  devsite-developers-accordion .devsite-developers-accordion-items {
    grid-column: span 7;
  }

  devsite-developers-accordion .devsite-developers-accordion-image-col {
    grid-column: 9 / span 4;
  }

   devsite-developers-accordion .devsite-developers-accordion-body-image {
    display: none;
  }
}

@media (max-width: 1023px) {
  devsite-developers-accordion .devsite-developers-accordion-image-col {
    display: none;
  }

  devsite-developers-accordion .devsite-developers-accordion-items {
    grid-column: 1 / -1;
  }

  devsite-developers-accordion .devsite-developers-accordion-title-area {
    grid-column: 1 / -1;
    grid-row: 2 / 2;
  }

  devsite-developers-accordion .accordion-content-wrapper {
    grid-column: 1 / -1;
  }
}

.products .dgc-may-hero {
  background: center / cover no-repeat url(/products/images/products-may-hero.png), #f1f3f4;
  padding: 100px 0;
}

.products #developer-products {
  color: #000;
  text-align: center;
  font-size: 72px;
  font-style: normal;
  font-weight: 450;
  line-height: 72px;
  letter-spacing: -1.44px;
}

.products #developer-products-description {
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 25px;
  text-align: center;
}

.dgc-logo-garden.dgc-ecosystem-logo-garden h2
{
  font: 700 48px 'Google Sans';
}

.dgc-logo-garden .devsite-landing-row-item-custom-image-icon {
  max-height: 64px;
  width: 64px;
}

.dgc-logo-garden-cta {
  padding-bottom: 0;
}

.dgc-logo-garden-cta > div > div {
  margin-block: -24px 64px;
}

.dgc-logo-garden-cta {
  margin-top: 0 !important;
}

.dgc-ecosystem-logo-garden + .dgc-logo-garden-cta {
  padding-top: 0;
}

.dgc-ecosystem-logo-garden .devsite-landing-row-item:not(
  .dgc-logo-garden-card) {
  background: var(--tenant-background-1);
  border: var(--tenant-primary-border);
  border-radius: 10px;
}

.dgc-ecosystem-logo-garden .devsite-landing-row-item:not(
  .dgc-logo-garden-card) > a {
  margin-bottom: auto;
}

.dgc-logo-garden-card {
  padding: 8px 32px 25px;
}

.dgc-logo-garden-card p:first-of-type {
  font-size: 18px;
  font-weight: 700;
}

.dgc-logo-garden-card.dgc-social-card {
  padding: unset;
}

.dgc-logo-garden-card.dgc-social-card figure {
  height: 80px;
  justify-content: flex-start;
  padding: 16px;

}

.dgc-logo-garden-card.dgc-social-card p:first-of-type {
  font: 400 20px 'Roboto';
}

@media screen and (max-width: 960px) {
  .dgc-logo-garden-cta > div > div {
    margin-bottom: 16px;
    padding-bottom: 16px;
  }
}

@media screen and (max-width: 900px) {
  .dgc-logo-garden .dgc-logo-garden-card {
    display: inline-block;
    width: 100%;
  }
}

@media screen and (max-width: 850px) {
  .dgc-logo-garden.dgc-ecosystem-logo-garden h2 {
    font: 700 32px/36px 'Google Sans';
    margin-bottom: -16px;
  }
}

@media screen and (max-width: 840px) {
  .dgc-ecosystem-logo-garden + .dgc-logo-garden-cta {
    padding-top: 32px;
  }
}

@media screen and (max-width: 600px) {
  .dgc-logo-garden-cta {
    margin-top: 0 !important;
  }
}

.solutions-homepage-header {
  --solutions-homepage-header-font: 700 110px/110px 'Google Sans';
}

.solutions-bard-footer {
  --solutions-bard-footer-font: 700 56px/132% 'Google Sans';
  --solutions-bard-footer-max-width: 640px;
  --solutions-bard-footer-padding: 48px 36px 24px;
}

@media screen and (max-width: 1440px) {
  .solutions-homepage-header {
    --solutions-homepage-header-font: 700 7vw/7vw 'Google Sans';
  }
}

@media screen and (max-width: 600px) {
  .solutions-homepage-header {
    --solutions-homepage-header-font: 700 60px/60px 'Google Sans';
    text-align: center;
  }

  .solutions-homepage-header .devsite-landing-row-item-description {
    margin: 32px 0 0 !important; /* Forces margin over devsite default */
  }

  .solutions-bard-footer {
    --solutions-bard-footer-font: 700 32px/132% 'Google Sans';
    --solutions-bard-footer-max-width: 340px;
    --solutions-bard-footer-padding: 4vw 3vw 2vw;
  }  
}

.solutions-homepage-header > div > div {
  border-bottom: 1px solid black;
  padding-bottom: 36px;
}

.solutions-homepage-header h3 {
  font: var(--solutions-homepage-header-font);
}

.solutions-homepage-header {
  margin-bottom: 8px;
}

.devsite-landing-row-header-text h2 {
  font: 700 56px/93% 'Google Sans';
}

.dgc-solutions .description {
  font: 400 24px/133% 'Google Sans';
}

.dgc-solutions figure {
  background: white !important; /* Forces background to be white */
}

.black-link a, .solutions-directory h3 {
  color: #202124;
  font-weight: 700;
}

.featured-icons {
  gap: 16px;
  padding: 24px 0;
}

devsite-pagination {
  margin-block: 48px 24px;
}

.devsite-card-icon[alt="Android"]:not(:nth-of-type(1)) {
  display: none; /* To prevent duplicate icons within catalog from showing */
}

.devsite-card-icon[alt="Firebase"]:not(:nth-last-of-type(2)) {
  display: none; /* To prevent duplicate icons within catalog from showing */
}

.solutions-directory .devsite-card-section {
  flex-direction: column;
}

.solutions-directory .devsite-card-icons {
  gap: 16px;
  margin-left: 16px;
}

.solutions-directory .devsite-card-buttons {
  margin-right: auto;
}

.solutions-bard-footer > div > div {
  max-width: var(--solutions-bard-footer-max-width);
  padding: var(--solutions-bard-footer-padding);
}

/* [1] - Forces font over devsite defaults */
.solutions-bard-footer h3 {
  font: var(--solutions-bard-footer-font) !important; /* [1] */
}

.solutions-bard-footer .first {
  color: #202124;
}

.solutions-bard-footer .second {
  color: #bdc1c6;
}

.solutions-catalog-hero {
  background: center / cover no-repeat url(/solutions/images/dev-solutions-hero.png), #f1f3f4;
  padding: 100px 0;
  margin-bottom: 20px;
}

#developer-solutions {
  color: #fff;
  text-align: center;
  font-size: 72px;
  font-style: normal;
  font-weight: 450;
  line-height: 72px;
  letter-spacing: -1.44px;
}

#developer-solutions-description {
  color: #fff;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 25px;
  text-align: center;
}
      </style><style>
      /* Styles inlined from /site-assets/styles/landing-redesign.css */
/* Hero Section */
.developers-hero-section {
  text-align: center;
  padding: 48px 24px 72px;
  background-color: var(--gfd-grey-0);
}

.developers-hero-container {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.eyebrow {
  color: var(--gfd-palette-blue-500);
  background: var(--gfd-palette-blue-20);
  padding: 2px 12px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-transform: uppercase;
  margin-block-end: 48px;
  transition: background-color 0.3s ease-in-out;
}

.eyebrow:hover {
  background-color: #f4faff;
}

.eyebrow .material-symbols-outlined {
  font-size: inherit;
}

h1.developers-hero-title {
  color: var(--gfd-grey-1200);
  margin: 0;
  display: flex;
  align-items: center;
  margin-block-end: 24px;
}

.gemini-spark {
  display: inline-block;
  width: 26px;
  height: 26px;
  background-image: url('https://www.gstatic.com/images/branding/productlogos/gemini_2025/v1/192px.svg');
  background-size: contain;
  background-repeat: no-repeat;
}

p.developers-hero-subtitle {
  color: var(--gfd-grey-800);
  margin: 0;
  max-width: 693px;
  margin-block-start: 24px;
}

@media screen and (min-width: 1024px) {
  .developers-hero-section {
    padding-block: 64px;
  }

  .gemini-spark {
    width: 58px;
    height: 58px;
  }

  .eyebrow {
    margin-block-end: 60px;
  }

  p.developers-hero-subtitle {
    margin-block-start: 30px;
  }
}

/*  Explore Cards Module */
.developers-explore-card {
  grid-column: span 4;
  height: 440px;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  padding-inline: 20px;
}

.developers-explore-card .card-tag {
  position: absolute;
  inset-inline-start: 20px;
  inset-block-start: 20px;
  line-height: 0;
}

.developers-explore-card .card-tag img {
  block-size: 15px;
}

.card-center-box {
  background-color: var(--gfd-grey-0);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  max-inline-size: 370px;
  inline-size: 100%;
  overflow: hidden;
}

.card-center-box-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 8px 8px 20px;
  width: 100%;
  box-sizing: border-box;
}

.card-center-box-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}

.developers-explore-card:hover .card-center-box-body {
  grid-template-rows: 1fr;
}

.developers-explore-card:hover .card-center-box .arrow-btn {
  background: var(--gfd-palette-blue-300);
} 

.developers-explore-card .card-center-box-body > div {
  min-height: 0;
}

.developers-explore-card .card-center-box-body .body-inner {
  padding: 16px 20px 24px 20px;
}

.developers-explore-card .body-text {
  margin: 0;
  font-size: var(--gfd-font-size-sm);
  line-height: var(--gfd-line-height-sm);
  color: #5f6368;
}

.developers-explore-card .card-center-box .icon {
  font-size: 20px;
}

.developers-explore-card .card-center-box .title {
  font-family: var(--gfd-font-family-code);
  font-size: 14px;
  line-height: 19px;
  letter-spacing: 0.23px;
  text-transform: uppercase;
}

.developers-explore-card .card-center-box .arrow-btn {
  background-color: #4285f4;
  color: var(--gfd-grey-0);
  border: none;
  border-radius: 4px;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  margin-inline-start: auto;
  font-size: 17.5px;
  flex-shrink: 0;
}

@media (min-width: 1024px) {
  .developers-explore-card {
    height: 560px;
  }
  .developers-explore-card.span-4 {
    grid-column: span 4;
  }
  .developers-explore-card.span-8 {
    grid-column: span 8;
  }

  .developers-explore-card .card-center-box .arrow-btn {
    width: 56px;
    height: 56px;
  }
}

/*  Modal */
.developers-modal-content {
  display: flex;
  flex-direction: column;
}

.developers-modal-content .modal-media-wrapper {
  color: var(--gfd-grey-0);
  display: flex;
  flex-direction: column;
  padding: 8px;
  position: relative;
}

.developers-modal-content .modal-label {
  display: flex;
  align-items: center;
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 5;
}

.developers-modal-content .modal-label .icon-android {
  color: var(--gfd-grey-0);
}

.developers-modal-content .modal-label .label-text {
  font-family: var(--gfd-font-family-text);
  font-weight: var(--gfd-font-weight-500);
  font-size: 14px;
}

.developers-modal-content .modal-media-wrapper {
  padding: 8px;
}

.developers-modal-content .modal-media {
  display: flex;
  justify-content: center;
  aspect-ratio: 895 / 504;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.developers-modal-content .modal-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.developers-modal-content .modal-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 36px 15px;
  gap: 36px;
}

@media screen and (min-width: 1024px) {
  .developers-modal-content .modal-body {
    justify-content: space-between;
    flex-direction: row;
    align-items: flex-start;
    padding: 32px 40px 40px;
    gap: 16px;
  }
}

.developers-modal-content .modal-body-content {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.developers-modal-content .modal-body-content .icon-sparkle {
  font-size: 24px;
  color: var(--gfd-grey-900);
}

@media screen and (min-width: 1024px) {
  .developers-modal-content .modal-body-content .icon-sparkle {
    font-size: 36px;
  }
}

.developers-modal-content .modal-text h4 {
  margin: 0 0 12px 0;
  color: var(--gfd-grey-900);
}

.developers-modal-content .modal-text p {
  margin: 0;
  color: var(--gfd-grey-800);
  max-width: 500px;
}

.developers-modal-content .developers-btn-blue {
  margin-inline-start: 36px;
}

@media screen and (min-width: 1024px) { 
  .developers-modal-content .developers-btn-blue {
    margin-inline-start: 0;
  }
}

/* Close Button */
.developers-modal-close-cross {
  background-color: var(--gfd-grey-0);
  --devsite-button-color-hover: var(--gfd-grey-1200);
  color: var(--gfd-grey-1200);
  border: none;
  border-radius: 4px;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  z-index: 1;
  padding: 0;
  pointer-events: auto;
  transition: background-color 0.3s;
}

.devsite-developers-reusable-dialog .developers-modal-close-cross:hover,
.devsite-developers-reusable-dialog .developers-modal-close-cross:focus {
  background-color: var(--gfd-theme-surface-container-highest);
}

@media screen and (min-width: 1024px) { 
  .devsite-developers-reusable-dialog .developers-modal-close-cross {
    position: absolute;
    top: 0;
    left: calc(100% + 18px);
  }
}

/* Dialog and Backdrop */
.devsite-developers-reusable-dialog {
  max-inline-size: none;
  max-block-size: none;
  border: none;
  padding: 0;
  background: transparent;
  block-size: 100%;
  inline-size: 100%;
  color: inherit;
}

.devsite-developers-reusable-dialog::backdrop {
  background: transparent;
}

.devsite-developers-reusable-dialog .dialog-backdrop {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  left: 0;
  background: rgb(24 24 24 / .8);
  outline: none;
  transition-property: opacity;
  transition-duration: 1.2s;
  z-index: 1;
}

.devsite-developers-reusable-dialog .dialog-content {
  display: flex;
  place-items: center;
  justify-content: center;
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  pointer-events: none;
  transition-property: opacity, transform;
  transition-duration: 1.2s;
  transition-delay: .15s;
  z-index: 5;
}

.devsite-developers-reusable-dialog .dialog-inner {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 36px;
}

.devsite-developers-reusable-dialog .dialog-body {
  max-inline-size: calc(100vw - 24px);
  position: relative;
  border-radius: 16px;
  background-color: var(--gfd-grey-0);
  pointer-events: all;
  inline-size: 100vw;
  max-height: calc(100vh - 80px);
  overflow-y: auto;
}

@media screen and (min-width: 768px) {
  .devsite-developers-reusable-dialog .dialog-body {
    max-inline-size: min(910px, calc(100vw - 160px));
  }
}

/* Code Integration Module */
.developers-code-integration-section {
  padding: 60px 0;
  position: relative;
  color: var(--gfd-grey-0);
  display: flex;
}

@media (min-width: 1024px) {
  .developers-code-integration-section {
    padding: 120px 0;
  }
}

.developers-code-integration-section .section-background {
  position: absolute;
  inset: 0 -24px;
  background: var(--gfd-palette-black);
  overflow: hidden;
}

.developers-code-integration-section .section-background video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 1600px) {
  .developers-code-integration-section .section-background {
    border-radius: 8px;
    inset: 0;
  }
}

.developers-code-integration-section .developers-grid {
  position: relative;
}

.code-integration-text-column {
  grid-column: 1 / -1;
  margin-block-end: 34px;
}

@media (min-width: 1024px) {
  .code-integration-text-column {
    grid-column: 2 / span 5;
    padding-inline-end: 80px;
    margin-block-end: 0;
  }
}

.code-integration-text-column .eyebrow-container {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 36px;
}

.code-integration-text-column .eyebrow-text {
  color: var(--gfd-grey-0);
}

.developers-code-integration-section .developers-heading-4 {
  color: var(--gfd-grey-0);
  margin-bottom: 24px;
}

.developers-code-integration-section .developers-text-body {
  color: var(--gfd-grey-300);
  margin-block-end: 48px;
}

.code-integration-code-column {
  grid-column: 1 / -1;
}

@media (min-width: 1024px) {
  .code-integration-code-column {
    grid-column: 7 / span 5;
  }
}

.code-integration-code-column devsite-selector {
  background-color: #1e1f22;
  border-radius: 8px;
  overflow: hidden;
  display: block;
  border: 1px solid var(--gfd-theme-inverse-outline);
  --devsite-selector-margin: 0;
}

.code-integration-code-column devsite-tabs {
  background-color: var(--gfd-theme-inverse-surface-overlay-higher);
  padding: 0 45px 0 16px;
  --devsite-border: 1px solid var(--gfd-theme-inverse-outline);
  --devsite-link-color: var(--gfd-palette-blue-500);
}

.code-integration-code-column .devsite-tabs-wrapper {
  display: flex;
  gap: 4px;
}

.code-integration-code-column tab {
  cursor: pointer;
}

.code-integration-code-column tab a {
  color: var(--gfd-grey-0);
  text-decoration: none;
  font-family: var(--gfd-font-family-code);
  font-size: 13px;
  font-weight: var(--gfd-font-weight-400);
  letter-spacing: 0.16px;
  text-transform: uppercase;
}

.code-integration-code-column tab.devsite-active a {
  color: var(--gfd-grey-0);
}

.code-integration-code-column tab a:visited {
  color: var(--gfd-grey-0);
}

.code-integration-code-column devsite-code {
  display: block;
  --devsite-code-buttons-color: var(--gfd-theme-on-surface);
  --devsite-code-buttons-container-right: 8px;
}

.code-integration-code-column devsite-code .devsite-code-buttons-container {
  top: -40px;
}

.code-integration-code-column devsite-code .devsite-icon-copy {
  background: var(--gfd-theme-inverse-on-surface);
  border-radius: 4px;
}

.code-integration-code-column pre {
  margin: 0;
  font-family: var(--gfd-font-family-code);
  font-size: var(--gfd-font-size-sm);
  line-height: 1.5;
  --devsite-code-background: var(--gfd-theme-inverse-surface-overlay-higher);
  --devsite-code-color: var(--gfd-grey-0);
  --devsite-code-keywords-color: var(--gfd-palette-blue-500);
  --devsite-code-strings-color: var(--green-400);
  --devsite-code-types-color: var(--gfd-palette-red-100);
  --devsite-code-font-family: var(--gfd-font-family-code);
}

/* Related Articles Module */
.developers-related-articles {
  background-color: var(--gfd-grey-0);
}

.developers-related-articles .section-title {
  margin-block-start: 0;
  margin-block-end: 36px;
  text-align: left;
}

.developers-related-articles .developers-grid {
  border-top: 1px solid var(--gfd-theme-outline);
  padding-block-start: 18px;
  row-gap: 36px;
}

.developers-related-articles .article-card {
  display: flex;
  flex-direction: column;
  grid-column: 1 / -1;
  text-decoration: none;
  color: inherit;
}

@media screen and (min-width: 768px) {
  .developers-related-articles .article-card {
    grid-column: span 4 / auto;
  }
}

.developers-related-articles .article-card .card-tag {
  font-family: var(--gfd-font-family-code);
  font-size: 13px;
  line-height: 21px;
  letter-spacing: 0.16px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-block-end: 18px;
}

.developers-related-articles .article-card .dot {
  width: 5px;
  height: 6px;
  display: inline-block;
  background-color: var(--blue-500); 
}

.developers-related-articles .article-card .card-image {
  border-radius: 4px;
  overflow: hidden;
  margin-block-end: 18px;
  line-height: 0;
}

.developers-related-articles .article-card .card-image img {
  transition: transform 0.3s ease;
}

.developers-related-articles .article-card:hover .card-image img {
  transform: scale(1.05);
}

.developers-related-articles .article-card .card-title {
  color: var(--gfd-theme-on-surface);
  margin-block-end: 4px;
}

.developers-related-articles .article-card .card-description {
  color: var(--gfd-theme-on-surface-variant);
  margin-block: 4px 24px;
  padding-inline-end: 40px;
}

.developers-related-articles .article-card .card-date {
  font-size: var(--gfd-font-size-sm);
  line-height: var(--gfd-line-height-sm);
  color: var(--gfd-theme-on-surface-variant);
}

.developers-related-articles .section-footer {
  margin-block-start: 48px; 
  display: flex;
  justify-content: flex-start;
}

/* Developer Program Section */
.developer-program-section .developers-grid {
  align-items: center;
}

.developer-program-section .developer-program-logo {
  margin-block-end: 24px;
}

.developer-program-image,
.developer-program-content {
  grid-column: 1 / -1;
}

.developer-program-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

.developer-program-content h2 {
  margin-block-end: 16px;
}

.developer-program-content p {
  color: var(--gfd-grey-800);
  margin: 0;
}

.developer-program-content .block-cta {
  margin-block-start: 48px;
}

@media (min-width: 1024px) {
  .developer-program-image {
    grid-column: 1 / span 5;
  }

  .developer-program-content {
    grid-column: 7 / span 5;
  }
}



      </style>
  
  
  
  
  

  <div class="devsite-article-meta nocontent" role="navigation" data-nosnippet>
    
    
    <ul class="devsite-breadcrumb-list"
  
    aria-label="Breadcrumb">
  
  <li class="devsite-breadcrumb-item
             ">
    
    
    
      
        
  <a href="https://developers.google.com/"
      
        class="devsite-breadcrumb-link gc-analytics-event"
      
        data-category="Site-Wide Custom Events"
      
        data-label="Breadcrumbs"
      
        data-value="1"
      
        track-type="globalNav"
      
        track-name="breadcrumb"
      
        track-metadata-position="1"
      
        track-metadata-eventdetail="Google for Developers"
      
    >
    
          Google for Developers
        
  </a>
  
      
    
  </li>
  
  <li class="devsite-breadcrumb-item
             ">
    
      
      <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div>
    
    
    
      
        
  <a href="https://developers.google.com/products"
      
        class="devsite-breadcrumb-link gc-analytics-event"
      
        data-category="Site-Wide Custom Events"
      
        data-label="Breadcrumbs"
      
        data-value="2"
      
        track-type="globalNav"
      
        track-name="breadcrumb"
      
        track-metadata-position="2"
      
        track-metadata-eventdetail=""
      
    >
    
          Products
        
  </a>
  
      
    
  </li>
  
</ul>
    
  </div>
  <devsite-actions hidden data-nosnippet><devsite-feature-tooltip
      ack-key="AckCollectionsBookmarkTooltipDismiss"
      analytics-category="Site-Wide Custom Events"
      analytics-action-show="Callout Profile displayed"
      analytics-action-close="Callout Profile dismissed"
      analytics-label="Create Collection Callout"
      class="devsite-page-bookmark-tooltip nocontent"
      data-nosnippet
      dismiss-button="true"
      id="devsite-collections-dropdown"
      
      dismiss-button-text="Dismiss"

      
      close-button-text="Got it">

    
    
      <devsite-bookmark></devsite-bookmark>
    

    <span slot="popout-heading">
      
      Stay organized with collections
    </span>
    <span slot="popout-contents">
      
      Save and categorize content based on your preferences.
    </span>
  </devsite-feature-tooltip>
    <devsite-llm-tools></devsite-llm-tools></devsite-actions>
  
    
  

  <devsite-toc class="devsite-nav"
    depth="2"
    devsite-toc-embedded
    disabled>
  </devsite-toc>
  <div class="devsite-article-body clearfix
  devsite-no-page-title">

  
    
    
  <devsite-gemini-page class="google-developers-page">
    <section class="developers-hero-section">
      <div class="developers-hero-container">
        <a class="eyebrow developers-text-label" target="_blank" href="https://www.youtube.com/playlist?list=PLOU2XLYxmsILVF9qmspC4i4R0t3o64HSx">CATCH UP ON GOOGLE I/O <span class="material-symbols-outlined">arrow_outward</span></a>
        <h1 class="developers-heading-2 developers-hero-title" id="build-with-gemini" data-text="Build with  Gemini" tabindex="-1">Build with <span class="gemini-spark"></span> Gemini</h1>
        <p class="developers-text-body developers-hero-subtitle">Unlock AI models to build innovative apps and transform development workflows with tools across platforms.</p>
      </div>
    </section>
    <div class="developers-components-wrapper">
      

<devsite-developers-modal-manager>
  <div class="developers-grid">
    
    
      <div class="developers-explore-card span-4" style="background-image: url('assets/img/landing/background-ai-studio.jpg')" data-modal-target="gemini-ai-studio">
        <div class="card-tag">
          <img src="/static/assets/img/landing/logo-google-ai-studio.svg" alt="Google AI Studio">
        </div>
        <div class="card-center-box">
          <div class="card-center-box-header">
            <span class="icon material-symbols-outlined">pen_spark</span>
            <span class="title">Start building with Gemini</span>
            <span class="arrow-btn material-symbols-outlined">expand_content</span>
          </div>
          <div class="card-center-box-body">
            <div>
              <div class="body-inner">
                <p class="body-text">The fastest path from prompt to production app with Gemini.</p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <template id="gemini-ai-studio">
        <div class="developers-modal-content">
          <div class="modal-label">
            <img src="/static/assets/img/landing/logo-google-ai-studio.svg" alt="Google AI Studio">
          </div>
          <div class="modal-media-wrapper">
            <div class="modal-media">
              <img src="/static/assets/img/landing/modal-gemini-ai-studio.jpg" alt="Start building with Gemini">
            </div>
          </div>
          <div class="modal-body">
            <div class="modal-body-content">
              <span class="icon icon-sparkle material-symbols-outlined">pen_spark</span>
              <div class="modal-text">
                <h4 class="developers-heading-6" id="go-from-prompt-to-app" data-text="Go from prompt to app" tabindex="-1">Go from prompt to app</h4>
                <p class="developers-text-body">Google AI Studio is the fastest path prompt to app with Gemini. Use natural language to generate production ready full-stack apps with AI features using the Gemini API.</p>
              </div>
            </div>
            <a href="https://ai.studio" class="developers-btn-blue">Start building</a>
          </div>
        </div>
      </template>
    
      <div class="developers-explore-card span-8" style="background-image: url('assets/img/landing/background-google-antigravity.jpg')" data-modal-target="antigravity">
        <div class="card-tag">
          <img src="/static/assets/img/landing/logo-antigravity.svg" alt="Google Antigravity">
        </div>
        <div class="card-center-box">
          <div class="card-center-box-header">
            <span class="icon material-symbols-outlined">code</span>
            <span class="title">Develop with agents</span>
            <span class="arrow-btn material-symbols-outlined">expand_content</span>
          </div>
          <div class="card-center-box-body">
            <div>
              <div class="body-inner">
                <p class="body-text">Experience our agent-first platform built for the next era of how you build, work, and automate.</p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <template id="antigravity">
        <div class="developers-modal-content">
          <div class="modal-label">
            <img src="/static/assets/img/landing/logo-antigravity.svg" alt="Google Antigravity">
          </div>
          <div class="modal-media-wrapper">
            <div class="modal-media">
              <img src="/static/assets/img/landing/modal-google-antigravity.jpg" alt="Develop with agents">
            </div>
          </div>
          <div class="modal-body">
            <div class="modal-body-content">
              <span class="icon icon-sparkle material-symbols-outlined">code</span>
              <div class="modal-text">
                <h4 class="developers-heading-6" id="develop-with-agents" data-text="Develop with agents" tabindex="-1">Develop with agents</h4>
                <p class="developers-text-body">Google Antigravity is our agent-first platform that's co-optimized with Gemini models. It gives every builder a dedicated mission control to work alongside, steer, and customize agents to operate autonomously in the background across a standalone desktop app and CLI.</p>
              </div>
            </div>
            <a href="https://antigravity.google" class="developers-btn-blue">Start building</a>
          </div>
        </div>
      </template>
    
      <div class="developers-explore-card span-8" style="background-image: url('assets/img/landing/background-google-cloud.jpg')" data-modal-target="google-cloud">
        <div class="card-tag">
          <img src="/static/assets/img/landing/logo-google-cloud.svg" alt="Google Cloud">
        </div>
        <div class="card-center-box">
          <div class="card-center-box-header">
            <span class="icon material-symbols-outlined">automatic_cluster</span>
            <span class="title">Deploy on scalable infrastructure</span>
            <span class="arrow-btn material-symbols-outlined">expand_content</span>
          </div>
          <div class="card-center-box-body">
            <div>
              <div class="body-inner">
                <p class="body-text">Build and scale your apps without needing to manage the infrastructure with Google Cloud Run.</p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <template id="google-cloud">
        <div class="developers-modal-content">
          <div class="modal-label">
            <img src="/static/assets/img/landing/logo-google-cloud-dark.svg" alt="Google Cloud">
          </div>
          <div class="modal-media-wrapper">
            <div class="modal-media">
              <img src="/static/assets/img/landing/modal-google-cloud.jpg" alt="Deploy on scalable infrastructure">
            </div>
          </div>
          <div class="modal-body">
            <div class="modal-body-content">
              <span class="icon icon-sparkle material-symbols-outlined">automatic_cluster</span>
              <div class="modal-text">
                <h4 class="developers-heading-6" id="deploy-and-host-your-apps-on-google-cloud-run" data-text="Deploy and host your apps on Google Cloud Run" tabindex="-1">Deploy and host your apps on Google Cloud Run</h4>
                <p class="developers-text-body">Cloud Run is a fully managed platform that handles infrastructure management for you and automatically scales, so you only pay for what you use for your AI apps and agents.</p>
              </div>
            </div>
            <a href="https://cloud.google.com/run" class="developers-btn-blue">Learn more</a>
          </div>
        </div>
      </template>
    
      <div class="developers-explore-card span-4" style="background-image: url('assets/img/landing/background-android-developers.jpg')" data-modal-target="android-developers">
        <div class="card-tag">
          <img src="/static/assets/img/landing/logo-android-developers.svg" alt="Android Developers">
        </div>
        <div class="card-center-box">
          <div class="card-center-box-header">
            <span class="icon material-symbols-outlined">android</span>
            <span class="title">Create Android apps</span>
            <span class="arrow-btn material-symbols-outlined">expand_content</span>
          </div>
          <div class="card-center-box-body">
            <div>
              <div class="body-inner">
                <p class="body-text">Build high-quality Android apps faster with Gemini in Android Studio.</p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <template id="android-developers">
        <div class="developers-modal-content">
          <div class="modal-label">
            <img src="/static/assets/img/landing/logo-android-developers-white.svg" alt="Android Developers">
          </div>
          <div class="modal-media-wrapper">
            <div class="modal-media">
              <img src="/static/assets/img/landing/modal-android-developers.jpg" alt="Create Android apps">
            </div>
          </div>
          <div class="modal-body">
            <div class="modal-body-content">
              <span class="icon icon-sparkle material-symbols-outlined">android</span>
              <div class="modal-text">
                <h4 class="developers-heading-6" id="create-android-apps" data-text="Create Android apps " tabindex="-1">Create Android apps </h4>
                <p class="developers-text-body">Gemini in Android Studio, your AI agent for Android development, helps at every stage of your development lifecycle, enabling you to ship faster.</p>
              </div>
            </div>
            <a href="https://developer.android.com/gemini-in-android" class="developers-btn-blue">Start building</a>
          </div>
        </div>
      </template>
    
      <div class="developers-explore-card span-4" style="background-image: url('assets/img/landing/background-gemini-api.jpg')" data-modal-target="gemini-api">
        <div class="card-tag">
          <img src="/static/assets/img/landing/logo-gemini-api.svg" alt="Gemini API">
        </div>
        <div class="card-center-box">
          <div class="card-center-box-header">
            <span class="icon material-symbols-outlined">sort_spark</span>
            <span class="title">Build apps and agents with Gemini models</span>
            <span class="arrow-btn material-symbols-outlined">expand_content</span>
          </div>
          <div class="card-center-box-body">
            <div>
              <div class="body-inner">
                <p class="body-text">Develop next-generation apps and agents by integrating Google's most advanced reasoning and generative models and agent-first APIs.</p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <template id="gemini-api">
        <div class="developers-modal-content">
          <div class="modal-label">
            <img src="/static/assets/img/landing/logo-gemini-api.svg" alt="Gemini API">
          </div>
          <div class="modal-media-wrapper">
            <div class="modal-media">
              <img src="/static/assets/img/landing/modal-gemini-api.jpg" alt="Build apps and agents with Gemini models">
            </div>
          </div>
          <div class="modal-body">
            <div class="modal-body-content">
              <span class="icon icon-sparkle material-symbols-outlined">sort_spark</span>
              <div class="modal-text">
                <h4 class="developers-heading-6" id="build-apps-and-agents-with-gemini-models" data-text="Build apps and agents with Gemini models" tabindex="-1">Build apps and agents with Gemini models</h4>
                <p class="developers-text-body">Gemini API gives you access to a robust agent development platform along with cost-effective, state-of-the-art models capable of advanced reasoning, native media generation, and complex agentic workflows.</p>
              </div>
            </div>
            <a href="https://ai.google.dev/gemini-api" class="developers-btn-blue">Start building</a>
          </div>
        </div>
      </template>
    
      <div class="developers-explore-card span-4" style="background-image: url('assets/img/landing/background-chrome-developers.jpg')" data-modal-target="chrome-for-developers">
        <div class="card-tag">
          <img src="/static/assets/img/landing/logo-chrome-developers.svg" alt="Chrome for Developers">
        </div>
        <div class="card-center-box">
          <div class="card-center-box-header">
            <span class="icon material-symbols-outlined">web</span>
            <span class="title">Develop web AI features</span>
            <span class="arrow-btn material-symbols-outlined">expand_content</span>
          </div>
          <div class="card-center-box-body">
            <div>
              <div class="body-inner">
                <p class="body-text">Discover how your web applications can perform AI tasks with browser-managed AI models and APIs.</p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <template id="chrome-for-developers">
        <div class="developers-modal-content">
          <div class="modal-label">
            <img src="/static/assets/img/landing/logo-chrome-developers.svg" alt="Chrome for Developers">
          </div>
          <div class="modal-media-wrapper">
            <div class="modal-media">
              <img src="/static/assets/img/landing/modal-chrome-for-developers.jpg" alt="Develop web AI features">
            </div>
          </div>
          <div class="modal-body">
            <div class="modal-body-content">
              <span class="icon icon-sparkle material-symbols-outlined">web</span>
              <div class="modal-text">
                <h4 class="developers-heading-6" id="develop-ai-web-features" data-text="Develop AI web features " tabindex="-1">Develop AI web features </h4>
                <p class="developers-text-body">Chrome's AI capabilities, such as built-in AI, WebMCP, and AI assistance in Chrome DevTools, helps you build, optimize, and debug web applications.</p>
              </div>
            </div>
            <a href="https://developer.chrome.com/docs/ai" class="developers-btn-blue">Start building</a>
          </div>
        </div>
      </template>
    
      <div class="developers-explore-card span-4" style="background-image: url('assets/img/landing/background-gemini-enterprise.jpg')" data-modal-target="enterprise-agent-platform">
        <div class="card-tag">
          <img src="/static/assets/img/landing/logo-gemini-enterprise.svg" alt="Gemini Enterprise Agent Platform">
        </div>
        <div class="card-center-box">
          <div class="card-center-box-header">
            <span class="icon material-symbols-outlined">stacks</span>
            <span class="title">Build enterprise agents</span>
            <span class="arrow-btn material-symbols-outlined">expand_content</span>
          </div>
          <div class="card-center-box-body">
            <div>
              <div class="body-inner">
                <p class="body-text">Build, scale, govern, and optimize enterprise agents.</p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <template id="enterprise-agent-platform">
        <div class="developers-modal-content">
          <div class="modal-label">
            <img src="/static/assets/img/landing/logo-gemini-enterprise-dark.svg" alt="Gemini Enterprise Agent Platform">
          </div>
          <div class="modal-media-wrapper">
            <div class="modal-media">
              <img src="/static/assets/img/landing/modal-gemini-enterprise.jpg" alt="Build enterprise agents">
            </div>
          </div>
          <div class="modal-body">
            <div class="modal-body-content">
              <span class="icon icon-sparkle material-symbols-outlined">stacks</span>
              <div class="modal-text">
                <h4 class="developers-heading-6" id="build-agents-for-enterprise" data-text="Build agents for enterprise" tabindex="-1">Build agents for enterprise</h4>
                <p class="developers-text-body">Gemini Enterprise Agent Platform is an open platform for enterprises to build, scale, govern and optimize reliable intelligent agents at global scale.</p>
              </div>
            </div>
            <a href="http://cloud.google.com/products/gemini-enterprise-agent-platform" class="developers-btn-blue">Start building</a>
          </div>
        </div>
      </template>
    
  </div>
  <dialog class="devsite-developers-reusable-dialog">
    <div class="dialog-backdrop devsite-developers-close-dialog"></div>
    <div class="dialog-content">
      <div class="dialog-inner">
        <button class="devsite-developers-close-dialog developers-modal-close-cross material-symbols-outlined">close</button>
        <div class="dialog-body">
        </div>
      </div>
    </div>
  </dialog>
</devsite-developers-modal-manager>
      
<section class="developers-code-integration-section dark-theme">
  <div class="section-background">
    <video autoplay loop muted playsinline class="background-video">
      <source src="/static/assets/video/landing/developers-code-integration-background.mp4" type="video/mp4">
    </video>
  </div>
  <div class="developers-grid">
    <div class="code-integration-text-column">
      <div class="eyebrow-container">
        <span class="eyebrow-text developers-text-label blue-square-icon-before">GEMINI API</span>
      </div>
      <h2 class="developers-heading-4" id="integrate-gemini-directly-into-your-apps" data-text="Integrate Gemini directly into your apps" tabindex="-1">Integrate Gemini directly into your apps</h2>
      <p class="developers-text-body">Unleash the full potential of your applications by integrating Gemini's long context window and native multimodal reasoning to process massive codebases, complex media, and real-time agentic workflows with a single API.</p>
      <a href="https://ai.google.dev/gemini-api/docs" class="developers-btn-blue block-cta">View documentation</a>
    </div>
    <div class="code-integration-code-column">
      <devsite-selector class="" scope="code-sample" active="0" rendered="">
        <devsite-tabs data-is-tablist="" connected="" role="tablist">
          <div class="devsite-tabs-wrapper">
            
            <tab aria-controls="tabpanel-python" id="python" data-tab="python" role="tab">
              <a id="aria-tab-python" role="button" aria-expanded="true">Python</a>
            </tab>
            
            <tab aria-controls="tabpanel-javascript" id="javascript" data-tab="javascript" role="tab">
              <a id="aria-tab-javascript" role="button" >JavaScript</a>
            </tab>
            
            <tab aria-controls="tabpanel-go" id="go" data-tab="go" role="tab">
              <a id="aria-tab-go" role="button" >Go</a>
            </tab>
            
            <tab aria-controls="tabpanel-java" id="java" data-tab="java" role="tab">
              <a id="aria-tab-java" role="button" >Java</a>
            </tab>
            
            <tab aria-controls="tabpanel-rest" id="rest" data-tab="rest" role="tab">
              <a id="aria-tab-rest" role="button" >REST</a>
            </tab>
            
            <tab class="devsite-overflow-tab" role="tab" hidden="">
              <button class="devsite-tabs-overflow-button devsite-icon devsite-icon-arrow-drop-down" aria-haspopup="menu" aria-expanded="false" id="tab-overflow-button-RZ17" aria-label="More Options" aria-controls="tab-overflow-menu-kCNz">More</button>
              <div class="devsite-tabs-overflow-menu" hidden="" scrollbars="" role="menu" id="tab-overflow-menu-kCNz" aria-labelledby="tab-overflow-button-RZ17">
              </div>
            </tab>
          </div>
        </devsite-tabs>
        
        <section role="tabpanel" aria-labelledby="aria-tab-python" data-tab="python" tabindex="0" id="tabpanel-python">
          <div></div>
          <devsite-code data-copy-event-label="" no-toggle="" copy>
            <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Python"><code translate="no" dir="ltr"><span class="devsite-syntax-kn">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kn">import</span> <span class="devsite-syntax-n">genai</span>

<span class="devsite-syntax-n">client</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">genai</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">Client</span><span class="devsite-syntax-p">()</span>

<span class="devsite-syntax-n">response</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">client</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">models</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">generate_content</span><span class="devsite-syntax-p">(</span>
  <span class="devsite-syntax-n">model</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"gemini-3.5-flash"</span><span class="devsite-syntax-p">,</span>
  <span class="devsite-syntax-n">contents</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s2">"Explain how AI works in a few words"</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-p">)</span>

<span class="devsite-syntax-nb">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">text</span><span class="devsite-syntax-p">)</span></code></pre>
          </devsite-code>
        </section>
        
        <section role="tabpanel" aria-labelledby="aria-tab-javascript" data-tab="javascript" tabindex="0" id="tabpanel-javascript">
          <div></div>
          <devsite-code data-copy-event-label="" no-toggle="" copy>
            <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="JavaScript"><code translate="no" dir="ltr"><span class="devsite-syntax-k">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">GoogleGenAI</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kr">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"@google/genai"</span><span class="devsite-syntax-p">;</span>

<span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ai</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-ow">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">GoogleGenAI</span><span class="devsite-syntax-p">({});</span>

<span class="devsite-syntax-k">async</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">function</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">main</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span>
<span class="devsite-syntax-w">  </span><span class="devsite-syntax-kd">const</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">await</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">ai</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">models</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">generateContent</span><span class="devsite-syntax-p">({</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-nx">model</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"gemini-3.5-flash"</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-nx">contents</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"Explain how AI works in a few words"</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-w">  </span><span class="devsite-syntax-p">});</span>
<span class="devsite-syntax-w">  </span><span class="devsite-syntax-nx">console</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">log</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">response</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">text</span><span class="devsite-syntax-p">);</span>
<span class="devsite-syntax-p">}</span>

<span class="devsite-syntax-k">await</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">main</span><span class="devsite-syntax-p">();</span></code></pre>
          </devsite-code>
        </section>
        
        <section role="tabpanel" aria-labelledby="aria-tab-go" data-tab="go" tabindex="0" id="tabpanel-go">
          <div></div>
          <devsite-code data-copy-event-label="" no-toggle="" copy>
            <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Go"><code translate="no" dir="ltr"><span class="devsite-syntax-kn">package</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">main</span>

<span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-s">"context"</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-s">"fmt"</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-s">"log"</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-s">"google.golang.org/genai"</span>
<span class="devsite-syntax-p">)</span>

<span class="devsite-syntax-kd">func</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">main</span><span class="devsite-syntax-p">()</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">context</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Background</span><span class="devsite-syntax-p">()</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">genai</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">NewClient</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-p">)</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span>
<span class="devsite-syntax-w">        </span><span class="devsite-syntax-nx">log</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Fatal</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">)</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-p">}</span>

<span class="devsite-syntax-w">    </span><span class="devsite-syntax-nx">result</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">:=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Models</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">GenerateContent</span><span class="devsite-syntax-p">(</span>
<span class="devsite-syntax-w">        </span><span class="devsite-syntax-nx">ctx</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-w">        </span><span class="devsite-syntax-s">"gemini-3.5-flash"</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-w">        </span><span class="devsite-syntax-nx">genai</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Text</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Explain how AI works in a few words"</span><span class="devsite-syntax-p">),</span>
<span class="devsite-syntax-w">        </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-p">)</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">!=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kc">nil</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span>
<span class="devsite-syntax-w">        </span><span class="devsite-syntax-nx">log</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Fatal</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">err</span><span class="devsite-syntax-p">)</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-p">}</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-nx">fmt</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Println</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-nx">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-nx">Text</span><span class="devsite-syntax-p">())</span>
<span class="devsite-syntax-p">}</span></code></pre>
          </devsite-code>
        </section>
        
        <section role="tabpanel" aria-labelledby="aria-tab-java" data-tab="java" tabindex="0" id="tabpanel-java">
          <div></div>
          <devsite-code data-copy-event-label="" no-toggle="" copy>
            <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Java"><code translate="no" dir="ltr"><span class="devsite-syntax-kn">package</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.example</span><span class="devsite-syntax-p">;</span>

<span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.genai.Client</span><span class="devsite-syntax-p">;</span>
<span class="devsite-syntax-kn">import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">com.google.genai.types.GenerateContentResponse</span><span class="devsite-syntax-p">;</span>

<span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">class</span> <span class="devsite-syntax-nc">GenerateTextFromTextInput</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span>
<span class="devsite-syntax-w">  </span><span class="devsite-syntax-kd">public</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kd">static</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kt">void</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nf">main</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">String</span><span class="devsite-syntax-o">[]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">args</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span>
<span class="devsite-syntax-w">    </span><span class="devsite-syntax-n">Client</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">new</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">Client</span><span class="devsite-syntax-p">();</span>

<span class="devsite-syntax-w">    </span><span class="devsite-syntax-n">GenerateContentResponse</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span>
<span class="devsite-syntax-w">        </span><span class="devsite-syntax-n">client</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">models</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">generateContent</span><span class="devsite-syntax-p">(</span>
<span class="devsite-syntax-w">            </span><span class="devsite-syntax-s">"gemini-3.5-flash"</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-w">            </span><span class="devsite-syntax-s">"Explain how AI works in a few words"</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-w">            </span><span class="devsite-syntax-kc">null</span><span class="devsite-syntax-p">);</span>

<span class="devsite-syntax-w">    </span><span class="devsite-syntax-n">System</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">out</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">println</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-na">text</span><span class="devsite-syntax-p">());</span>
<span class="devsite-syntax-w">  </span><span class="devsite-syntax-p">}</span>
<span class="devsite-syntax-p">}</span></code></pre>
          </devsite-code>
        </section>
        
        <section role="tabpanel" aria-labelledby="aria-tab-rest" data-tab="rest" tabindex="0" id="tabpanel-rest">
          <div></div>
          <devsite-code data-copy-event-label="" no-toggle="" copy>
            <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Bash"><code translate="no" dir="ltr">curl<span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"https://generativelanguage.googleapis.com/v1beta/models/gemini-3-5-flash:generateContent"</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span>
<span class="devsite-syntax-w">  </span>-H<span class="devsite-syntax-w"> </span><span class="devsite-syntax-s2">"x-goog-api-key: </span><span class="devsite-syntax-nv">$GEMINI_API_KEY</span><span class="devsite-syntax-s2">"</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span>
<span class="devsite-syntax-w">  </span>-H<span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'Content-Type: application/json'</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span>
<span class="devsite-syntax-w">  </span>-X<span class="devsite-syntax-w"> </span>POST<span class="devsite-syntax-w"> </span><span class="devsite-syntax-se">\</span>
<span class="devsite-syntax-w">  </span>-d<span class="devsite-syntax-w"> </span><span class="devsite-syntax-s1">'{</span>
<span class="devsite-syntax-s1">    "contents": [</span>
<span class="devsite-syntax-s1">      {</span>
<span class="devsite-syntax-s1">        "parts": [</span>
<span class="devsite-syntax-s1">          {</span>
<span class="devsite-syntax-s1">            "text": "Explain how AI works in a few words"</span>
<span class="devsite-syntax-s1">          }</span>
<span class="devsite-syntax-s1">        ]</span>
<span class="devsite-syntax-s1">      }</span>
<span class="devsite-syntax-s1">    ]</span>
<span class="devsite-syntax-s1">  }'</span></code></pre>
          </devsite-code>
        </section>
        
      </devsite-selector>
    </div>
  </div>
</section>
      

<devsite-developers-accordion>
  
  <div class="devsite-developers-accordion-module-title">
    <h2 class="developers-heading-4" id="news-announcements" data-text="News &amp; Announcements" tabindex="-1">News &amp; Announcements</h2>
  </div>
  
  <div class="devsite-developers-accordion-grid">
    <div class="developers-grid">
      <div class="devsite-developers-accordion-items">
        
        <div class="devsite-developers-accordion-item  active" data-accordion-item="1" >
          <button class="devsite-developers-accordion-header devsite-developers-accordion-toggle  active" data-accordion-item="1">
            <div class="devsite-developers-accordion-label-area">
              <span class="devsite-developers-accordion-dot"></span>
              <span class="devsite-developers-accordion-label">Google I/O</span>
            </div>
            <div class="devsite-developers-accordion-title-area">
              <span class="devsite-developers-accordion-title developers-text-body">All the news from the Google I/O 2026 Developer keynote</span>
            </div>
            <div class="devsite-developers-accordion-icon-area">
              <span class="devsite-developers-accordion-icon material-symbols-outlined">
                <span>add</span>
                <span>remove</span>
              </span>
            </div>
          </button>
          <div class="devsite-developers-accordion-body devsite-developers-accordion-content  active" data-accordion-item="1">
            <div class="devsite-developers-accordion-body-inner">
              <div class="accordion-content-wrapper">
                <p class="devsite-developers-accordion-description devsite-developers-body-text">Explore the latest developer updates from Android, AI, Chrome, and Cloud.</p>
                <a href="https://developers.googleblog.com/all-the-news-from-the-google-io-2026-developer-keynote/" class="devsite-developers-accordion-link"><span>Learn more</span></a>
                <img src="/static/assets/img/landing/io-dev-keynote.png" class="devsite-developers-accordion-body-image" alt>
              </div>
            </div>
          </div>
        </div>
        
        <div class="devsite-developers-accordion-item " data-accordion-item="2" >
          <button class="devsite-developers-accordion-header devsite-developers-accordion-toggle " data-accordion-item="2">
            <div class="devsite-developers-accordion-label-area">
              <span class="devsite-developers-accordion-dot"></span>
              <span class="devsite-developers-accordion-label">AI Studio</span>
            </div>
            <div class="devsite-developers-accordion-title-area">
              <span class="devsite-developers-accordion-title developers-text-body">Build anything, ship everywhere: Google AI Studio at Google I/O 2026</span>
            </div>
            <div class="devsite-developers-accordion-icon-area">
              <span class="devsite-developers-accordion-icon material-symbols-outlined">
                <span>add</span>
                <span>remove</span>
              </span>
            </div>
          </button>
          <div class="devsite-developers-accordion-body devsite-developers-accordion-content " data-accordion-item="2">
            <div class="devsite-developers-accordion-body-inner">
              <div class="accordion-content-wrapper">
                <p class="devsite-developers-accordion-description devsite-developers-body-text">At Google I/O 2026, we're expanding not just how you build, but what you can build.</p>
                <a href="https://blog.google/innovation-and-ai/technology/developers-tools/google-ai-studio-io-2026" class="devsite-developers-accordion-link"><span>Learn more</span></a>
                <img src="/static/assets/img/landing/ai-studio-build-new.png" class="devsite-developers-accordion-body-image" alt>
              </div>
            </div>
          </div>
        </div>
        
        <div class="devsite-developers-accordion-item " data-accordion-item="3" >
          <button class="devsite-developers-accordion-header devsite-developers-accordion-toggle " data-accordion-item="3">
            <div class="devsite-developers-accordion-label-area">
              <span class="devsite-developers-accordion-dot"></span>
              <span class="devsite-developers-accordion-label">Android</span>
            </div>
            <div class="devsite-developers-accordion-title-area">
              <span class="devsite-developers-accordion-title developers-text-body">17 Things to know for Android developers at Google I/O</span>
            </div>
            <div class="devsite-developers-accordion-icon-area">
              <span class="devsite-developers-accordion-icon material-symbols-outlined">
                <span>add</span>
                <span>remove</span>
              </span>
            </div>
          </button>
          <div class="devsite-developers-accordion-body devsite-developers-accordion-content " data-accordion-item="3">
            <div class="devsite-developers-accordion-body-inner">
              <div class="accordion-content-wrapper">
                <p class="devsite-developers-accordion-description devsite-developers-body-text">Read 17 key announcements for Android developers, focusing on agent-led productivity and more.</p>
                <a href="http://android-developers.googleblog.com/2026/05/17-things-android-developers-google-io.html" class="devsite-developers-accordion-link"><span>Learn more</span></a>
                <img src="/static/assets/img/landing/android-io-2026.png" class="devsite-developers-accordion-body-image" alt>
              </div>
            </div>
          </div>
        </div>
        
        <div class="devsite-developers-accordion-item " data-accordion-item="4" >
          <button class="devsite-developers-accordion-header devsite-developers-accordion-toggle " data-accordion-item="4">
            <div class="devsite-developers-accordion-label-area">
              <span class="devsite-developers-accordion-dot"></span>
              <span class="devsite-developers-accordion-label">Google Play</span>
            </div>
            <div class="devsite-developers-accordion-title-area">
              <span class="devsite-developers-accordion-title developers-text-body">I/O 2026: What's New in Google Play</span>
            </div>
            <div class="devsite-developers-accordion-icon-area">
              <span class="devsite-developers-accordion-icon material-symbols-outlined">
                <span>add</span>
                <span>remove</span>
              </span>
            </div>
          </button>
          <div class="devsite-developers-accordion-body devsite-developers-accordion-content " data-accordion-item="4">
            <div class="devsite-developers-accordion-body-inner">
              <div class="accordion-content-wrapper">
                <p class="devsite-developers-accordion-description devsite-developers-body-text">Catch up on the latest Play developer news and announcements from Google I/O</p>
                <a href="https://goo.gle/play-io26" class="devsite-developers-accordion-link"><span>Learn more</span></a>
                <img src="/static/assets/img/landing/google-play-news-thumb.png" class="devsite-developers-accordion-body-image" alt>
              </div>
            </div>
          </div>
        </div>
        
        <div class="devsite-developers-accordion-item " data-accordion-item="5" >
          <button class="devsite-developers-accordion-header devsite-developers-accordion-toggle " data-accordion-item="5">
            <div class="devsite-developers-accordion-label-area">
              <span class="devsite-developers-accordion-dot"></span>
              <span class="devsite-developers-accordion-label">Chrome</span>
            </div>
            <div class="devsite-developers-accordion-title-area">
              <span class="devsite-developers-accordion-title developers-text-body">15 updates from Google I/O 2026</span>
            </div>
            <div class="devsite-developers-accordion-icon-area">
              <span class="devsite-developers-accordion-icon material-symbols-outlined">
                <span>add</span>
                <span>remove</span>
              </span>
            </div>
          </button>
          <div class="devsite-developers-accordion-body devsite-developers-accordion-content " data-accordion-item="5">
            <div class="devsite-developers-accordion-body-inner">
              <div class="accordion-content-wrapper">
                <p class="devsite-developers-accordion-description devsite-developers-body-text">Powering up the agentic web with new coding tools and features</p>
                <a href="https://developer.chrome.com/blog/chrome-at-io26" class="devsite-developers-accordion-link"><span>Learn more</span></a>
                <img src="/static/assets/img/landing/google-updates-io.png" class="devsite-developers-accordion-body-image" alt>
              </div>
            </div>
          </div>
        </div>
        
        <div class="devsite-developers-accordion-item " data-accordion-item="6" >
          <button class="devsite-developers-accordion-header devsite-developers-accordion-toggle " data-accordion-item="6">
            <div class="devsite-developers-accordion-label-area">
              <span class="devsite-developers-accordion-dot"></span>
              <span class="devsite-developers-accordion-label">AI</span>
            </div>
            <div class="devsite-developers-accordion-title-area">
              <span class="devsite-developers-accordion-title developers-text-body">Supercharging LLM inference on Google TPUs</span>
            </div>
            <div class="devsite-developers-accordion-icon-area">
              <span class="devsite-developers-accordion-icon material-symbols-outlined">
                <span>add</span>
                <span>remove</span>
              </span>
            </div>
          </button>
          <div class="devsite-developers-accordion-body devsite-developers-accordion-content " data-accordion-item="6">
            <div class="devsite-developers-accordion-body-inner">
              <div class="accordion-content-wrapper">
                <p class="devsite-developers-accordion-description devsite-developers-body-text">Achieving 3X speedups with diffusion-style speculative decoding</p>
                <a href="https://developers.googleblog.com/supercharging-llm-inference-on-google-tpus-achieving-3x-speedups-with-diffusion-style-speculative-decoding/" class="devsite-developers-accordion-link"><span>Learn more</span></a>
                <img src="/static/assets/img/landing/Google-tpu.jpg" class="devsite-developers-accordion-body-image" alt>
              </div>
            </div>
          </div>
        </div>
        
        <div class="devsite-developers-accordion-item " data-accordion-item="7" >
          <button class="devsite-developers-accordion-header devsite-developers-accordion-toggle " data-accordion-item="7">
            <div class="devsite-developers-accordion-label-area">
              <span class="devsite-developers-accordion-dot"></span>
              <span class="devsite-developers-accordion-label">Gemini</span>
            </div>
            <div class="devsite-developers-accordion-title-area">
              <span class="devsite-developers-accordion-title developers-text-body">Building with Gemini Embedding 2</span>
            </div>
            <div class="devsite-developers-accordion-icon-area">
              <span class="devsite-developers-accordion-icon material-symbols-outlined">
                <span>add</span>
                <span>remove</span>
              </span>
            </div>
          </button>
          <div class="devsite-developers-accordion-body devsite-developers-accordion-content " data-accordion-item="7">
            <div class="devsite-developers-accordion-body-inner">
              <div class="accordion-content-wrapper">
                <p class="devsite-developers-accordion-description devsite-developers-body-text">Agentic multimodal RAG and beyond</p>
                <a href="https://developers.googleblog.com/building-with-gemini-embedding-2/" class="devsite-developers-accordion-link"><span>Learn more</span></a>
                <img src="/static/assets/img/landing/Gemini-embedding.jpg" class="devsite-developers-accordion-body-image" alt>
              </div>
            </div>
          </div>
        </div>
        
        <div class="accordion-footer">
          <a href="https://developers.googleblog.com" class="developers-btn-blue">View all news</a>
        </div>
      </div>
      <div class="devsite-developers-accordion-image-col">
        <div class="devsite-developers-accordion-image-container">
          <div class="devsite-developers-accordion-image-stack">
            
            <img src="/static/assets/img/landing/io-dev-keynote.png" data-accordion-item="1" class="active">
            
            <img src="/static/assets/img/landing/ai-studio-build-new.png" data-accordion-item="2" class>
            
            <img src="/static/assets/img/landing/android-io-2026.png" data-accordion-item="3" class>
            
            <img src="/static/assets/img/landing/google-play-news-thumb.png" data-accordion-item="4" class>
            
            <img src="/static/assets/img/landing/google-updates-io.png" data-accordion-item="5" class>
            
            <img src="/static/assets/img/landing/Google-tpu.jpg" data-accordion-item="6" class>
            
            <img src="/static/assets/img/landing/Gemini-embedding.jpg" data-accordion-item="7" class>
            
          </div>
        </div>
      </div>
    </div>
  </div>
</devsite-developers-accordion>
      
<section class="developers-related-articles">
  <h2 class="developers-heading-4 section-title" id="community-events" data-text="Community &amp; Events" tabindex="-1">Community &amp; Events</h2>
  <div class="developers-grid">
    
    <a href="https://cloud.google.com/events/summit-dach-2026-developer" class="article-card">
      <div class="card-tag"><span class="dot"></span>Google Cloud</div>
      <div class="card-image">
        <img src="/static/assets/img/landing/article-thumb-google-cloud.png" alt="Google Cloud Summit DACH">
      </div>
      <p class="card-title developers-text-body">Google Cloud Summit DACH</p>
      <p class="card-description developers-text-body">Two days to move beyond the hype and build real solutions. Expect hands-on labs, live builds, and tech breakouts with Google Cloud engineers.</p>
      <div class="card-date">June 9-10 / Frankfurt</div>
    </a>
    
    <a href="https://google.com/url?sa=j&url=https%3A%2F%2Fwww.googlecloudevents.com%2Flondon-summit&uct=1764611598&usg=TEeioIyOMEOcHHVHOh7lA9JbSXE.&opi=73833047&source=chat" class="article-card">
      <div class="card-tag"><span class="dot"></span>Google Cloud</div>
      <div class="card-image">
        <img src="/static/assets/img/landing/article-thumb-summit-london.png" alt="Google Cloud Summit London">
      </div>
      <p class="card-title developers-text-body">Google Cloud Summit London</p>
      <p class="card-description developers-text-body">Step into the epicentre of AI innovation. Connect with experts, discover enterprise-ready agentic AI solutions, and experience how we're building the way forward in a new era of AI.</p>
      <div class="card-date">June 17-18 / London</div>
    </a>
    
    <a href="https://rsvp.withgoogle.com/events/ioconnect-india-2026" class="article-card">
      <div class="card-tag"><span class="dot"></span>Google I/O Connect</div>
      <div class="card-image">
        <img src="/static/assets/img/landing/article-thumb-io-connect.png" alt="I/O Connect India">
      </div>
      <p class="card-title developers-text-body">I/O Connect India</p>
      <p class="card-description developers-text-body">Dive into the best from Google I/O. Explore the latest across Android, AI, Chrome, and Cloud, and put what you've learned to work in your everyday projects.</p>
      <div class="card-date">July 14 / Bangalore</div>
    </a>
    
  </div>
  <div class="section-footer">
    <a href="https://developers.google.com/events" class="developers-btn-blue">View all events</a>
  </div>
</section>
      <section class="developer-program-section">
  <div class="developers-grid">
    <div class="developer-program-image">
      <img src="/static/assets/img/landing/developer-program.svg" alt="Google Developer Program">
    </div>
    <div class="developer-program-content">
      <div class="developer-program-logo">
        <img src="/static/assets/img/landing/Google_Developer Program_Primary Logo_Colour.svg" alt="Google Developer Program Logo">
      </div>
      <h2 class="developers-heading-4" id="build-and-manage-in-one-place" data-text="Build and manage in one place" tabindex="-1">Build and manage in one place</h2>
      <p class="developers-text-body">Access specialized AI workspaces, learn from 700+ hands-on codelabs, and manage projects from a centralized Builders Hub as you move from prototype to production.</p>
      <a href="https://developers.google.com/program" class="developers-btn-blue block-cta">Join the program</a>
    </div>
  </div>
</section>
    </div>
  </devsite-gemini-page>

  

  
    <devsite-hats-survey class="nocontent" data-nosnippet
      hats-id="5Djwt4Azw0iQ84LPiVd0QYQ4sHzc"
      listnr-id="5123748"></devsite-hats-survey>
  
</div>

  
    
    
    
  

  <div class="devsite-floating-action-buttons"></div></article>



<devsite-notification
>
</devsite-notification>


  
<div class="devsite-content-data">
  
  
    <template class="devsite-content-data-template">
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],[],[],["Google I/O is happening May 20-21; register to attend. Developers can utilize various tools like Android, Google Cloud (with $300 free credits), Google AI Studio, Gemini API, Chrome, and others. New releases include Gemini 2.0 and AI assistance in Chrome DevTools.  Ladybug has integrated Gemini into Android Studio. Explore developer events, learning resources, and communities.  Stay updated on Google technology via YouTube, Instagram, LinkedIn, and X. They are also hosting GDC.\n"]]
    </template>
  
</div>
            
          </devsite-content>
        </main>
        <devsite-footer-promos class="devsite-footer">
          
            
          
        </devsite-footer-promos>
        <devsite-footer-linkboxes class="devsite-footer">
          
            
<nav class="devsite-footer-linkboxes nocontent"
     aria-label="Footer links"
     data-nosnippet>
  
  <ul class="devsite-footer-linkboxes-list">
    
    <li class="devsite-footer-linkbox ">
    <h3 class="devsite-footer-linkbox-heading no-link">Engage</h3>
      <ul class="devsite-footer-linkbox-list">
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developers.google.com/program"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 1)"
            >
            
          
            Google Developer Program
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developers.google.com/community"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 2)"
            >
            
          
            Google Developer Groups
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developers.google.com/community/experts"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 3)"
            >
            
          
            Google Developer Experts
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developers.google.com/community/accelerators"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 4)"
            >
            
          
            Accelerators
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developers.google.com/community/nvidia"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 5)"
            >
            
              
              
            
          
            Google Cloud &amp; NVIDIA
          
          </a>
          
          
        </li>
        
      </ul>
    </li>
    
    <li class="devsite-footer-linkbox ">
    <h3 class="devsite-footer-linkbox-heading no-link">Connect</h3>
      <ul class="devsite-footer-linkbox-list">
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developers.googleblog.com/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 1)"
            >
            
          
            Blog
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://bsky.app/profile/developers.google.com"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 2)"
            >
            
          
            Bluesky
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://www.instagram.com/googlefordevs/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 3)"
            >
            
          
            Instagram
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://www.linkedin.com/showcase/googledevelopers/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 4)"
            >
            
          
            LinkedIn
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://x.com/googledevs"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 5)"
            >
            
          
            X (Twitter)
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://www.youtube.com/user/GoogleDevelopers"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 6)"
            >
            
              
              
            
          
            YouTube
          
          </a>
          
          
        </li>
        
      </ul>
    </li>
    
    <li class="devsite-footer-linkbox ">
    <h3 class="devsite-footer-linkbox-heading no-link">Build</h3>
      <ul class="devsite-footer-linkbox-list">
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 1)"
            >
            
          
            Android
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.chrome.com/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 2)"
            >
            
          
            Chrome
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://firebase.google.com/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 3)"
            >
            
          
            Firebase
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://aistudio.google.com/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 4)"
            >
            
          
            Google AI Studio
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://antigravity.google/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 5)"
            >
            
          
            Google Antigravity
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://cloud.google.com/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 6)"
            >
            
          
            Google Cloud
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://play.google.com/console/about/"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 7)"
            >
            
          
            Google Play
          
          </a>
          
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developers.google.com/products"
             class="devsite-footer-linkbox-link gc-analytics-event"
             data-category="Site-Wide Custom Events"
            
             data-label="Footer Link (index 8)"
            >
            
              
              
            
          
            View all
          
          </a>
          
          
        </li>
        
      </ul>
    </li>
    
  </ul>
  
</nav>
          
        </devsite-footer-linkboxes>
        <devsite-footer-utility class="devsite-footer">
          
            

<div class="devsite-footer-utility nocontent" data-nosnippet>
  
  
  <nav class="devsite-footer-sites" aria-label="Other Google Developers websites">
    <a href="https://developers.google.com/"
       class="devsite-footer-sites-logo-link gc-analytics-event"
       data-category="Site-Wide Custom Events"
       data-label="Footer Google Developers Link">
      <picture>
        
        <img class="devsite-footer-sites-logo"
             src="https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/images/lockup-google-for-developers.svg"
             loading="lazy"
             alt="Google Developers">
      </picture>
    </a>
    <ul class="devsite-footer-sites-list">
      
      <li class="devsite-footer-sites-item">
        <a href="//developer.android.com"
           class="devsite-footer-sites-link
                  gc-analytics-event"
           data-category="Site-Wide Custom Events"
         
           data-label="Footer Android Link"
         
         >
          Android
        </a>
      </li>
      
      <li class="devsite-footer-sites-item">
        <a href="//developer.chrome.com/home"
           class="devsite-footer-sites-link
                  gc-analytics-event"
           data-category="Site-Wide Custom Events"
         
           data-label="Footer Chrome Link"
         
         >
          Chrome
        </a>
      </li>
      
      <li class="devsite-footer-sites-item">
        <a href="//firebase.google.com"
           class="devsite-footer-sites-link
                  gc-analytics-event"
           data-category="Site-Wide Custom Events"
         
           data-label="Footer Firebase Link"
         
         >
          Firebase
        </a>
      </li>
      
      <li class="devsite-footer-sites-item">
        <a href="//cloud.google.com"
           class="devsite-footer-sites-link
                  gc-analytics-event"
           data-category="Site-Wide Custom Events"
         
           data-label="Footer Google Cloud Platform Link"
         
         >
          Google Cloud Platform
        </a>
      </li>
      
      <li class="devsite-footer-sites-item">
        <a href="//ai.google.dev/"
           class="devsite-footer-sites-link
                  gc-analytics-event"
           data-category="Site-Wide Custom Events"
         
           data-label="Footer Google AI Link"
         
         >
          Google AI
        </a>
      </li>
      
      <li class="devsite-footer-sites-item">
        <a href="/products"
           class="devsite-footer-sites-link
                  gc-analytics-event"
           data-category="Site-Wide Custom Events"
         
           data-label="Footer All products Link"
         
         >
          All products
        </a>
      </li>
      
    </ul>
  </nav>
  

  
  <nav class="devsite-footer-utility-links" aria-label="Utility links">
    
    <ul class="devsite-footer-utility-list">
      
      <li class="devsite-footer-utility-item
                 ">
        
        
        <a class="devsite-footer-utility-link gc-analytics-event"
           href="/terms/site-terms"
           data-category="Site-Wide Custom Events"
           data-label="Footer Terms link"
         >
          Terms
        </a>
        
      </li>
      
      <li class="devsite-footer-utility-item
                 ">
        
        
        <a class="devsite-footer-utility-link gc-analytics-event"
           href="//policies.google.com/privacy"
           data-category="Site-Wide Custom Events"
           data-label="Footer Privacy link"
         >
          Privacy
        </a>
        
      </li>
      
      <li class="devsite-footer-utility-item
                 glue-cookie-notification-bar-control">
        
        
        <a class="devsite-footer-utility-link gc-analytics-event"
           href="#"
           data-category="Site-Wide Custom Events"
           data-label="Footer Manage cookies link"
         
           aria-hidden="true"
         >
          Manage cookies
        </a>
        
      </li>
      
    </ul>
    
    
<devsite-language-selector>
  <ul role="presentation">
    
    
    <li role="presentation">
      <a role="menuitem" lang="en"
        >English</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="de"
        >Deutsch</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="es"
        >Español</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="es_419"
        >Español – América Latina</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="fr"
        >Français</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="id"
        >Indonesia</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="it"
        >Italiano</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="pl"
        >Polski</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="pt_br"
        >Português – Brasil</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="vi"
        >Tiếng Việt</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="tr"
        >Türkçe</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="ru"
        >Русский</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="he"
        >עברית</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="ar"
        >العربيّة</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="fa"
        >فارسی</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="hi"
        >हिंदी</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="bn"
        >বাংলা</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="th"
        >ภาษาไทย</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="zh_cn"
        >中文 – 简体</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="zh_tw"
        >中文 – 繁體</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="ja"
        >日本語</a>
    </li>
    
    <li role="presentation">
      <a role="menuitem" lang="ko"
        >한국어</a>
    </li>
    
  </ul>
</devsite-language-selector>

  </nav>
</div>
          
        </devsite-footer-utility>
        <devsite-panel>
          
        </devsite-panel>
        
          <devsite-concierge
  
  
    data-info-panel
  
  
    data-ai-panel
  
  
  
  
    data-api-explorer-panel
  >
</devsite-concierge>
        
      </section>
      </section>
    <devsite-sitemask></devsite-sitemask>
    <devsite-snackbar></devsite-snackbar>
    <devsite-tooltip ></devsite-tooltip>
    <devsite-heading-link></devsite-heading-link>
    <devsite-analytics>
      
        <script type="application/json" analytics>[{&#34;dimensions&#34;: {&#34;dimension4&#34;: &#34;Google for Developers&#34;, &#34;dimension5&#34;: &#34;en&#34;, &#34;dimension3&#34;: false, &#34;dimension1&#34;: &#34;Signed out&#34;, &#34;dimension11&#34;: false, &#34;dimension6&#34;: &#34;en&#34;}, &#34;gaid&#34;: &#34;UA-24532603-1&#34;, &#34;metrics&#34;: {&#34;ratings_count&#34;: &#34;metric2&#34;, &#34;ratings_value&#34;: &#34;metric1&#34;}, &#34;purpose&#34;: 1}]</script>
<script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}, {&#34;id&#34;: &#34;G-P65P8J8YWQ&#34;, &#34;purpose&#34;: 0}], &#34;ga4p&#34;: [{&#34;id&#34;: &#34;G-272J68FCRF&#34;, &#34;purpose&#34;: 1}], &#34;gtm&#34;: [{&#34;id&#34;: &#34;GTM-T98GCPGN&#34;, &#34;purpose&#34;: 1}], &#34;parameters&#34;: {&#34;internalUser&#34;: &#34;False&#34;, &#34;language&#34;: {&#34;machineTranslated&#34;: &#34;False&#34;, &#34;requested&#34;: &#34;en&#34;, &#34;served&#34;: &#34;en&#34;}, &#34;pageType&#34;: &#34;marketing&#34;, &#34;projectName&#34;: &#34;Google for Developers&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;developers&#34;, &#34;recommendations&#34;: {&#34;sourcePage&#34;: &#34;&#34;, &#34;sourceType&#34;: 0, &#34;sourceRank&#34;: 0, &#34;sourceIdenticalDescriptions&#34;: 0, &#34;sourceTitleWords&#34;: 0, &#34;sourceDescriptionWords&#34;: 0, &#34;experiment&#34;: &#34;&#34;}, &#34;experiment&#34;: {&#34;ids&#34;: &#34;&#34;}}}</script>
      
    </devsite-analytics>
    
      <devsite-badger></devsite-badger>
    
    
    
    
<script nonce="7PidYlXee8LiLqFeBYFJojbKVbfR52">
  
  (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i;
    t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0];
    E.parentNode.insertBefore(t,E);})(window, document, 'script',
    'https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594","https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers","https://developers-dot-devsite-v2-prod.appspot.com",1,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/images/favicon-new.png","https://www.gstatic.com/devrel-devsite/prod/v24818332c90d61e5d34a589b2829727722a413c578565f115ef1e5a51367c594/developers/images/lockup-new.svg","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Profiles__enable_callout_notifications","DevPro__enable_firebase_workspaces_card","Profiles__enable_developer_profile_pages_as_content","DevPro__enable_cloud_innovators_plus","DevPro__enable_credits_banner","Search__enable_ai_search_summaries_for_all","DevPro__enable_enterprise","MiscFeatureFlags__fix_lower_breadcrumbs","TpcFeatures__enable_unmirrored_page_left_nav","DevPro__enable_code_assist","MiscFeatureFlags__enable_view_transitions","SignIn__enable_l1_signup_flow","Search__enable_page_map","MiscFeatureFlags__enable_appearance_cookies","Concierge__enable_remove_info_panel_tags","Significatio__enable_by_tenant","Analytics__enable_devpro_interaction_logging","DevPro__enable_embed_profile_creation","DevPro__enable_payments_first_batch","Profiles__enable_recognition_badges","Cloud__fast_free_trial","MiscFeatureFlags__gdp_dashboard_reskin_enabled","DevPro__enable_g1_integration","Cloud__enable_cloudx_experiment_ids","Cloud__enable_cloud_shell_fte_user_flow","Search__enable_suggestions_from_borg","MiscFeatureFlags__enable_variable_operator_index_yaml","MiscFeatureFlags__enable_explain_this_code","MiscFeatureFlags__developers_footer_dark_image","Cloud__cache_serialized_dynamic_content","Concierge__enable_key_takeaways_new_ui","Concierge__enable_concierge_restricted","DevPro__enable_devpro_offers","Profiles__enable_completecodelab_endpoint","DevPro__enable_devsite_captcha","Profiles__enable_release_notes_notifications","MiscFeatureFlags__developers_footer_image","Profiles__enable_awarding_url","Cloud__enable_llm_concierge_chat","DevPro__enable_free_benefits","Experiments__reqs_query_experiments","Concierge__enable_devsite_llm_tools","Search__enable_dynamic_content_confidential_banner","Profiles__enable_profile_collections","Profiles__enable_complete_playlist_endpoint","MiscFeatureFlags__remove_cross_domain_tracking_params","Analytics__enable_clearcut_logging","DevPro__remove_eu_tax_intake_form","DevPro__enable_nvidia_credits_card","MiscFeatureFlags__enable_framebox_badge_methods","Profiles__enable_user_type","CloudShell__cloud_shell_button","Cloud__enable_legacy_calculator_redirect","Profiles__enable_public_developer_profiles","Profiles__enable_dashboard_curated_recommendations","Profiles__require_profile_eligibility_for_signin","Profiles__enable_targeted_hero","Cloud__enable_free_trial_server_call","Concierge__enable_pushui","Concierge__enable_actions_menu","Profiles__enable_playlist_community_acl","DevPro__enable_google_one_card","TpcFeatures__proxy_prod_host","MiscFeatureFlags__enable_explicit_template_dependencies","MiscFeatureFlags__enable_project_variables","Profiles__enable_page_saving","EngEduTelemetry__enable_engedu_telemetry","MiscFeatureFlags__enable_firebase_utm","Profiles__enable_developer_profile_benefits_ui_redesign","MiscFeatureFlags__enable_variable_operator","Concierge__enable_key_takeaways","Profiles__enable_auto_apply_credits","Profiles__enable_stripe_subscription_management","DevPro__enable_vertex_credit_card","Cloud__enable_cloud_shell","Profiles__enable_completequiz_endpoint","Concierge__enable_concierge","Profiles__enable_join_program_group_endpoint","Profiles__enable_developer_profiles_callout","BookNav__enable_tenant_cache_key","Search__enable_ai_search_summaries","Profiles__enable_purchase_prompts","Cloud__enable_cloud_dlp_service","Search__enable_ai_search_summaries_restricted","DevPro__enable_developer_subscriptions","Search__enable_ai_eligibility_checks","CloudShell__cloud_code_overflow_menu","DevPro__enable_google_payments_buyflow"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1,null,null,["/meridian"]],[1,null,null,null,null,null,null,["/admob","/ad-manager/mobile-ads-sdk","/ml-kit"]],null,[null,["/meridian","/youtube/devices/"]],1,null,[1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],["GTM-T98GCPGN"],null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],[["GTM-T98GCPGN",2]],1],[[5,4],[3,2],[14,11],[15,12],[4,3],[11,8],[6,5],[13,10],[12,9],[1,1],[16,13]],[[1,1],[2,2]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google",null,null,null,null,null,[]],1,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m",1,1,"https://developerscontentinsights-pa.clients6.google.com","AIzaSyCg-ZUslalsEbXMfIo9ZP8qufZgo3LSBDU","AIzaSyDxT0vkxnY_KeINtA4LSePJO-4MAZPMRsE","https://developers.clients6.google.com",["https://codeassist.google.com","https://code-assist-free-tier.corp.google.com"],null,"AIzaSyBQom12tzI-rybN7Sf-KfeL4nwm-Rf7PmI\n",null,null,"https://developers.googleapis.com"]')
  
</script>

    <devsite-a11y-announce></devsite-a11y-announce>
  </body>
</html>