CINXE.COM

Recognize Text in Images Securely with Cloud Vision using Firebase Auth and Functions on Apple platforms  |  Firebase ML

<!doctype html> <html lang="en" dir="ltr"> <head> <base href="https://firebase.google.com/docs/ml/ios/recognize-text"> <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"> <meta property="og:site_name" content="Firebase"> <meta property="og:type" content="website"> <meta name="theme-color" content="#a8c7fa"> <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/firebase/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.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&amp;display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&amp;family=Material+Symbols+Outlined&amp;display=block"> <link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/css/app.css"> <link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/css/dark-theme.css" disabled> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/favicon.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/touchicon-180.png"> <link rel="canonical" href="https://firebase.google.com/docs/ml/ios/recognize-text"> <link rel="search" type="application/opensearchdescription+xml" title="Firebase" href="https://firebase.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://firebase.google.com/docs/ml/ios/recognize-text"> <link rel="alternate" hreflang="x-default" href="https://firebase.google.com/docs/ml/ios/recognize-text"> <link rel="alternate" hreflang="ar" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=ar"> <link rel="alternate" hreflang="bn" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=bn"> <link rel="alternate" hreflang="zh-Hans" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=zh-cn"> <link rel="alternate" hreflang="zh-Hant" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=zh-tw"> <link rel="alternate" hreflang="fa" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=fa"> <link rel="alternate" hreflang="fr" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=fr"> <link rel="alternate" hreflang="de" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=de"> <link rel="alternate" hreflang="he" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=he"> <link rel="alternate" hreflang="hi" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=hi"> <link rel="alternate" hreflang="id" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=id"> <link rel="alternate" hreflang="it" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=it"> <link rel="alternate" hreflang="ja" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=ja"> <link rel="alternate" hreflang="ko" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=ko"> <link rel="alternate" hreflang="pl" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=pl"> <link rel="alternate" hreflang="pt-BR" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=pt-br"> <link rel="alternate" hreflang="pt" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=pt"> <link rel="alternate" hreflang="ru" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=ru"> <link rel="alternate" hreflang="es" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=es"> <link rel="alternate" hreflang="es-419" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=es-419"> <link rel="alternate" hreflang="th" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=th"> <link rel="alternate" hreflang="tr" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=tr"> <link rel="alternate" hreflang="vi" href="https://firebase.google.com/docs/ml/ios/recognize-text?hl=vi"> <title>Recognize Text in Images Securely with Cloud Vision using Firebase Auth and Functions on Apple platforms &nbsp;|&nbsp; Firebase ML</title> <meta property="og:title" content="Recognize Text in Images Securely with Cloud Vision using Firebase Auth and Functions on Apple platforms &nbsp;|&nbsp; Firebase ML"> <meta property="og:url" content="https://firebase.google.com/docs/ml/ios/recognize-text"> <meta property="og:locale" content="en"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Recognize Text in Images Securely with Cloud Vision using Firebase Auth and Functions on Apple platforms" } </script> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Documentation", "item": "https://firebase.google.com/docs" },{ "@type": "ListItem", "position": 2, "name": "Firebase ML", "item": "https://firebase.google.com/docs/ml" },{ "@type": "ListItem", "position": 3, "name": "Recognize Text in Images Securely with Cloud Vision using Firebase Auth and Functions on Apple platforms", "item": "https://firebase.google.com/docs/ml/ios/recognize-text" }] } </script> <link rel="stylesheet" href="/extras.css"> <meta http-equiv="X-Translated-By" content="Google"> <meta http-equiv="X-Translated-To" content="ar"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1hbgkFx4Qn8.O/am=DgY/d=1/rs=AN8SPfqlmAPxwfG457BPbRXwNq39oSMGHg/m=corsproxy" data-sourceurl="https://firebase.google.com/docs/ml/ios/recognize-text"></script> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200" rel="stylesheet"> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1hbgkFx4Qn8.O/am=DgY/d=1/exm=corsproxy/ed=1/rs=AN8SPfqlmAPxwfG457BPbRXwNq39oSMGHg/m=phishing_protection" data-phishing-protection-enabled="false" data-forms-warning-enabled="true" data-source-url="https://firebase.google.com/docs/ml/ios/recognize-text"></script> <meta name="robots" content="none"> </head> <body class="" template="page" theme="firebase-icy-theme" type="article" appearance layout="docs" display-toc pending> <script type="text/javascript" src="https://www.gstatic.com/_/translate_http/_/js/k=translate_http.tr.en_GB.1hbgkFx4Qn8.O/am=DgY/d=1/exm=corsproxy,phishing_protection/ed=1/rs=AN8SPfqlmAPxwfG457BPbRXwNq39oSMGHg/m=navigationui" data-environment="prod" data-proxy-url="https://firebase-google-com.translate.goog" data-proxy-full-url="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" data-source-url="https://firebase.google.com/docs/ml/ios/recognize-text" data-source-language="pl" data-target-language="ar" data-display-language="en-GB" data-detected-source-language="" data-is-source-untranslated="false" data-source-untranslated-url="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://firebase.google.com/docs/ml/ios/recognize-text&amp;anno=2" data-client="tr"></script><devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"><devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner" keep-tabs-visible> <div class="devsite-header--inner nocontent"> <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="https://firebase-google-com.translate.goog/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="firebase" track-metadata-position="nav" track-metadata-eventdetail="nav"> <picture> <source srcset="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/lockup.svg" media="(prefers-color-scheme: dark)" class="devsite-dark-theme" alt="Firebase"> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/lockup.svg" class="devsite-site-logo" alt="Firebase"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "></li> </ul></span> </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 class="devsite-dropdown "> <a href="https://firebase-google-com.translate.goog/products-build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/products-build" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - build" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Build" track-name="build"> Build </a> <a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Build" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products-build" track-metadata-position="nav - build" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Build" track-name="build" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column firebase-dropdown firebase-dropdown--primary firebase-build"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Build</li> <li class="devsite-nav-description">Get to market quickly and securely with products that can scale globally</li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products-build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products-build" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build" tooltip> <div class="devsite-nav-item-title"> Go to Build </div></a></li> </ul> </div> <div class="devsite-tabs-dropdown-column firebase-dropdown firebase-dropdown--secondary firebase-build"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Build Products</li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/app-check?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/app-check" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> App Check </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/app-hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/app-hosting" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> App Hosting </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/auth" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Authentication </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/functions" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Cloud Functions </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/storage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/storage" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Cloud Storage </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/data-connect?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/data-connect" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Data Connect </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/extensions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/extensions" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Extensions </div></a></li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/ml?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/ml" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Firebase ML </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/firestore" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Firestore </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/genkit?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/genkit" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Genkit </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/hosting" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Hosting </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/realtime-database?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/realtime-database" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Realtime Database </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/vertex-ai-in-firebase?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/vertex-ai-in-firebase" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Vertex AI in Firebase </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/generative-ai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/generative-ai" track-metadata-position="nav - build" track-metadata-module="tertiary nav" track-metadata-module_headline="build products" tooltip> <div class="devsite-nav-item-title"> Generative AI </div></a></li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://firebase-google-com.translate.goog/products-run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/products-run" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - run" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Run" track-name="run"> Run </a> <a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Run" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products-run" track-metadata-position="nav - run" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Run" track-name="run" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column firebase-dropdown firebase-dropdown--primary firebase-run"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Run</li> <li class="devsite-nav-description">Run your app with confidence and deliver the best experience for your users</li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products-run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products-run" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run" tooltip> <div class="devsite-nav-item-title"> Go to Run </div></a></li> </ul> </div> <div class="devsite-tabs-dropdown-column firebase-dropdown firebase-dropdown--secondary"> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Run Products</li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/ab-testing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/ab-testing" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run products" tooltip> <div class="devsite-nav-item-title"> A/B Testing </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/app-distribution?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/app-distribution" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run products" tooltip> <div class="devsite-nav-item-title"> App Distribution </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/cloud-messaging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/cloud-messaging" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run products" tooltip> <div class="devsite-nav-item-title"> Cloud Messaging </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/crashlytics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/crashlytics" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run products" tooltip> <div class="devsite-nav-item-title"> Crashlytics </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/analytics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/analytics" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run products" tooltip> <div class="devsite-nav-item-title"> Google Analytics </div></a></li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/in-app-messaging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/in-app-messaging" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run products" tooltip> <div class="devsite-nav-item-title"> In-App Messaging </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/performance?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/performance" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run products" tooltip> <div class="devsite-nav-item-title"> Performance Monitoring </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/remote-config?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/remote-config" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run products" tooltip> <div class="devsite-nav-item-title"> Remote Config </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/test-lab?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/products/test-lab" track-metadata-position="nav - run" track-metadata-module="tertiary nav" track-metadata-module_headline="run products" tooltip> <div class="devsite-nav-item-title"> Test Lab </div></a></li> </ul> </div> </div> </div> </tab> <tab> <a href="https://firebase-google-com.translate.goog/solutions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/solutions" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - solutions" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Solutions" track-name="solutions"> Solutions </a> </tab> <tab> <a href="https://firebase-google-com.translate.goog/pricing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/pricing" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - pricing" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Pricing" track-name="pricing"> Pricing </a> </tab> <tab class="devsite-dropdown devsite-active "> <a href="https://firebase-google-com.translate.goog/docs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/docs" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - docs" track-metadata-module="primary nav" aria-label="Docs, selected" data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs"> Docs </a> <a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Docs" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs" track-metadata-position="nav - docs" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Overview </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/guides?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/guides" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Fundamentals </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/build" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Build </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/run" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Run </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/reference" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Reference </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/samples?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/samples" track-metadata-position="nav - docs" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Samples </div></a></li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://firebase-google-com.translate.goog/community?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/community" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community"> Community </a> <a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Community" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/community" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/community/learn?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/community/learn" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Learn </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/community/events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/community/events" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Events </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/community/stories?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/community/stories" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Stories </div></a></li> </ul> </div> </div> </div> </tab> <tab> <a href="https://firebase-google-com.translate.goog/support?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/support" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - support" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support"> Support </a> </tab> </nav> </devsite-tabs> </div><devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Firebase ML" tenant-name="Firebase"> <form class="devsite-search-form" action="https://firebase.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"> </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-appearance-selector></devsite-appearance-selector> <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">Português</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> <a class="devsite-header-link devsite-top-button button gc-analytics-event" href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://console.firebase.google.com" data-category="Site-Wide Custom Events" data-label="Site header link"> Go to console </a> <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 "> <div class="devsite-header-background"> <div class="devsite-product-id-row"> <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" aria-label="Lower header breadcrumb"> <li class="devsite-breadcrumb-item "><a href="https://firebase-google-com.translate.goog/docs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Firebase Documentation"> Documentation </a></li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div><a href="https://firebase-google-com.translate.goog/docs/ml?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="Firebase ML"> Firebase ML </a></li> </ul> </div> </div> <div class="devsite-doc-set-nav-row"><devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"><tab> <a href="https://firebase-google-com.translate.goog/docs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/docs" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview"> Overview </a> </tab> <tab class="devsite-dropdown "> <a href="https://firebase-google-com.translate.goog/docs/guides?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/docs/guides" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - fundamentals" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Fundamentals" track-name="fundamentals"> Fundamentals </a> <a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Fundamentals" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/guides" track-metadata-position="nav - fundamentals" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Fundamentals" track-name="fundamentals" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ios/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/ios/setup" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Add Firebase - Apple platforms (iOS+) </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/android/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/android/setup" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Add Firebase - Android </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/web/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/web/setup" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Add Firebase - Web </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/flutter/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/flutter/setup" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Add Firebase - Flutter </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/cpp/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/cpp/setup" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Add Firebase - C++ </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/unity/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/unity/setup" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Add Firebase - Unity </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/admin/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/admin/setup" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Add Firebase - Server environments </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/projects/learn-more?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/projects/learn-more" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Manage Firebase projects </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/libraries?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/libraries" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Supported platforms &amp; frameworks </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/emulator-suite" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Use Emulator Suite </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/gemini-in-firebase?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/gemini-in-firebase" track-metadata-position="nav - fundamentals" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> AI assistance with Gemini in Firebase </div></a></li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown devsite-active "> <a href="https://firebase-google-com.translate.goog/docs/build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/docs/build" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - build" track-metadata-module="primary nav" aria-label="Build, selected" data-category="Site-Wide Custom Events" data-label="Tab: Build" track-name="build"> Build </a> <a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Build" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/build" track-metadata-position="nav - build" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Build" track-name="build" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/emulator-suite" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Emulator Suite </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/auth" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Authentication </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/app-check" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> App Check </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/data-connect" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Data Connect </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/firestore" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Firestore </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/database" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Realtime Database </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/storage" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Storage </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/rules" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Security Rules </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/app-hosting" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> App Hosting </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/hosting" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Hosting </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/functions" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Cloud Functions </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/extensions" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Extensions </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/vertex-ai" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Vertex AI in Firebase </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/genkit" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Genkit </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/ml" track-metadata-position="nav - build" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> ML </div></a></li> </ul> </div> </div> </div> </tab> <tab class="devsite-dropdown "> <a href="https://firebase-google-com.translate.goog/docs/run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/docs/run" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - run" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Run" track-name="run"> Run </a> <a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Run" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/run" track-metadata-position="nav - run" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Run" track-name="run" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/test-lab?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/test-lab" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Test Lab </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-distribution?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/app-distribution" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> App Distribution </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/crashlytics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/crashlytics" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Crashlytics </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/perf-mon?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/perf-mon" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Performance Monitoring </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/remote-config?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/remote-config" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Remote Config </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ab-testing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/ab-testing" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> A/B Testing </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/analytics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/analytics" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Analytics </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/cloud-messaging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/cloud-messaging" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Cloud Messaging </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/in-app-messaging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/in-app-messaging" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> In-App Messaging </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/dynamic-links?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/dynamic-links" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Dynamic Links </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/admob?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/admob" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Google AdMob </div></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ads?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-type="nav" track-metadata-eventdetail="https://firebase.google.com/docs/ads" track-metadata-position="nav - run" track-metadata-module="tertiary nav" tooltip> <div class="devsite-nav-item-title"> Google Ads </div></a></li> </ul> </div> </div> </div> </tab> <tab> <a href="https://firebase-google-com.translate.goog/docs/reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/docs/reference" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference"> Reference </a> </tab> <tab> <a href="https://firebase-google-com.translate.goog/docs/samples?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" track-metadata-eventdetail="https://firebase.google.com/docs/samples" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples"> Samples </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars> <div class="devsite-book-nav-filter"><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" 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="https://firebase-google-com.translate.goog/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="firebase" track-metadata-position="nav" track-metadata-eventdetail="nav"> <picture> <source srcset="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/lockup.svg" media="(prefers-color-scheme: dark)" class="devsite-dark-theme" alt="Firebase"> <img src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/lockup.svg" class="devsite-site-logo" alt="Firebase"> </picture> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "></li> </ul></span> </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="https://firebase-google-com.translate.goog/products-build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Build" track-name="build" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Build </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"><span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Build" track-name="build"> <span class="devsite-nav-text" tooltip menu="Build"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Build"> </span> </span></li> </ul></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products-run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Run" track-name="run" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Run </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"><span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Run" track-name="run"> <span class="devsite-nav-text" tooltip menu="Run"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Run"> </span> </span></li> </ul></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/solutions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Solutions" track-name="solutions" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Solutions </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/pricing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Pricing" track-name="pricing" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Pricing </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Docs </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"><span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs"> <span class="devsite-nav-text" tooltip menu="Docs"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Docs"> </span> </span></li> </ul> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Overview </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/guides?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Fundamentals" track-name="fundamentals" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Fundamentals </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu devsite-lower-tab-item"> <li class="devsite-nav-item"><span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Fundamentals" track-name="fundamentals"> <span class="devsite-nav-text" tooltip menu="Fundamentals"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Fundamentals"> </span> </span></li> </ul></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Build" track-name="build" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Build </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu devsite-lower-tab-item"> <li class="devsite-nav-item"><span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Build" track-name="build"> <span class="devsite-nav-text" tooltip menu="Build"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Build"> </span> </span></li> </ul></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Run" track-name="run" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Run </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu devsite-lower-tab-item"> <li class="devsite-nav-item"><span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Run" track-name="run"> <span class="devsite-nav-text" tooltip menu="Run"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Run"> </span> </span></li> </ul></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Reference </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/samples?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Samples </span> </a></li> </ul></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/community?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Community </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"><span class="devsite-nav-title" tooltip data-category="Site-Wide Custom Events" data-label="Tab: Community" track-name="community"> <span class="devsite-nav-text" tooltip menu="Community"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Community"> </span> </span></li> </ul></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/support?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Support </span> </a></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://console.firebase.google.com" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Go to console" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Go to console </span> </a></li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/build" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/build"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Emulator Suite</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Connect your app and prototype</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/connect_and_prototype?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/connect_and_prototype" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/connect_and_prototype"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/connect_auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/connect_auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/connect_auth"><span class="devsite-nav-text" tooltip>Connect to the Authentication emulator</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/connect_rtdb?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/connect_rtdb" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/connect_rtdb"><span class="devsite-nav-text" tooltip>Connect to the Realtime Database emulator</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/connect_firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/connect_firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/connect_firestore"><span class="devsite-nav-text" tooltip>Connect to the Firestore emulator</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/connect_storage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/connect_storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/connect_storage"><span class="devsite-nav-text" tooltip>Connect to the Cloud Storage for Firebase emulator</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/use_hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/use_hosting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/use_hosting"><span class="devsite-nav-text" tooltip>Use the Hosting emulator</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/use_app_hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/use_app_hosting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/use_app_hosting"><span class="devsite-nav-text" tooltip>Use the App Hosting emulator</span></a></li> <li class="devsite-nav-item devsite-nav-beta"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/connect_functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/connect_functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/connect_functions"><span class="devsite-nav-text" tooltip>Connect to the Cloud Functions emulator</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-beta"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/use_extensions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/use_extensions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/use_extensions"><span class="devsite-nav-text" tooltip>Use the Extensions emulator</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite/install_and_configure?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/emulator-suite/install_and_configure" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/emulator-suite/install_and_configure"><span class="devsite-nav-text" tooltip>Install, configure and integrate</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Authentication</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/where-to-start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/where-to-start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/where-to-start"><span class="devsite-nav-text" tooltip>Where do I start?</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/users"><span class="devsite-nav-text" tooltip>Users in Firebase Projects</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>iOS+</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/firebaseui?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/firebaseui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/firebaseui"><span class="devsite-nav-text" tooltip>Sign in with a pre-built UI</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/manage-users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/manage-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/manage-users"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/password-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/password-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/password-auth"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/email-link-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/email-link-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/email-link-auth"><span class="devsite-nav-text" tooltip>Email Link Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/google-signin?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/google-signin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/google-signin"><span class="devsite-nav-text" tooltip>Google</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/facebook-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/facebook-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/facebook-login"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/apple?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/apple" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/apple"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/twitter-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/twitter-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/twitter-login"><span class="devsite-nav-text" tooltip>Twitter Login</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/github-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/github-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/github-auth"><span class="devsite-nav-text" tooltip>GitHub</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/microsoft-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/microsoft-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/microsoft-oauth"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/yahoo-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/yahoo-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/yahoo-oauth"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/game-center?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/game-center" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/game-center"><span class="devsite-nav-text" tooltip>Game Center Sign-in</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/phone-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/phone-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/phone-auth"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/openid-connect?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/openid-connect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/openid-connect"><span class="devsite-nav-text" tooltip>OpenID Connect</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/custom-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/custom-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/custom-auth"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/anonymous-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/anonymous-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/anonymous-auth"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/single-sign-on?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/single-sign-on" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/single-sign-on"><span class="devsite-nav-text" tooltip>Enabling cross-app authentication with shared Keychain</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/account-linking?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/account-linking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/account-linking"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/multi-factor?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/multi-factor" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/multi-factor"><span class="devsite-nav-text" tooltip>SMS Multi-factor Auth</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/totp-mfa?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/totp-mfa" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/totp-mfa"><span class="devsite-nav-text" tooltip>TOTP Multi-factor Auth</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/passing-state-in-email-actions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/passing-state-in-email-actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/passing-state-in-email-actions"><span class="devsite-nav-text" tooltip>Passing State in Email Actions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/ios/errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/ios/errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/ios/errors"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Android</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/firebaseui?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/firebaseui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/firebaseui"><span class="devsite-nav-text" tooltip>Sign in with a pre-built UI</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/manage-users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/manage-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/manage-users"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/password-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/password-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/password-auth"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/email-link-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/email-link-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/email-link-auth"><span class="devsite-nav-text" tooltip>Email Link Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/google-signin?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/google-signin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/google-signin"><span class="devsite-nav-text" tooltip>Google</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/facebook-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/facebook-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/facebook-login"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/apple?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/apple" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/apple"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/twitter-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/twitter-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/twitter-login"><span class="devsite-nav-text" tooltip>Twitter</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/github-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/github-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/github-auth"><span class="devsite-nav-text" tooltip>GitHub</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/microsoft-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/microsoft-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/microsoft-oauth"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/yahoo-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/yahoo-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/yahoo-oauth"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/play-games?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/play-games" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/play-games"><span class="devsite-nav-text" tooltip>Play Games Sign-in</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/phone-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/phone-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/phone-auth"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/openid-connect?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/openid-connect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/openid-connect"><span class="devsite-nav-text" tooltip>OpenID Connect</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/custom-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/custom-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/custom-auth"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/anonymous-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/anonymous-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/anonymous-auth"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/multi-factor?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/multi-factor" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/multi-factor"><span class="devsite-nav-text" tooltip>SMS Multi-factor Auth</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/totp-mfa?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/totp-mfa" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/totp-mfa"><span class="devsite-nav-text" tooltip>TOTP Multi-factor Auth</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/account-linking?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/account-linking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/account-linking"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/android/passing-state-in-email-actions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/android/passing-state-in-email-actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/android/passing-state-in-email-actions"><span class="devsite-nav-text" tooltip>Passing State in Email Actions</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Flutter</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/manage-users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/manage-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/manage-users"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/password-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/password-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/password-auth"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/email-link-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/email-link-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/email-link-auth"><span class="devsite-nav-text" tooltip>Email Link Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/federated-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/federated-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/federated-auth"><span class="devsite-nav-text" tooltip>Federated Identity &amp; Social</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/phone-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/phone-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/phone-auth"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/custom-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/custom-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/custom-auth"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/anonymous-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/anonymous-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/anonymous-auth"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/multi-factor?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/multi-factor" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/multi-factor"><span class="devsite-nav-text" tooltip>Multi-factor Auth</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/account-linking?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/account-linking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/account-linking"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/passing-state-in-email-actions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/passing-state-in-email-actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/passing-state-in-email-actions"><span class="devsite-nav-text" tooltip>Passing State in Email Actions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/flutter/errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/flutter/errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/flutter/errors"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Web</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/firebaseui?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/firebaseui" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/firebaseui"><span class="devsite-nav-text" tooltip>Sign in with a pre-built UI</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/manage-users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/manage-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/manage-users"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/password-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/password-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/password-auth"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/email-link-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/email-link-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/email-link-auth"><span class="devsite-nav-text" tooltip>Email Link Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/google-signin?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/google-signin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/google-signin"><span class="devsite-nav-text" tooltip>Google</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/facebook-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/facebook-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/facebook-login"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/apple?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/apple" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/apple"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/twitter-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/twitter-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/twitter-login"><span class="devsite-nav-text" tooltip>Twitter</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/github-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/github-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/github-auth"><span class="devsite-nav-text" tooltip>GitHub</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/microsoft-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/microsoft-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/microsoft-oauth"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/yahoo-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/yahoo-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/yahoo-oauth"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/phone-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/phone-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/phone-auth"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/openid-connect?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/openid-connect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/openid-connect"><span class="devsite-nav-text" tooltip>OpenID Connect</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/saml?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/saml" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/saml"><span class="devsite-nav-text" tooltip>SAML</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/custom-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/custom-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/custom-auth"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/anonymous-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/anonymous-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/anonymous-auth"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/multi-factor?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/multi-factor" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/multi-factor"><span class="devsite-nav-text" tooltip>SMS Multi-factor Auth</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/totp-mfa?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/totp-mfa" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/totp-mfa"><span class="devsite-nav-text" tooltip>TOTP Multi-factor Auth</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/account-linking?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/account-linking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/account-linking"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/custom-dependencies?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/custom-dependencies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/custom-dependencies"><span class="devsite-nav-text" tooltip>Customize Dependencies</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/cordova?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/cordova" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/cordova"><span class="devsite-nav-text" tooltip>OAuth Sign-In for Cordova</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/chrome-extension?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/chrome-extension" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/chrome-extension"><span class="devsite-nav-text" tooltip>Sign in users from a Chrome extension</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/auth-state-persistence?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/auth-state-persistence" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/auth-state-persistence"><span class="devsite-nav-text" tooltip>Auth State Persistence</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/passing-state-in-email-actions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/passing-state-in-email-actions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/passing-state-in-email-actions"><span class="devsite-nav-text" tooltip>Passing State in Email Actions</span></a></li> <li class="devsite-nav-item devsite-nav-beta"><a href="https://firebase-google-com.translate.goog/docs/auth/web/service-worker-sessions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/service-worker-sessions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/service-worker-sessions"><span class="devsite-nav-text" tooltip>Service Worker Sessions</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/web/redirect-best-practices?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/web/redirect-best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/web/redirect-best-practices"><span class="devsite-nav-text" tooltip>Best practices for signInWithRedirect flows</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>C++</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/manage-users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/manage-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/manage-users"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/password-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/password-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/password-auth"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/google-signin?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/google-signin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/google-signin"><span class="devsite-nav-text" tooltip>Google</span></a></li> <li class="devsite-nav-item devsite-nav-beta"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/play-games?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/play-games" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/play-games"><span class="devsite-nav-text" tooltip>Play Games Sign-in</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/github-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/github-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/github-auth"><span class="devsite-nav-text" tooltip>GitHub</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/facebook-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/facebook-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/facebook-login"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/apple?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/apple" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/apple"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/twitter-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/twitter-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/twitter-login"><span class="devsite-nav-text" tooltip>Twitter Login</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/microsoft-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/microsoft-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/microsoft-oauth"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/yahoo-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/yahoo-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/yahoo-oauth"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/phone-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/phone-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/phone-auth"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/custom-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/custom-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/custom-auth"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/anonymous-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/anonymous-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/anonymous-auth"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/cpp/account-linking?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/cpp/account-linking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/cpp/account-linking"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Unity</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/manage-users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/manage-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/manage-users"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/password-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/password-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/password-auth"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/google-signin?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/google-signin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/google-signin"><span class="devsite-nav-text" tooltip>Google</span></a></li> <li class="devsite-nav-item devsite-nav-beta"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/play-games?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/play-games" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/play-games"><span class="devsite-nav-text" tooltip>Play Games Sign-in</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/github-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/github-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/github-auth"><span class="devsite-nav-text" tooltip>GitHub Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/facebook-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/facebook-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/facebook-login"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/apple?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/apple" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/apple"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/twitter-login?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/twitter-login" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/twitter-login"><span class="devsite-nav-text" tooltip>Twitter Login</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/microsoft-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/microsoft-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/microsoft-oauth"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/yahoo-oauth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/yahoo-oauth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/yahoo-oauth"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/phone-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/phone-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/phone-auth"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/custom-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/custom-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/custom-auth"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/anonymous-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/anonymous-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/anonymous-auth"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/unity/account-linking?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/unity/account-linking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/unity/account-linking"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Admin</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/manage-users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/manage-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/manage-users"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/import-users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/import-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/import-users"><span class="devsite-nav-text" tooltip>Import Users</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/create-custom-tokens?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/create-custom-tokens" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/create-custom-tokens"><span class="devsite-nav-text" tooltip>Create Custom Tokens</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/verify-id-tokens?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/verify-id-tokens" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/verify-id-tokens"><span class="devsite-nav-text" tooltip>Verify ID Tokens</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/manage-mfa-users?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/manage-mfa-users" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/manage-mfa-users"><span class="devsite-nav-text" tooltip>Manage Multi-factor Users</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/manage-sessions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/manage-sessions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/manage-sessions"><span class="devsite-nav-text" tooltip>Manage User Sessions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/manage-cookies?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/manage-cookies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/manage-cookies"><span class="devsite-nav-text" tooltip>Manage Session Cookies</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/custom-claims?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/custom-claims" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/custom-claims"><span class="devsite-nav-text" tooltip>Control Access with Custom Claims</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/email-action-links?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/email-action-links" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/email-action-links"><span class="devsite-nav-text" tooltip>Generating Email Action Links</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/admin/errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/admin/errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/admin/errors"><span class="devsite-nav-text" tooltip>Errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/custom-email-handler?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/custom-email-handler" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/custom-email-handler"><span class="devsite-nav-text" tooltip>Customize the Email Action Handler</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/extend-with-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/extend-with-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/extend-with-functions"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/extend-with-blocking-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/extend-with-blocking-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/extend-with-blocking-functions"><span class="devsite-nav-text" tooltip>Extend with blocking functions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/email-custom-domain?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/email-custom-domain" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/email-custom-domain"><span class="devsite-nav-text" tooltip>Email Custom Domains</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/case-studies?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/case-studies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/case-studies"><span class="devsite-nav-text" tooltip>Case Studies</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth/limits?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/auth/limits" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/auth/limits"><span class="devsite-nav-text" tooltip>Usage Limits</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>App Check</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Get started</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Default providers</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/ios/devicecheck-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/ios/devicecheck-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/ios/devicecheck-provider"><span class="devsite-nav-text" tooltip>iOS+ (DeviceCheck)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/ios/app-attest-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/ios/app-attest-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/ios/app-attest-provider"><span class="devsite-nav-text" tooltip>iOS+ (App Attest)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/android/play-integrity-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/android/play-integrity-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/android/play-integrity-provider"><span class="devsite-nav-text" tooltip>Android (Play Integrity)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/android/safetynet-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/android/safetynet-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/android/safetynet-provider"><span class="devsite-nav-text" tooltip>Android (SafetyNet, deprecated)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/web/recaptcha-enterprise-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/web/recaptcha-enterprise-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/web/recaptcha-enterprise-provider"><span class="devsite-nav-text" tooltip>Web (reCAPTCHA Enterprise)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/web/recaptcha-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/web/recaptcha-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/web/recaptcha-provider"><span class="devsite-nav-text" tooltip>Web (reCAPTCHA v3)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/flutter/default-providers?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/flutter/default-providers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/flutter/default-providers"><span class="devsite-nav-text" tooltip>Flutter</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/cpp/default-providers?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/cpp/default-providers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/cpp/default-providers"><span class="devsite-nav-text" tooltip>C++</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/unity/default-providers?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/unity/default-providers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/unity/default-providers"><span class="devsite-nav-text" tooltip>Unity</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Custom providers</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/custom-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/custom-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/custom-provider"><span class="devsite-nav-text" tooltip>Server implementation</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/ios/custom-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/ios/custom-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/ios/custom-provider"><span class="devsite-nav-text" tooltip>iOS+ client implementation</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/android/custom-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/android/custom-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/android/custom-provider"><span class="devsite-nav-text" tooltip>Android client implementation</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/web/custom-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/web/custom-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/web/custom-provider"><span class="devsite-nav-text" tooltip>Web client implementation</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/cpp/custom-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/cpp/custom-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/cpp/custom-provider"><span class="devsite-nav-text" tooltip>C++ client implementation</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/unity/custom-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/unity/custom-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/unity/custom-provider"><span class="devsite-nav-text" tooltip>Unity client implementation</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Debug &amp; test providers</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/ios/debug-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/ios/debug-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/ios/debug-provider"><span class="devsite-nav-text" tooltip>Use the debug provider in iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/android/debug-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/android/debug-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/android/debug-provider"><span class="devsite-nav-text" tooltip>Use the debug provider in Android</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/web/debug-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/web/debug-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/web/debug-provider"><span class="devsite-nav-text" tooltip>Use the debug provider in web apps</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/flutter/debug-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/flutter/debug-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/flutter/debug-provider"><span class="devsite-nav-text" tooltip>Use the debug provider with Flutter</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/cpp/debug-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/cpp/debug-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/cpp/debug-provider"><span class="devsite-nav-text" tooltip>Use the debug provider with C++</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/unity/debug-provider?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/unity/debug-provider" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/unity/debug-provider"><span class="devsite-nav-text" tooltip>Use the debug provider in Unity apps</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Monitor request metrics</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/monitor-metrics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/monitor-metrics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/monitor-metrics"><span class="devsite-nav-text" tooltip>Standard Firebase services</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/monitor-functions-metrics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/monitor-functions-metrics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/monitor-functions-metrics"><span class="devsite-nav-text" tooltip>Cloud Functions for Firebase</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Enable enforcement</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/enable-enforcement?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/enable-enforcement" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/enable-enforcement"><span class="devsite-nav-text" tooltip>Standard Firebase services</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/cloud-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/cloud-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/cloud-functions"><span class="devsite-nav-text" tooltip>Cloud Functions for Firebase</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Protect non-Firebase resources</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Send tokens from the client</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/ios/custom-resource?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/ios/custom-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/ios/custom-resource"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/android/custom-resource?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/android/custom-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/android/custom-resource"><span class="devsite-nav-text" tooltip>Android</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/web/custom-resource?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/web/custom-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/web/custom-resource"><span class="devsite-nav-text" tooltip>Web</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/flutter/custom-resource?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/flutter/custom-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/flutter/custom-resource"><span class="devsite-nav-text" tooltip>Flutter</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/cpp/custom-resource?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/cpp/custom-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/cpp/custom-resource"><span class="devsite-nav-text" tooltip>C++</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/unity/custom-resource?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/unity/custom-resource" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/unity/custom-resource"><span class="devsite-nav-text" tooltip>Unity</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check/custom-resource-backend?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-check/custom-resource-backend" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-check/custom-resource-backend"><span class="devsite-nav-text" tooltip>Verify tokens on the backend</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Data Connect</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/pricing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/pricing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/pricing"><span class="devsite-nav-text" tooltip>Pricing and billing</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/quickstart?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/quickstart"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/quickstart-local?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/quickstart-local" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/quickstart-local"><span class="devsite-nav-text" tooltip>Get started (local development)</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Design schemas and operations</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/schemas-queries-mutations?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/schemas-queries-mutations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/schemas-queries-mutations"><span class="devsite-nav-text" tooltip>Understand GraphQL schemas, queries, and mutations</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/authorization-and-security?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/authorization-and-security" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/authorization-and-security"><span class="devsite-nav-text" tooltip>Secure operations with authorization</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Develop and test with Data Connect</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/data-seeding-bulk-operations?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/data-seeding-bulk-operations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/data-seeding-bulk-operations"><span class="devsite-nav-text" tooltip>Seed test data and perform bulk operations</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/web-sdk?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/web-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/web-sdk"><span class="devsite-nav-text" tooltip>Generate Web SDKs</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/android-sdk?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/android-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/android-sdk"><span class="devsite-nav-text" tooltip>Generate Android SDKs</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/ios-sdk?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/ios-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/ios-sdk"><span class="devsite-nav-text" tooltip>Generate iOS SDKs</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/flutter-sdk?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/flutter-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/flutter-sdk"><span class="devsite-nav-text" tooltip>Generate Flutter SDKs</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/data-connect-emulator-suite?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/data-connect-emulator-suite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/data-connect-emulator-suite"><span class="devsite-nav-text" tooltip>Use the Data Connect emulator for CI/CD</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Manage Data Connect projects</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/manage-schemas-and-connectors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/manage-schemas-and-connectors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/manage-schemas-and-connectors"><span class="devsite-nav-text" tooltip>Manage schemas and connectors</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/manage-services-and-databases?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/manage-services-and-databases" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/manage-services-and-databases"><span class="devsite-nav-text" tooltip>Manage services and databases</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/admin-sdk?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/admin-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/admin-sdk"><span class="devsite-nav-text" tooltip>Run privileged operations with the Firebase Admin SDK</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Data Connect solutions</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/solutions-vector-similarity-search?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/solutions-vector-similarity-search" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/solutions-vector-similarity-search"><span class="devsite-nav-text" tooltip>Perform vector similarity search</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/ai-assistance?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/ai-assistance" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/ai-assistance"><span class="devsite-nav-text" tooltip>Use AI assistance for queries and mutations</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>GraphQL language reference guides</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/data-connect/gql/directive?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/data-connect/gql/directive" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/data-connect/gql/directive"><span class="devsite-nav-text" tooltip>Directives reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/data-connect/gql/query?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/data-connect/gql/query" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/data-connect/gql/query"><span class="devsite-nav-text" tooltip>Queries reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/data-connect/gql/mutation?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/data-connect/gql/mutation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/data-connect/gql/mutation"><span class="devsite-nav-text" tooltip>Mutations reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/data-connect/gql/object?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/data-connect/gql/object" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/data-connect/gql/object"><span class="devsite-nav-text" tooltip>Objects reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/data-connect/gql/input_object?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/data-connect/gql/input_object" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/data-connect/gql/input_object"><span class="devsite-nav-text" tooltip>Input objects reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/data-connect/gql/scalar?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/data-connect/gql/scalar" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/data-connect/gql/scalar"><span class="devsite-nav-text" tooltip>Scalars reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/data-connect/gql/enum?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/data-connect/gql/enum" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/data-connect/gql/enum"><span class="devsite-nav-text" tooltip>Enums reference</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Additional reference guides</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/cli-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/cli-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/cli-reference"><span class="devsite-nav-text" tooltip>CLI reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/configuration-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/configuration-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/configuration-reference"><span class="devsite-nav-text" tooltip>Configuration and security reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/cel-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/cel-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/cel-reference"><span class="devsite-nav-text" tooltip>Common Expression Language (CEL) reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect/cloud-audit-logging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/data-connect/cloud-audit-logging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/data-connect/cloud-audit-logging"><span class="devsite-nav-text" tooltip>Cloud Audit Logging reference</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Cloud Firestore</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/quickstart?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/quickstart"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Understand Cloud Firestore</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/rtdb-vs-firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/rtdb-vs-firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/rtdb-vs-firestore"><span class="devsite-nav-text" tooltip>Compare Cloud Firestore and Realtime Database</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/data-model?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/data-model" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/data-model"><span class="devsite-nav-text" tooltip>Data model</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-data/data-types?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-data/data-types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-data/data-types"><span class="devsite-nav-text" tooltip>Data types</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/client/libraries?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/client/libraries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/client/libraries"><span class="devsite-nav-text" tooltip>SDKs and client libraries</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/index-overview?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/index-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/index-overview"><span class="devsite-nav-text" tooltip>Index types</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/locations?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/locations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/locations"><span class="devsite-nav-text" tooltip>Database locations</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/bundles?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/bundles" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/bundles"><span class="devsite-nav-text" tooltip>Data bundles</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-databases?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-databases" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-databases"><span class="devsite-nav-text" tooltip>Manage databases</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Add and manage data</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-data/structure-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-data/structure-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-data/structure-data"><span class="devsite-nav-text" tooltip>Structure data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-data/add-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-data/add-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-data/add-data"><span class="devsite-nav-text" tooltip>Add data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-data/transactions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-data/transactions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-data/transactions"><span class="devsite-nav-text" tooltip>Transactions and batched writes</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/transaction-data-contention?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/transaction-data-contention" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/transaction-data-contention"><span class="devsite-nav-text" tooltip>Data contention in transaction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-data/delete-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-data/delete-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-data/delete-data"><span class="devsite-nav-text" tooltip>Delete data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/using-console?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/using-console" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/using-console"><span class="devsite-nav-text" tooltip>Manage Cloud Firestore with the Firebase console</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-data/export-import?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-data/export-import" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-data/export-import"><span class="devsite-nav-text" tooltip>Export and import data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/ttl?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/ttl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/ttl"><span class="devsite-nav-text" tooltip>Manage data retention with time-to-live policies</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/dataflow-connector?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/dataflow-connector" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/dataflow-connector"><span class="devsite-nav-text" tooltip>Process data in bulk with Dataflow</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-data/move-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-data/move-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-data/move-data"><span class="devsite-nav-text" tooltip>Move data between projects</span></a></li> <li class="devsite-nav-item devsite-nav-preview"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-data/bulk-delete?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-data/bulk-delete" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-data/bulk-delete"><span class="devsite-nav-text" tooltip>Bulk delete data</span><span class="devsite-nav-icon material-icons" data-icon="preview" data-title="Preview" aria-hidden="true"></span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Read data</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/get-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/get-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/get-data"><span class="devsite-nav-text" tooltip>Get data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/listen?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/listen" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/listen"><span class="devsite-nav-text" tooltip>Get real-time updates</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/queries?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/queries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/queries"><span class="devsite-nav-text" tooltip>Perform simple and compound queries</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/order-limit-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/order-limit-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/order-limit-data"><span class="devsite-nav-text" tooltip>Order and limit data</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Query with range &amp; inequality filters on multiple fields</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/multiple-range-fields?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/multiple-range-fields" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/multiple-range-fields"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/multiple-range-optimize-indexes?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/multiple-range-optimize-indexes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/multiple-range-optimize-indexes"><span class="devsite-nav-text" tooltip>Optimize your queries</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/aggregation-queries?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/aggregation-queries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/aggregation-queries"><span class="devsite-nav-text" tooltip>Summarize data with aggregation queries</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/query-cursors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/query-cursors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/query-cursors"><span class="devsite-nav-text" tooltip>Paginate data with query cursors</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/manage-data/enable-offline?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/manage-data/enable-offline" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/manage-data/enable-offline"><span class="devsite-nav-text" tooltip>Access data offline</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/vector-search?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/vector-search" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/vector-search"><span class="devsite-nav-text" tooltip>Search with vector embeddings</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-data/indexing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-data/indexing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-data/indexing"><span class="devsite-nav-text" tooltip>Manage indexes</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Secure and validate data</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/security/overview?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/security/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/security/overview"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/security/get-started?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/security/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/security/get-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/security/rules-structure?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/security/rules-structure" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/security/rules-structure"><span class="devsite-nav-text" tooltip>Structure Security Rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/security/rules-conditions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/security/rules-conditions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/security/rules-conditions"><span class="devsite-nav-text" tooltip>Writing conditions for Security Rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/security/insecure-rules?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/security/insecure-rules" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/security/insecure-rules"><span class="devsite-nav-text" tooltip>Fix insecure rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/security/test-rules-emulator?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/security/test-rules-emulator" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/security/test-rules-emulator"><span class="devsite-nav-text" tooltip>Test your Security Rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/security/rules-query?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/security/rules-query" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/security/rules-query"><span class="devsite-nav-text" tooltip>Securely query data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/security/rules-fields?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/security/rules-fields" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/security/rules-fields"><span class="devsite-nav-text" tooltip>Control access per field</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Solutions</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Solutions using Firebase Extensions</span> </div></li> <li class="devsite-nav-item devsite-nav-new"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/bigquery?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/bigquery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/bigquery"><span class="devsite-nav-text" tooltip>Integrate with BigQuery</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-new"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/ai-chatbot?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/ai-chatbot" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/ai-chatbot"><span class="devsite-nav-text" tooltip>Implement an AI-driven chatbot</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-new"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/enriched-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/enriched-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/enriched-text"><span class="devsite-nav-text" tooltip>Enrich handling of text</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-new"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/enriched-media?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/enriched-media" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/enriched-media"><span class="devsite-nav-text" tooltip>Enhance value of media</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Solutions using guided custom implementations</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/generative-ai-index?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/generative-ai-index" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/generative-ai-index"><span class="devsite-nav-text" tooltip>Develop generative AI features</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/firestore-lite?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/firestore-lite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/firestore-lite"><span class="devsite-nav-text" tooltip>Firestore Lite Web SDK</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/aggregation?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/aggregation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/aggregation"><span class="devsite-nav-text" tooltip>Write-time aggregations</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/counters?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/counters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/counters"><span class="devsite-nav-text" tooltip>Distributed counters</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/search?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/search" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/search"><span class="devsite-nav-text" tooltip>Full-text search</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/presence?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/presence" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/presence"><span class="devsite-nav-text" tooltip>Build presence</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/role-based-access?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/role-based-access" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/role-based-access"><span class="devsite-nav-text" tooltip>Secure data access for users and groups</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/delete-collections?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/delete-collections" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/delete-collections"><span class="devsite-nav-text" tooltip>Delete data with a callable Cloud Function</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/schedule-export?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/schedule-export" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/schedule-export"><span class="devsite-nav-text" tooltip>Schedule data exports</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/shard-timestamp?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/shard-timestamp" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/shard-timestamp"><span class="devsite-nav-text" tooltip>Sharded timestamps</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/geoqueries?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/geoqueries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/geoqueries"><span class="devsite-nav-text" tooltip>Geo queries</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/serve-bundles?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/serve-bundles" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/serve-bundles"><span class="devsite-nav-text" tooltip>Serve bundled Firestore content from a CDN</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Usage, limits, and pricing</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/quotas?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/quotas" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/quotas"><span class="devsite-nav-text" tooltip>Usage and limits</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/monitor-usage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/monitor-usage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/monitor-usage"><span class="devsite-nav-text" tooltip>Monitor usage</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/query-explain?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/query-explain" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/query-explain"><span class="devsite-nav-text" tooltip>Explain query performance</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/reference/query-explain-report-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/reference/query-explain-report-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/reference/query-explain-report-reference"><span class="devsite-nav-text" tooltip>Query Explain report reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/pricing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/pricing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/pricing"><span class="devsite-nav-text" tooltip>Understand Cloud Firestore billing</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/billing-example?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/billing-example" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/billing-example"><span class="devsite-nav-text" tooltip>Example Cloud Firestore costs</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/storage-size?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/storage-size" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/storage-size"><span class="devsite-nav-text" tooltip>Understand storage size calculations</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Backups and point-in-time recovery</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/disaster-recovery?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/disaster-recovery" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/disaster-recovery"><span class="devsite-nav-text" tooltip>Disaster recovery planning</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Scheduled backups</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/backups?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/backups" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/backups"><span class="devsite-nav-text" tooltip>Create a backup schedule and restore data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/restore-in-place?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/restore-in-place" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/restore-in-place"><span class="devsite-nav-text" tooltip>Perform an in-place restore</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Point-in-time recovery (PITR)</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/pitr?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/pitr" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/pitr"><span class="devsite-nav-text" tooltip>PITR overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/use-pitr?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/use-pitr" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/use-pitr"><span class="devsite-nav-text" tooltip>Work with PITR</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Techniques and best practices</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/best-practices?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/best-practices" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/best-practices"><span class="devsite-nav-text" tooltip>Best practices for Cloud Firestore</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/solutions/swift-codable-data-mapping?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/solutions/swift-codable-data-mapping" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/solutions/swift-codable-data-mapping"><span class="devsite-nav-text" tooltip>Map data with Swift Codable</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/understand-reads-writes-scale?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/understand-reads-writes-scale" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/understand-reads-writes-scale"><span class="devsite-nav-text" tooltip>Understand reads and writes at scale</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/real-time_queries_at_scale?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/real-time_queries_at_scale" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/real-time_queries_at_scale"><span class="devsite-nav-text" tooltip>Understand real-time queries at scale</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Cloud Firestore integrations</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/use-rest-api?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/use-rest-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/use-rest-api"><span class="devsite-nav-text" tooltip>Use the Cloud Firestore REST API</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/firestore-for-rtdb?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/firestore-for-rtdb" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/firestore-for-rtdb"><span class="devsite-nav-text" tooltip>Use Cloud Firestore and Realtime Database</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/extend-with-functions-2nd-gen?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/extend-with-functions-2nd-gen" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/extend-with-functions-2nd-gen"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions for Firebase (2nd gen)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/extend-with-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/extend-with-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/extend-with-functions"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/library-integrations?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/library-integrations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/library-integrations"><span class="devsite-nav-text" tooltip>Third-party library integrations</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>API reference</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/android/com/google/firebase/firestore/package-summary?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/android/com/google/firebase/firestore/package-summary" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/android/com/google/firebase/firestore/package-summary"><span class="devsite-nav-text" tooltip>Android</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/swift/firebasefirestore/api/reference/Classes?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/swift/firebasefirestore/api/reference/Classes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/swift/firebasefirestore/api/reference/Classes"><span class="devsite-nav-text" tooltip>Swift</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/ios/firebasefirestore/api/reference/Classes?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/ios/firebasefirestore/api/reference/Classes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/ios/firebasefirestore/api/reference/Classes"><span class="devsite-nav-text" tooltip>Objective-C</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/js/firestore_?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/js/firestore_" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/js/firestore_"><span class="devsite-nav-text" tooltip>Web</span></a></li> <li class="devsite-nav-item devsite-nav-external"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://pub.dev/documentation/cloud_firestore/latest/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://pub.dev/documentation/cloud_firestore/latest/" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://pub.dev/documentation/cloud_firestore/latest/"><span class="devsite-nav-text" tooltip>Flutter</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/functions/firebase-functions.firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/functions/firebase-functions.firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/functions/firebase-functions.firestore"><span class="devsite-nav-text" tooltip>Cloud Functions</span></a></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://googleapis.dev/nodejs/firestore/latest/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: //googleapis.dev/nodejs/firestore/latest/" track-type="bookNav" track-name="click" track-metadata-eventdetail="//googleapis.dev/nodejs/firestore/latest/"><span class="devsite-nav-text" tooltip>Node.js</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/admin/java/reference/com/google/firebase/cloud/FirestoreClient?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/admin/java/reference/com/google/firebase/cloud/FirestoreClient" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/admin/java/reference/com/google/firebase/cloud/FirestoreClient"><span class="devsite-nav-text" tooltip>Java</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/admin/python/firebase_admin.firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/admin/python/firebase_admin.firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/admin/python/firebase_admin.firestore"><span class="devsite-nav-text" tooltip>Python</span></a></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://godoc.org/cloud.google.com/go/firestore" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: //godoc.org/cloud.google.com/go/firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="//godoc.org/cloud.google.com/go/firestore"><span class="devsite-nav-text" tooltip>Go</span></a></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://googleapis.github.io/google-cloud-dotnet/docs/Google.Cloud.Firestore/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: //googleapis.github.io/google-cloud-dotnet/docs/Google.Cloud.Firestore/" track-type="bookNav" track-name="click" track-metadata-eventdetail="//googleapis.github.io/google-cloud-dotnet/docs/Google.Cloud.Firestore/"><span class="devsite-nav-text" tooltip>C#</span></a></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://googleapis.github.io/google-cloud-php/%23/docs/cloud-firestore/latest/firestore/readme" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: //googleapis.github.io/google-cloud-php/#/docs/cloud-firestore/latest/firestore/readme" track-type="bookNav" track-name="click" track-metadata-eventdetail="//googleapis.github.io/google-cloud-php/#/docs/cloud-firestore/latest/firestore/readme"><span class="devsite-nav-text" tooltip>PHP</span></a></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://googleapis.github.io/google-cloud-ruby/docs/google-cloud-firestore/latest/Google/Firestore/V1beta1" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: //googleapis.github.io/google-cloud-ruby/docs/google-cloud-firestore/latest/Google/Firestore/V1beta1" track-type="bookNav" track-name="click" track-metadata-eventdetail="//googleapis.github.io/google-cloud-ruby/docs/google-cloud-firestore/latest/Google/Firestore/V1beta1"><span class="devsite-nav-text" tooltip>Ruby</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/cpp/namespace/firebase/firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/cpp/namespace/firebase/firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/cpp/namespace/firebase/firestore"><span class="devsite-nav-text" tooltip>C++</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/unity/namespace/firebase/firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/unity/namespace/firebase/firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/unity/namespace/firebase/firestore"><span class="devsite-nav-text" tooltip>Unity</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/reference/rest?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/reference/rest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/reference/rest"><span class="devsite-nav-text" tooltip>REST</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/reference/rpc?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/reference/rpc" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/reference/rpc"><span class="devsite-nav-text" tooltip>RPC</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Samples</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/client/samples-ios?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/client/samples-ios" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/client/samples-ios"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/client/samples-android?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/client/samples-android" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/client/samples-android"><span class="devsite-nav-text" tooltip>Android</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore/client/samples-web?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/firestore/client/samples-web" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/firestore/client/samples-web"><span class="devsite-nav-text" tooltip>Web</span></a></li> </ul> </div></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Realtime Database</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/rtdb-vs-firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/rtdb-vs-firestore" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/rtdb-vs-firestore"><span class="devsite-nav-text" tooltip>Choose a Database</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>iOS+</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/ios/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/ios/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/ios/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/ios/structure-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/ios/structure-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/ios/structure-data"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/ios/read-and-write?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/ios/read-and-write" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/ios/read-and-write"><span class="devsite-nav-text" tooltip>Read and Write Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/ios/lists-of-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/ios/lists-of-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/ios/lists-of-data"><span class="devsite-nav-text" tooltip>Work with Lists of Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/ios/offline-capabilities?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/ios/offline-capabilities" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/ios/offline-capabilities"><span class="devsite-nav-text" tooltip>Enable Offline Capabilities</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Android</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/android/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/android/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/android/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/android/structure-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/android/structure-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/android/structure-data"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/android/read-and-write?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/android/read-and-write" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/android/read-and-write"><span class="devsite-nav-text" tooltip>Read and Write Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/android/lists-of-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/android/lists-of-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/android/lists-of-data"><span class="devsite-nav-text" tooltip>Work with Lists of Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/android/offline-capabilities?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/android/offline-capabilities" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/android/offline-capabilities"><span class="devsite-nav-text" tooltip>Enable Offline Capabilities</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Web</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/web/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/web/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/web/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/web/structure-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/web/structure-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/web/structure-data"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/web/read-and-write?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/web/read-and-write" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/web/read-and-write"><span class="devsite-nav-text" tooltip>Read and Write Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/web/lists-of-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/web/lists-of-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/web/lists-of-data"><span class="devsite-nav-text" tooltip>Work with Lists of Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/web/offline-capabilities?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/web/offline-capabilities" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/web/offline-capabilities"><span class="devsite-nav-text" tooltip>Enable Offline Capabilities</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Flutter</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/flutter/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/flutter/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/flutter/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/flutter/structure-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/flutter/structure-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/flutter/structure-data"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/flutter/read-and-write?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/flutter/read-and-write" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/flutter/read-and-write"><span class="devsite-nav-text" tooltip>Read and Write Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/flutter/lists-of-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/flutter/lists-of-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/flutter/lists-of-data"><span class="devsite-nav-text" tooltip>Work with Lists of Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/flutter/offline-capabilities?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/flutter/offline-capabilities" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/flutter/offline-capabilities"><span class="devsite-nav-text" tooltip>Enable Offline Capabilities</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Admin</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/admin/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/admin/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/admin/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/admin/structure-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/admin/structure-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/admin/structure-data"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/admin/save-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/admin/save-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/admin/save-data"><span class="devsite-nav-text" tooltip>Save Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/admin/retrieve-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/admin/retrieve-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/admin/retrieve-data"><span class="devsite-nav-text" tooltip>Retrieve Data</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>REST</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/rest/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/rest/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/rest/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/rest/structure-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/rest/structure-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/rest/structure-data"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/rest/save-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/rest/save-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/rest/save-data"><span class="devsite-nav-text" tooltip>Save Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/rest/retrieve-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/rest/retrieve-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/rest/retrieve-data"><span class="devsite-nav-text" tooltip>Retrieve Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/rest/auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/rest/auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/rest/auth"><span class="devsite-nav-text" tooltip>Authenticate REST Requests</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>C++</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/cpp/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/cpp/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/cpp/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/cpp/structure-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/cpp/structure-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/cpp/structure-data"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/cpp/save-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/cpp/save-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/cpp/save-data"><span class="devsite-nav-text" tooltip>Save Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/cpp/retrieve-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/cpp/retrieve-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/cpp/retrieve-data"><span class="devsite-nav-text" tooltip>Retrieve Data</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Unity</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/unity/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/unity/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/unity/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/unity/structure-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/unity/structure-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/unity/structure-data"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/unity/save-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/unity/save-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/unity/save-data"><span class="devsite-nav-text" tooltip>Save Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/unity/retrieve-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/unity/retrieve-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/unity/retrieve-data"><span class="devsite-nav-text" tooltip>Retrieve Data</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Security &amp; Rules</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/security?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/security" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/security"><span class="devsite-nav-text" tooltip>Understand Rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/security/get-started?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/security/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/security/get-started"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/security/core-syntax?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/security/core-syntax" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/security/core-syntax"><span class="devsite-nav-text" tooltip>Structure Security Rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/security/rules-conditions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/security/rules-conditions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/security/rules-conditions"><span class="devsite-nav-text" tooltip>Write Conditions for Security Rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/security/indexing-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/security/indexing-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/security/indexing-data"><span class="devsite-nav-text" tooltip>Index Data</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/rest/app-management?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/rest/app-management" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/rest/app-management"><span class="devsite-nav-text" tooltip>Manage Rules via REST</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Usage and Performance</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/usage/billing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/usage/billing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/usage/billing"><span class="devsite-nav-text" tooltip>Understand Billing</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/usage/limits?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/usage/limits" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/usage/limits"><span class="devsite-nav-text" tooltip>Realtime Database Limits</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/usage/monitor-usage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/usage/monitor-usage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/usage/monitor-usage"><span class="devsite-nav-text" tooltip>Monitor Database Usage</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/usage/monitor-performance?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/usage/monitor-performance" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/usage/monitor-performance"><span class="devsite-nav-text" tooltip>Monitor Database Performance</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/usage/sharding?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/usage/sharding" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/usage/sharding"><span class="devsite-nav-text" tooltip>Scale with Multiple Databases</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/usage/profile?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/usage/profile" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/usage/profile"><span class="devsite-nav-text" tooltip>Profile Your Database</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/usage/optimize?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/usage/optimize" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/usage/optimize"><span class="devsite-nav-text" tooltip>Optimize Database Performance</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/locations?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/locations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/locations"><span class="devsite-nav-text" tooltip>Locations</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/backups?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/backups" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/backups"><span class="devsite-nav-text" tooltip>Automated Backups</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/extend-with-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/extend-with-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/extend-with-functions"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database/video-series?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/database/video-series" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/database/video-series"><span class="devsite-nav-text" tooltip>Video series: Firebase for SQL Developers</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Storage</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>iOS+</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/ios/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/ios/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/ios/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/ios/create-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/ios/create-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/ios/create-reference"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/ios/upload-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/ios/upload-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/ios/upload-files"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/ios/download-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/ios/download-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/ios/download-files"><span class="devsite-nav-text" tooltip>Download Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/ios/file-metadata?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/ios/file-metadata" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/ios/file-metadata"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/ios/delete-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/ios/delete-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/ios/delete-files"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/ios/list-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/ios/list-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/ios/list-files"><span class="devsite-nav-text" tooltip>List Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/ios/handle-errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/ios/handle-errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/ios/handle-errors"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Android</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/android/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/android/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/android/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/android/create-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/android/create-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/android/create-reference"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/android/upload-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/android/upload-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/android/upload-files"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/android/download-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/android/download-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/android/download-files"><span class="devsite-nav-text" tooltip>Download Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/android/file-metadata?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/android/file-metadata" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/android/file-metadata"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/android/delete-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/android/delete-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/android/delete-files"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/android/list-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/android/list-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/android/list-files"><span class="devsite-nav-text" tooltip>List Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/android/handle-errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/android/handle-errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/android/handle-errors"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Web</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/web/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/web/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/web/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/web/create-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/web/create-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/web/create-reference"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/web/upload-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/web/upload-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/web/upload-files"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/web/download-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/web/download-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/web/download-files"><span class="devsite-nav-text" tooltip>Download Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/web/file-metadata?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/web/file-metadata" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/web/file-metadata"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/web/delete-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/web/delete-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/web/delete-files"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/web/list-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/web/list-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/web/list-files"><span class="devsite-nav-text" tooltip>List Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/web/handle-errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/web/handle-errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/web/handle-errors"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Flutter</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/flutter/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/flutter/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/flutter/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/flutter/create-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/flutter/create-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/flutter/create-reference"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/flutter/upload-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/flutter/upload-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/flutter/upload-files"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/flutter/download-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/flutter/download-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/flutter/download-files"><span class="devsite-nav-text" tooltip>Download Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/flutter/file-metadata?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/flutter/file-metadata" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/flutter/file-metadata"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/flutter/delete-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/flutter/delete-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/flutter/delete-files"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/flutter/list-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/flutter/list-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/flutter/list-files"><span class="devsite-nav-text" tooltip>List Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/flutter/handle-errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/flutter/handle-errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/flutter/handle-errors"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Admin</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/admin/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/admin/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/admin/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>C++</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/cpp/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/cpp/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/cpp/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/cpp/create-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/cpp/create-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/cpp/create-reference"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/cpp/upload-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/cpp/upload-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/cpp/upload-files"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/cpp/download-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/cpp/download-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/cpp/download-files"><span class="devsite-nav-text" tooltip>Download Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/cpp/file-metadata?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/cpp/file-metadata" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/cpp/file-metadata"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/cpp/delete-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/cpp/delete-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/cpp/delete-files"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/cpp/handle-errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/cpp/handle-errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/cpp/handle-errors"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Unity</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/unity/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/unity/start" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/unity/start"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/unity/create-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/unity/create-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/unity/create-reference"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/unity/upload-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/unity/upload-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/unity/upload-files"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/unity/download-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/unity/download-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/unity/download-files"><span class="devsite-nav-text" tooltip>Download Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/unity/file-metadata?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/unity/file-metadata" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/unity/file-metadata"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/unity/delete-files?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/unity/delete-files" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/unity/delete-files"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/unity/handle-errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/unity/handle-errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/unity/handle-errors"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Security &amp; Rules</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/security?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/security" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/security"><span class="devsite-nav-text" tooltip>Understand Security</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/security/get-started?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/security/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/security/get-started"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/security/core-syntax?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/security/core-syntax" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/security/core-syntax"><span class="devsite-nav-text" tooltip>Structure Security Rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/security/rules-conditions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/security/rules-conditions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/security/rules-conditions"><span class="devsite-nav-text" tooltip>Write Conditions for Security Rules</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/locations?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/locations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/locations"><span class="devsite-nav-text" tooltip>Locations</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/monitor-storage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/monitor-storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/monitor-storage"><span class="devsite-nav-text" tooltip>Monitor activity</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/extend-with-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/extend-with-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/extend-with-functions"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/gcp-integration?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/gcp-integration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/gcp-integration"><span class="devsite-nav-text" tooltip>Integrate with Google Cloud</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage/faqs-storage-changes-announced-sept-2024?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/storage/faqs-storage-changes-announced-sept-2024" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/storage/faqs-storage-changes-announced-sept-2024"><span class="devsite-nav-text" tooltip>FAQs about pricing plan changes</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Security Rules</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/get-started?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/get-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Understand Security Rules</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/rules-language?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/rules-language" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/rules-language"><span class="devsite-nav-text" tooltip>Security Rules language</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/rules-behavior?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/rules-behavior" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/rules-behavior"><span class="devsite-nav-text" tooltip>How Security Rules work</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/rules-and-auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/rules-and-auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/rules-and-auth"><span class="devsite-nav-text" tooltip>Security Rules and Firebase Authentication</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Write Security Rules</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/basics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/basics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/basics"><span class="devsite-nav-text" tooltip>Basic Security Rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/insecure-rules?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/insecure-rules" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/insecure-rules"><span class="devsite-nav-text" tooltip>Avoid insecure rules</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/data-validation?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/data-validation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/data-validation"><span class="devsite-nav-text" tooltip>Data validation</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Test Security Rules</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/emulator-setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/emulator-setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/emulator-setup"><span class="devsite-nav-text" tooltip>Set up the emulator</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/unit-tests?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/unit-tests" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/unit-tests"><span class="devsite-nav-text" tooltip>Build unit tests</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/emulator-reports?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/emulator-reports" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/emulator-reports"><span class="devsite-nav-text" tooltip>Generate test reports</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/simulator?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/simulator" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/simulator"><span class="devsite-nav-text" tooltip>Quickly validate Security Rules</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules/manage-deploy?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/rules/manage-deploy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/rules/manage-deploy"><span class="devsite-nav-text" tooltip>Manage and deploy Security Rules</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>App Hosting</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Discover</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/about-app-hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/about-app-hosting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/about-app-hosting"><span class="devsite-nav-text" tooltip>How App Hosting works</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/build" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/build"><span class="devsite-nav-text" tooltip>The App Hosting build process</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/costs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/costs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/costs"><span class="devsite-nav-text" tooltip>App Hosting costs</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/product-comparison?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/product-comparison" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/product-comparison"><span class="devsite-nav-text" tooltip>Related serverless solutions</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Get started</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/get-started?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/get-started"><span class="devsite-nav-text" tooltip>Deploy a basic app</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/multiple-environments?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/multiple-environments" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/multiple-environments"><span class="devsite-nav-text" tooltip>Deploy multiple environments</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/monorepos?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/monorepos" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/monorepos"><span class="devsite-nav-text" tooltip>Deploy a monorepo app</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Develop</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/configure?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/configure" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/configure"><span class="devsite-nav-text" tooltip>Configure and manage backends</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/custom-domain?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/custom-domain" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/custom-domain"><span class="devsite-nav-text" tooltip>Connect a custom domain</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/apphosting/rest?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/apphosting/rest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/apphosting/rest"><span class="devsite-nav-text" tooltip>API Reference</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Monitor, log and debug</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/rollouts?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/rollouts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/rollouts"><span class="devsite-nav-text" tooltip>Manage rollouts and releases</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/emulate?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/emulate" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/emulate"><span class="devsite-nav-text" tooltip>Test your app locally</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting/logging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/app-hosting/logging" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/app-hosting/logging"><span class="devsite-nav-text" tooltip>Write and view logs</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Hosting</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/use-cases?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/use-cases" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/use-cases"><span class="devsite-nav-text" tooltip>Explore use cases</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/quickstart?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/quickstart" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/quickstart"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item devsite-nav-new"><a href="https://firebase-google-com.translate.goog/docs/hosting/test-preview-deploy?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/test-preview-deploy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/test-preview-deploy"><span class="devsite-nav-text" tooltip>Test, preview, then deploy</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-new"><a href="https://firebase-google-com.translate.goog/docs/hosting/github-integration?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/github-integration" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/github-integration"><span class="devsite-nav-text" tooltip>Deploy via GitHub pull requests</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/multisites?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/multisites" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/multisites"><span class="devsite-nav-text" tooltip>Share project resources across multiple sites</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/custom-domain?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/custom-domain" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/custom-domain"><span class="devsite-nav-text" tooltip>Connect a custom domain</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/full-config?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/full-config" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/full-config"><span class="devsite-nav-text" tooltip>Configure hosting behavior</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/i18n-rewrites?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/i18n-rewrites" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/i18n-rewrites"><span class="devsite-nav-text" tooltip>Configure i18n rewrites</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/reserved-urls?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/reserved-urls" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/reserved-urls"><span class="devsite-nav-text" tooltip>Add SDKs using reserved URLs</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Serve dynamic content and host microservices</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/serverless-overview?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/serverless-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/serverless-overview"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/functions"><span class="devsite-nav-text" tooltip>Use Cloud Functions for Firebase</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/cloud-run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/cloud-run" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/cloud-run"><span class="devsite-nav-text" tooltip>Use Cloud Run</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/manage-cache?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/manage-cache" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/manage-cache"><span class="devsite-nav-text" tooltip>Manage cache behavior</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-beta"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Integrate web frameworks</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/frameworks/frameworks-overview?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/frameworks/frameworks-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/frameworks/frameworks-overview"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/frameworks/angular?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/frameworks/angular" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/frameworks/angular"><span class="devsite-nav-text" tooltip>Integrate Angular Universal</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/frameworks/nextjs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/frameworks/nextjs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/frameworks/nextjs"><span class="devsite-nav-text" tooltip>Integrate Next.js</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/frameworks/flutter?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/frameworks/flutter" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/frameworks/flutter"><span class="devsite-nav-text" tooltip>Integrate Flutter</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/frameworks/express?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/frameworks/express" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/frameworks/express"><span class="devsite-nav-text" tooltip>Integrate other frameworks with Express.js</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/manage-hosting-resources?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/manage-hosting-resources" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/manage-hosting-resources"><span class="devsite-nav-text" tooltip>Manage live &amp; preview channels, releases, and versions</span></a></li> <li class="devsite-nav-item devsite-nav-new"><a href="https://firebase-google-com.translate.goog/docs/hosting/web-request-logs-and-metrics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/web-request-logs-and-metrics" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/web-request-logs-and-metrics"><span class="devsite-nav-text" tooltip>Monitor web request data with Cloud Logging</span><span class="devsite-nav-icon material-icons" data-icon="new" data-title="New!" aria-hidden="true"></span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/usage-quotas-pricing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/usage-quotas-pricing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/usage-quotas-pricing"><span class="devsite-nav-text" tooltip>Usage, quotas, and pricing</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting/api-deploy?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/hosting/api-deploy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/hosting/api-deploy"><span class="devsite-nav-text" tooltip>Deploy using the REST API</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Cloud Functions</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/version-comparison?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/version-comparison" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/version-comparison"><span class="devsite-nav-text" tooltip>1st and 2nd gen version comparison</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/use-cases?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/use-cases" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/use-cases"><span class="devsite-nav-text" tooltip>Explore use cases</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/get-started?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/get-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/2nd-gen-upgrade?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/2nd-gen-upgrade" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/2nd-gen-upgrade"><span class="devsite-nav-text" tooltip>Upgrade to 2nd gen</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Call functions directly</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/callable?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/callable" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/callable"><span class="devsite-nav-text" tooltip>Call functions from your app</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/http-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/http-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/http-events"><span class="devsite-nav-text" tooltip>Call functions via HTTP requests</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/task-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/task-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/task-functions"><span class="devsite-nav-text" tooltip>Enqueue functions with Cloud Tasks</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/schedule-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/schedule-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/schedule-functions"><span class="devsite-nav-text" tooltip>Run functions on a schedule</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Trigger background functions</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/alert-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/alert-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/alert-events"><span class="devsite-nav-text" tooltip>Firebase Alert triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/custom-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/custom-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/custom-events"><span class="devsite-nav-text" tooltip>Custom event/extension triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/auth-blocking-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/auth-blocking-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/auth-blocking-events"><span class="devsite-nav-text" tooltip>Blocking Auth triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/auth-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/auth-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/auth-events"><span class="devsite-nav-text" tooltip>Authentication triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/analytics-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/analytics-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/analytics-events"><span class="devsite-nav-text" tooltip>Analytics triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/firestore-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/firestore-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/firestore-events"><span class="devsite-nav-text" tooltip>Cloud Firestore triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/database-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/database-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/database-events"><span class="devsite-nav-text" tooltip>Realtime Database triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/rc-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/rc-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/rc-events"><span class="devsite-nav-text" tooltip>Remote Config triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/gcp-storage-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/gcp-storage-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/gcp-storage-events"><span class="devsite-nav-text" tooltip>Cloud Storage triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/pubsub-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/pubsub-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/pubsub-events"><span class="devsite-nav-text" tooltip>Pub/Sub triggers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/test-lab-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/test-lab-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/test-lab-events"><span class="devsite-nav-text" tooltip>Test Lab triggers</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Write functions</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/manage-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/manage-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/manage-functions"><span class="devsite-nav-text" tooltip>Manage deployment and runtime options</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/typescript?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/typescript" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/typescript"><span class="devsite-nav-text" tooltip>Write functions in TypeScript</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/terminate-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/terminate-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/terminate-functions"><span class="devsite-nav-text" tooltip>Sync, async, and promises</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/retries?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/retries" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/retries"><span class="devsite-nav-text" tooltip>Retry asynchronous functions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/config-env?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/config-env" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/config-env"><span class="devsite-nav-text" tooltip>Configure your environment</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/organize-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/organize-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/organize-functions"><span class="devsite-nav-text" tooltip>Organize functions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/handle-dependencies?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/handle-dependencies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/handle-dependencies"><span class="devsite-nav-text" tooltip>Handling dependencies</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/networking?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/networking" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/networking"><span class="devsite-nav-text" tooltip>Optimizing networking</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/tips?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/tips" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/tips"><span class="devsite-nav-text" tooltip>Tips &amp; tricks</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Test functions</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/local-emulator?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/local-emulator" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/local-emulator"><span class="devsite-nav-text" tooltip>Run functions locally</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/unit-testing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/unit-testing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/unit-testing"><span class="devsite-nav-text" tooltip>Unit testing functions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/local-shell?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/local-shell" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/local-shell"><span class="devsite-nav-text" tooltip>Test functions interactively</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Monitor functions</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/writing-and-viewing-logs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/writing-and-viewing-logs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/writing-and-viewing-logs"><span class="devsite-nav-text" tooltip>Write and view logs</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/reporting-errors?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/reporting-errors" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/reporting-errors"><span class="devsite-nav-text" tooltip>Report errors</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>API Reference</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/functions/2nd-gen/node/firebase-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/functions/2nd-gen/node/firebase-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/functions/2nd-gen/node/firebase-functions"><span class="devsite-nav-text" tooltip>Node.js 2nd gen</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/functions/firebase-functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/functions/firebase-functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/functions/firebase-functions"><span class="devsite-nav-text" tooltip>Node.js 1st gen</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/functions/test/test?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/functions/test/test" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/functions/test/test"><span class="devsite-nav-text" tooltip>Node.js Test SDK</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference/functions/2nd-gen/python?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/reference/functions/2nd-gen/python" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/reference/functions/2nd-gen/python"><span class="devsite-nav-text" tooltip>Python</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/callable-reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/callable-reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/callable-reference"><span class="devsite-nav-text" tooltip>Protocol specification for https.onCall</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/functions-and-firebase?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/functions-and-firebase" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/functions-and-firebase"><span class="devsite-nav-text" tooltip>Cloud Run functions and Firebase</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/locations?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/locations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/locations"><span class="devsite-nav-text" tooltip>Cloud Functions locations</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions/quotas?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/functions/quotas" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/functions/quotas"><span class="devsite-nav-text" tooltip>Quotas and limits</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Extensions</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/samples?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/samples" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/samples"><span class="devsite-nav-text" tooltip>Use case examples</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Use an extension in your project</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/overview-use-extensions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/overview-use-extensions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/overview-use-extensions"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/install-extensions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/install-extensions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/install-extensions"><span class="devsite-nav-text" tooltip>Install an extension</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/manage-installed-extensions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/manage-installed-extensions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/manage-installed-extensions"><span class="devsite-nav-text" tooltip>Manage installed extensions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/permissions-granted-to-extension?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/permissions-granted-to-extension" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/permissions-granted-to-extension"><span class="devsite-nav-text" tooltip>Permissions granted to an extension</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/manifest?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/manifest" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/manifest"><span class="devsite-nav-text" tooltip>Manage configurations with manifests</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Extensions by Firebase</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Trigger Email</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/official/firestore-send-email?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/official/firestore-send-email" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/official/firestore-send-email"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/official/firestore-send-email/templates?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/official/firestore-send-email/templates" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/official/firestore-send-email/templates"><span class="devsite-nav-text" tooltip>Use Handlebars templates</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/official/firestore-send-email/delivery-status?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/official/firestore-send-email/delivery-status" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/official/firestore-send-email/delivery-status"><span class="devsite-nav-text" tooltip>Manage delivery status</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Delete User Data</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/official/delete-user-data?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/official/delete-user-data" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/official/delete-user-data"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Firestore Bundle Builder</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/official/firestore-bundle-builder?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/official/firestore-bundle-builder" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/official/firestore-bundle-builder"><span class="devsite-nav-text" tooltip>Get Started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/official/firestore-bundle-builder/reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/official/firestore-bundle-builder/reference" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/official/firestore-bundle-builder/reference"><span class="devsite-nav-text" tooltip>Reference</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-external"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://github.com/firebase/extensions/tree/master/storage-resize-images%23resize-images" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/firebase/extensions/tree/master/storage-resize-images#resize-images" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/firebase/extensions/tree/master/storage-resize-images#resize-images"><span class="devsite-nav-text" tooltip>Resize Images</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-external"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://github.com/firebase/extensions/tree/master/firestore-bigquery-export%23export-collections-to-bigquery" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/firebase/extensions/tree/master/firestore-bigquery-export#export-collections-to-bigquery" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/firebase/extensions/tree/master/firestore-bigquery-export#export-collections-to-bigquery"><span class="devsite-nav-text" tooltip>Export Collections to BigQuery</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-external"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://github.com/firebase/extensions/tree/master/firestore-translate-text%23translate-text" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/firebase/extensions/tree/master/firestore-translate-text#translate-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/firebase/extensions/tree/master/firestore-translate-text#translate-text"><span class="devsite-nav-text" tooltip>Translate Text</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-external"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://github.com/firebase/extensions/tree/master/firestore-counter%23distributed-counter" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/firebase/extensions/tree/master/firestore-counter#distributed-counter" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/firebase/extensions/tree/master/firestore-counter#distributed-counter"><span class="devsite-nav-text" tooltip>Distributed Counter</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-external"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://github.com/firebase/extensions/tree/master/firestore-shorten-urls-bitly%23shorten-urls" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/firebase/extensions/tree/master/firestore-shorten-urls-bitly#shorten-urls" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/firebase/extensions/tree/master/firestore-shorten-urls-bitly#shorten-urls"><span class="devsite-nav-text" tooltip>Shorten URLs</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-external"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://github.com/firebase/extensions/tree/master/rtdb-limit-child-nodes%23limit-child-nodes" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://github.com/firebase/extensions/tree/master/rtdb-limit-child-nodes#limit-child-nodes" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://github.com/firebase/extensions/tree/master/rtdb-limit-child-nodes#limit-child-nodes"><span class="devsite-nav-text" tooltip>Limit Child Nodes</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Build &amp; publish extensions</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers/get-started?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers/get-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers/functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers/functions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers/functions"><span class="devsite-nav-text" tooltip>Write functions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers/parameters?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers/parameters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers/parameters"><span class="devsite-nav-text" tooltip>Set up parameters</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers/lifecycle-events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers/lifecycle-events" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers/lifecycle-events"><span class="devsite-nav-text" tooltip>Handle lifecycle events</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers/user-hooks?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers/user-hooks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers/user-hooks"><span class="devsite-nav-text" tooltip>Add user hooks</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers/access?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers/access" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers/access"><span class="devsite-nav-text" tooltip>Set up appropriate access</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers/user-documentation?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers/user-documentation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers/user-documentation"><span class="devsite-nav-text" tooltip>Create user documentation</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers/register?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers/register" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers/register"><span class="devsite-nav-text" tooltip>Register as a publisher</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/publishers/upload-and-publish?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/publishers/upload-and-publish" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/publishers/upload-and-publish"><span class="devsite-nav-text" tooltip>Publish an extension</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions/reference/extension-yaml?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/extensions/reference/extension-yaml" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/extensions/reference/extension-yaml"><span class="devsite-nav-text" tooltip>Reference for extension.yaml</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/terms/extensions/publisher?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /terms/extensions/publisher" track-type="bookNav" track-name="click" track-metadata-eventdetail="/terms/extensions/publisher"><span class="devsite-nav-text" tooltip>Firebase Extensions Publisher Agreement</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-divider devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>BUILD WITH AI</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Vertex AI in Firebase (Gemini API)</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/get-started?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/get-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Learn about the models &amp; API</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/gemini-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/gemini-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/gemini-models"><span class="devsite-nav-text" tooltip>Gemini models</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/gemini-api?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/gemini-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/gemini-api"><span class="devsite-nav-text" tooltip>Gemini API</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/input-file-requirements?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/input-file-requirements" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/input-file-requirements"><span class="devsite-nav-text" tooltip>Supported file types &amp; requirements</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Use capabilities of the SDKs</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/text-gen-from-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/text-gen-from-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/text-gen-from-text"><span class="devsite-nav-text" tooltip>Generate text (text-only input)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/text-gen-from-multimodal?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/text-gen-from-multimodal" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/text-gen-from-multimodal"><span class="devsite-nav-text" tooltip>Generate text (multimodal input)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/structured-output?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/structured-output" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/structured-output"><span class="devsite-nav-text" tooltip>Generate structured output (JSON)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/chat?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/chat" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/chat"><span class="devsite-nav-text" tooltip>Multi-turn chat</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/function-calling?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/function-calling" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/function-calling"><span class="devsite-nav-text" tooltip>Function calling</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/count-tokens?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/count-tokens" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/count-tokens"><span class="devsite-nav-text" tooltip>Count tokens &amp; billable characters</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/ref-docs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/ref-docs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/ref-docs"><span class="devsite-nav-text" tooltip>SDK reference docs</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Control content generation</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/control-content-gen?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/control-content-gen" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/control-content-gen"><span class="devsite-nav-text" tooltip>Overview of options</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/prompt-design?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/prompt-design" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/prompt-design"><span class="devsite-nav-text" tooltip>Understand prompt design</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/model-parameters?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/model-parameters" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/model-parameters"><span class="devsite-nav-text" tooltip>Configure model parameters</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/safety-settings?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/safety-settings" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/safety-settings"><span class="devsite-nav-text" tooltip>Use safety settings</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/system-instructions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/system-instructions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/system-instructions"><span class="devsite-nav-text" tooltip>Set system instructions</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Get ready for production</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/production-checklist?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/production-checklist" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/production-checklist"><span class="devsite-nav-text" tooltip>Production checklist</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/app-check?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/app-check" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/app-check"><span class="devsite-nav-text" tooltip>Prevent API abuse with App Check</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/locations?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/locations" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/locations"><span class="devsite-nav-text" tooltip>Set a location</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/monitoring?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/monitoring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/monitoring"><span class="devsite-nav-text" tooltip>Monitor costs, usage, &amp; metrics</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/pricing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/pricing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/pricing"><span class="devsite-nav-text" tooltip>Understand pricing</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/quotas?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/quotas" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/quotas"><span class="devsite-nav-text" tooltip>Understand quotas</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Solutions</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/solutions/overview?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/solutions/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/solutions/overview"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/solutions/cloud-storage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/solutions/cloud-storage" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/solutions/cloud-storage"><span class="devsite-nav-text" tooltip>Include large files in requests with Cloud Storage</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/solutions/remote-config?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/solutions/remote-config" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/solutions/remote-config"><span class="devsite-nav-text" tooltip>Dynamically update your app with Remote Config</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Additional information</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/migrate-to-vertex-ai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/migrate-to-vertex-ai" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/migrate-to-vertex-ai"><span class="devsite-nav-text" tooltip>Migrate from Google AI to Vertex AI</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/migrate-to-ga?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/migrate-to-ga" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/migrate-to-ga"><span class="devsite-nav-text" tooltip>Migrate to GA version of Vertex AI in Firebase</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/faq-and-troubleshooting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/faq-and-troubleshooting" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/faq-and-troubleshooting"><span class="devsite-nav-text" tooltip>FAQ and troubleshooting</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/data-governance?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/data-governance" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/data-governance"><span class="devsite-nav-text" tooltip>Data governance</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai/feedback?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/vertex-ai/feedback" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/vertex-ai/feedback"><span class="devsite-nav-text" tooltip>Give feedback</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Genkit</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/get-started?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/get-started" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/get-started"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/devtools?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/devtools" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/devtools"><span class="devsite-nav-text" tooltip>Developer tools</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Building AI workflows</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/models"><span class="devsite-nav-text" tooltip>Generating content</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/flows?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/flows" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/flows"><span class="devsite-nav-text" tooltip>Creating flows</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/dotprompt?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/dotprompt" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/dotprompt"><span class="devsite-nav-text" tooltip>Managing prompts with Dotprompt</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/chat?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/chat" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/chat"><span class="devsite-nav-text" tooltip>Persistent chat sessions</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/tool-calling?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/tool-calling" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/tool-calling"><span class="devsite-nav-text" tooltip>Tool calling</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/rag?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/rag" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/rag"><span class="devsite-nav-text" tooltip>Retrieval-augmented generation (RAG)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/multi-agent?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/multi-agent" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/multi-agent"><span class="devsite-nav-text" tooltip>Multi-agent systems</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/evaluation?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/evaluation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/evaluation"><span class="devsite-nav-text" tooltip>Evaluation</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/monitoring?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/monitoring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/monitoring"><span class="devsite-nav-text" tooltip>Observability &amp; monitoring</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Deploying AI workflows</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/firebase?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/firebase" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/firebase"><span class="devsite-nav-text" tooltip>Deploy with Firebase</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/cloud-run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/cloud-run" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/cloud-run"><span class="devsite-nav-text" tooltip>Deploy with Cloud Run</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/deploy-node?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/deploy-node" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/deploy-node"><span class="devsite-nav-text" tooltip>Deploy to any Node.js platform</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/auth"><span class="devsite-nav-text" tooltip>Authorization and integrity</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Writing plugins</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/plugin-authoring?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/plugin-authoring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/plugin-authoring"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/plugin-authoring-evaluator?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/plugin-authoring-evaluator" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/plugin-authoring-evaluator"><span class="devsite-nav-text" tooltip>Writing an Evaluator Plugin</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Official plugins</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/plugins/google-genai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/plugins/google-genai" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/plugins/google-genai"><span class="devsite-nav-text" tooltip>Google AI for Developers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/plugins/vertex-ai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/plugins/vertex-ai" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/plugins/vertex-ai"><span class="devsite-nav-text" tooltip>Google Cloud Vertex AI</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/plugins/ollama?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/plugins/ollama" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/plugins/ollama"><span class="devsite-nav-text" tooltip>Ollama</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/plugins/chroma?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/plugins/chroma" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/plugins/chroma"><span class="devsite-nav-text" tooltip>Chroma DB</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/plugins/pinecone?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/plugins/pinecone" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/plugins/pinecone"><span class="devsite-nav-text" tooltip>Pinecone</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/templates/pgvector?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/templates/pgvector" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/templates/pgvector"><span class="devsite-nav-text" tooltip>pgvector (code template)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/plugins/firebase?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/plugins/firebase" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/plugins/firebase"><span class="devsite-nav-text" tooltip>Firebase</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/plugins/google-cloud?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/plugins/google-cloud" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/plugins/google-cloud"><span class="devsite-nav-text" tooltip>Google Cloud</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/nextjs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/nextjs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/nextjs"><span class="devsite-nav-text" tooltip>Using Genkit with Next.js</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/migrating-from-0.5?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/migrating-from-0.5" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/migrating-from-0.5"><span class="devsite-nav-text" tooltip>Migrate from Genkit 0.5</span></a></li> <li class="devsite-nav-item devsite-nav-break"></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit/feedback?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit/feedback" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit/feedback"><span class="devsite-nav-text" tooltip>Connect with us</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-alpha"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Genkit (Go alpha)</span><span class="devsite-nav-icon material-icons" data-icon="alpha" data-title="Alpha" aria-hidden="true"></span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/get-started-go?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/get-started-go" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/get-started-go"><span class="devsite-nav-text" tooltip>Get started</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Building AI workflows</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/models"><span class="devsite-nav-text" tooltip>Generating content</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/flows?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/flows" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/flows"><span class="devsite-nav-text" tooltip>Creating flows</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/auth" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/auth"><span class="devsite-nav-text" tooltip>Adding authentication to flows</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/prompts?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/prompts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/prompts"><span class="devsite-nav-text" tooltip>Prompting models</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/dotprompt?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/dotprompt" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/dotprompt"><span class="devsite-nav-text" tooltip>Managing prompts</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/rag?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/rag" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/rag"><span class="devsite-nav-text" tooltip>Retrieval-augmented generation (RAG)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/monitoring?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/monitoring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/monitoring"><span class="devsite-nav-text" tooltip>Observability &amp; monitoring</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Deploying AI workflows</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/cloud-run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/cloud-run" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/cloud-run"><span class="devsite-nav-text" tooltip>Deploy with Cloud Run</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/deploy?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/deploy" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/deploy"><span class="devsite-nav-text" tooltip>Deploy with any hosting service</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Writing plugins</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/plugin-authoring?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/plugin-authoring" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/plugin-authoring"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/plugin-authoring-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/plugin-authoring-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/plugin-authoring-models"><span class="devsite-nav-text" tooltip>Writing a model plugin</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/plugin-authoring-telemetry?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/plugin-authoring-telemetry" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/plugin-authoring-telemetry"><span class="devsite-nav-text" tooltip>Writing a telemetry plugin</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Official plugins</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/plugins/google-genai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/plugins/google-genai" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/plugins/google-genai"><span class="devsite-nav-text" tooltip>Google AI for Developers</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/plugins/vertex-ai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/plugins/vertex-ai" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/plugins/vertex-ai"><span class="devsite-nav-text" tooltip>Google Cloud Vertex AI</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/plugins/ollama?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/plugins/ollama" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/plugins/ollama"><span class="devsite-nav-text" tooltip>Ollama</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/plugins/pinecone?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/plugins/pinecone" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/plugins/pinecone"><span class="devsite-nav-text" tooltip>Pinecone</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/pgvector?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/pgvector" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/pgvector"><span class="devsite-nav-text" tooltip>pgvector (code template)</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit-go/plugins/google-cloud?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/genkit-go/plugins/google-cloud" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/genkit-go/plugins/google-cloud"><span class="devsite-nav-text" tooltip>Google Cloud</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Reference</span> </div></li> <li class="devsite-nav-item devsite-nav-external"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://pkg.go.dev/github.com/firebase/genkit/go" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://pkg.go.dev/github.com/firebase/genkit/go" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://pkg.go.dev/github.com/firebase/genkit/go"><span class="devsite-nav-text" tooltip>Genkit packages</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Firebase ML</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/codelabs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/codelabs" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/codelabs"><span class="devsite-nav-text" tooltip>Codelabs</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Custom Models</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Use a custom model</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/use-custom-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/use-custom-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/use-custom-models"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/use-custom-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/use-custom-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/use-custom-models"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/use-custom-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/use-custom-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/use-custom-models"><span class="devsite-nav-text" tooltip>Android</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/flutter/use-custom-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/flutter/use-custom-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/flutter/use-custom-models"><span class="devsite-nav-text" tooltip>Flutter</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/manage-hosted-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/manage-hosted-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/manage-hosted-models"><span class="devsite-nav-text" tooltip>Deploy &amp; manage custom models</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Migrate from the legacy API</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/migrate-from-legacy-api?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/migrate-from-legacy-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/migrate-from-legacy-api"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/migrate-from-legacy-api?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/migrate-from-legacy-api" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/migrate-from-legacy-api"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Use Cloud Vision APIs</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Recognize text</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/recognize-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/recognize-text"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/recognize-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/recognize-text"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/recognize-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/recognize-text"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Label images</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/label-images?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/label-images" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/label-images"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/label-images?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/label-images" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/label-images"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/label-images?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/label-images" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/label-images"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Recognize landmarks</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/recognize-landmarks?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/recognize-landmarks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/recognize-landmarks"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-landmarks?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/recognize-landmarks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/recognize-landmarks"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/recognize-landmarks?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/recognize-landmarks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/recognize-landmarks"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Deprecated Vision SDKs</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Recognize text</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text-deprecated?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/recognize-text-deprecated" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/recognize-text-deprecated"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/recognize-text-deprecated?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/recognize-text-deprecated" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/recognize-text-deprecated"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Label images</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/label-images-deprecated?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/label-images-deprecated" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/label-images-deprecated"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/label-images-deprecated?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/label-images-deprecated" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/label-images-deprecated"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Recognize landmarks</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-landmarks-deprecated?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/recognize-landmarks-deprecated" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/recognize-landmarks-deprecated"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/recognize-landmarks-deprecated?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/recognize-landmarks-deprecated" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/recognize-landmarks-deprecated"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Cloud AutoML Vision Edge (deprecated)</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/automl-image-labeling?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/automl-image-labeling" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/automl-image-labeling"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/train-image-labeler?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/train-image-labeler" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/train-image-labeler"><span class="devsite-nav-text" tooltip>Train image labeling models</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Label images with your models</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/label-images-with-automl?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/label-images-with-automl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/label-images-with-automl"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/label-images-with-automl?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/label-images-with-automl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/label-images-with-automl"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/train-object-detector?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/train-object-detector" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/train-object-detector"><span class="devsite-nav-text" tooltip>Train object detection models</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Detect objects with your models</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/detect-objects-with-automl?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/detect-objects-with-automl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/detect-objects-with-automl"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/detect-objects-with-automl?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/detect-objects-with-automl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/detect-objects-with-automl"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/migrate-automl-datasets?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/migrate-automl-datasets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/migrate-automl-datasets"><span class="devsite-nav-text" tooltip>Migrate datasets</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Advanced Topics</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>A/B test two versions of a model</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/ab-test-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/ab-test-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/ab-test-models"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/ab-test-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/ab-test-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/ab-test-models"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Prepare for Production</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Protect your Cloud credentials</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/ios/secure-api-key?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/ios/secure-api-key" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/ios/secure-api-key"><span class="devsite-nav-text" tooltip>iOS+</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml/android/secure-api-key?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml/android/secure-api-key" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml/android/secure-api-key"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Legacy Documentation</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>ML Kit for Firebase</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit"><span class="devsite-nav-text" tooltip>Introduction</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Vision</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Recognize text</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/recognize-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/recognize-text"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/recognize-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/recognize-text"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/recognize-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/recognize-text"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Detect faces</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/detect-faces?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/detect-faces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/detect-faces"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/face-detection-concepts?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/face-detection-concepts" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/face-detection-concepts"><span class="devsite-nav-text" tooltip>Concepts</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/detect-faces?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/detect-faces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/detect-faces"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/detect-faces?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/detect-faces" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/detect-faces"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Scan barcodes</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/read-barcodes?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/read-barcodes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/read-barcodes"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/read-barcodes?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/read-barcodes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/read-barcodes"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/read-barcodes?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/read-barcodes" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/read-barcodes"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Label images</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/label-images?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/label-images" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/label-images"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/label-images?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/label-images" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/label-images"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/label-images?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/label-images" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/label-images"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Detect and track objects</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/object-detection?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/object-detection" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/object-detection"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/detect-objects?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/detect-objects" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/detect-objects"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/detect-objects?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/detect-objects" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/detect-objects"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Recognize landmarks</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/recognize-landmarks?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/recognize-landmarks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/recognize-landmarks"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/recognize-landmarks?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/recognize-landmarks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/recognize-landmarks"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/recognize-landmarks?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/recognize-landmarks" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/recognize-landmarks"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>AutoML Vision Edge</span> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/automl-image-labeling?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/automl-image-labeling" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/automl-image-labeling"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/train-image-labeler?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/train-image-labeler" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/train-image-labeler"><span class="devsite-nav-text" tooltip>Train image labeling models</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Label images with your models</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/label-images-with-automl?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/label-images-with-automl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/label-images-with-automl"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/label-images-with-automl?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/label-images-with-automl" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/label-images-with-automl"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/migrate-automl-datasets?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/migrate-automl-datasets" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/migrate-automl-datasets"><span class="devsite-nav-text" tooltip>Migrate datasets</span></a></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Natural Language</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Identify the language of text</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/identify-languages?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/identify-languages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/identify-languages"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/identify-languages?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/identify-languages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/identify-languages"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/identify-languages?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/identify-languages" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/identify-languages"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Translate text</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/translation?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/translation" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/translation"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/translate-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/translate-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/translate-text"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/translate-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/translate-text" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/translate-text"><span class="devsite-nav-text" tooltip>Android</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/translation-terms?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/translation-terms" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/translation-terms"><span class="devsite-nav-text" tooltip>Usage guidelines</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Generate smart replies</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/generate-smart-replies?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/generate-smart-replies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/generate-smart-replies"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/generate-smart-replies?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/generate-smart-replies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/generate-smart-replies"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/generate-smart-replies?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/generate-smart-replies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/generate-smart-replies"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Custom Models</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Use a custom model</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/use-custom-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/use-custom-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/use-custom-models"><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/use-custom-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/use-custom-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/use-custom-models"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/use-custom-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/use-custom-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/use-custom-models"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/manage-hosted-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/manage-hosted-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/manage-hosted-models"><span class="devsite-nav-text" tooltip>Manage hosted custom models</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Use a custom TensorFlow Lite build</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/use-custom-tflite?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/use-custom-tflite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/use-custom-tflite"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/use-custom-tflite?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/use-custom-tflite" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/use-custom-tflite"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Advanced Topics</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>A/B test two versions of a model</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/ab-test-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/ab-test-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/ab-test-models"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/ab-test-models?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/ab-test-models" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/ab-test-models"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Prepare for Production</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Reduce app package size</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/reduce-app-size?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/reduce-app-size" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/reduce-app-size"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-expandable"> <div class="devsite-expandable-nav"><a class="devsite-nav-toggle" aria-hidden="true"></a> <div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"><span class="devsite-nav-text" tooltip>Protect your Cloud credentials</span> </div> <ul class="devsite-nav-section"> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/ios/secure-api-key?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/ios/secure-api-key" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/ios/secure-api-key"><span class="devsite-nav-text" tooltip>iOS</span></a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml-kit/android/secure-api-key?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /docs/ml-kit/android/secure-api-key" track-type="bookNav" track-name="click" track-metadata-eventdetail="/docs/ml-kit/android/secure-api-key"><span class="devsite-nav-text" tooltip>Android</span></a></li> </ul> </div></li> </ul> </div></li> </ul> </div></li> <li class="devsite-nav-item devsite-nav-divider devsite-nav-heading"> <div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>RELATED PRODUCTS</span> </div></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://firebase.google.com/docs/cloud-messaging/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: //firebase.google.com/docs/cloud-messaging/" track-type="bookNav" track-name="click" track-metadata-eventdetail="//firebase.google.com/docs/cloud-messaging/"><span class="devsite-nav-text" tooltip>Cloud Messaging</span></a></li> <li class="devsite-nav-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://firebase.google.com/docs/remote-config/" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: //firebase.google.com/docs/remote-config/" track-type="bookNav" track-name="click" track-metadata-eventdetail="//firebase.google.com/docs/remote-config/"><span class="devsite-nav-text" tooltip>Remote Config</span></a></li> </ul> <ul class="devsite-nav-list" menu="Build" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"><span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Build </span> </span></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products-build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Go to Build" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Go to Build </span> </a></li> <li class="devsite-nav-item devsite-nav-heading"><span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Build Products </span> </span></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/app-check?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: App Check" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> App Check </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/app-hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: App Hosting" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> App Hosting </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Authentication" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Authentication </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cloud Functions" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Cloud Functions </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/storage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cloud Storage" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Cloud Storage </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/data-connect?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Data Connect" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Data Connect </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/extensions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Extensions" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Extensions </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/ml?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Firebase ML" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Firebase ML </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Firestore" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Firestore </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/genkit?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Genkit" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Genkit </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Hosting" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Hosting </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/realtime-database?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Realtime Database" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Realtime Database </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/vertex-ai-in-firebase?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Vertex AI in Firebase" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Vertex AI in Firebase </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/generative-ai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Generative AI" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Generative AI </span> </a></li> </ul> <ul class="devsite-nav-list" menu="Run" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"><span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Run </span> </span></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products-run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Go to Run" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Go to Run </span> </a></li> <li class="devsite-nav-item devsite-nav-heading"><span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Run Products </span> </span></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/ab-testing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: A/B Testing" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> A/B Testing </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/app-distribution?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: App Distribution" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> App Distribution </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/cloud-messaging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cloud Messaging" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Cloud Messaging </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/crashlytics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Crashlytics" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Crashlytics </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/analytics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Analytics" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Google Analytics </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/in-app-messaging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: In-App Messaging" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> In-App Messaging </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/performance?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Performance Monitoring" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Performance Monitoring </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/remote-config?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Remote Config" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Remote Config </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/products/test-lab?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Test Lab" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Test Lab </span> </a></li> </ul> <ul class="devsite-nav-list" menu="Docs" aria-label="Side menu" hidden> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Overview </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/guides?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Fundamentals" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Fundamentals </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Build" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Build </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/run?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Run" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Run </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/reference?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Reference </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/samples?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Samples </span> </a></li> </ul> <ul class="devsite-nav-list" menu="Community" aria-label="Side menu" hidden> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/community/learn?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Learn" track-type="navMenu" 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://firebase-google-com.translate.goog/community/events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Events" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Events </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/community/stories?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Stories" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Stories </span> </a></li> </ul> <ul class="devsite-nav-list" menu="Fundamentals" aria-label="Side menu" hidden> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ios/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Add Firebase - Apple platforms (iOS+)" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Add Firebase - Apple platforms (iOS+) </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/android/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Add Firebase - Android" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Add Firebase - Android </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/web/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Add Firebase - Web" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Add Firebase - Web </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/flutter/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Add Firebase - Flutter" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Add Firebase - Flutter </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/cpp/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Add Firebase - C++" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Add Firebase - C++ </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/unity/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Add Firebase - Unity" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Add Firebase - Unity </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/admin/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Add Firebase - Server environments" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Add Firebase - Server environments </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/projects/learn-more?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Manage Firebase projects" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Manage Firebase projects </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/libraries?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Supported platforms &amp; frameworks" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Supported platforms &amp; frameworks </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Use Emulator Suite" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Use Emulator Suite </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/gemini-in-firebase?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: AI assistance with Gemini in Firebase" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> AI assistance with Gemini in Firebase </span> </a></li> </ul> <ul class="devsite-nav-list" menu="Build" aria-label="Side menu" hidden> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/emulator-suite?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Emulator Suite" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Emulator Suite </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/auth?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Authentication" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Authentication </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-check?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: App Check" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> App Check </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/data-connect?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Data Connect" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Data Connect </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/firestore?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Firestore" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Firestore </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/database?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Realtime Database" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Realtime Database </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/storage?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Storage" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Storage </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/rules?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Security Rules" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Security Rules </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: App Hosting" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> App Hosting </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/hosting?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Hosting" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Hosting </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/functions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cloud Functions" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Cloud Functions </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/extensions?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Extensions" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Extensions </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/vertex-ai?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Vertex AI in Firebase" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Vertex AI in Firebase </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/genkit?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Genkit" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Genkit </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ml?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: ML" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> ML </span> </a></li> </ul> <ul class="devsite-nav-list" menu="Run" aria-label="Side menu" hidden> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/test-lab?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Test Lab" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Test Lab </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/app-distribution?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: App Distribution" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> App Distribution </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/crashlytics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Crashlytics" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Crashlytics </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/perf-mon?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Performance Monitoring" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Performance Monitoring </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/remote-config?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Remote Config" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Remote Config </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ab-testing?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: A/B Testing" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> A/B Testing </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/analytics?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Analytics" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Analytics </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/cloud-messaging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Cloud Messaging" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Cloud Messaging </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/in-app-messaging?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: In-App Messaging" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> In-App Messaging </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/dynamic-links?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Dynamic Links" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Dynamic Links </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/admob?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google AdMob" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Google AdMob </span> </a></li> <li class="devsite-nav-item"><a href="https://firebase-google-com.translate.goog/docs/ads?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Ads" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip> Google Ads </span> </a></li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav has-sidebar> <div class="devsite-sidebar"> <div class="devsite-sidebar-content"><devsite-toc class="devsite-nav" role="navigation" aria-label="On this page" depth="2" scrollbars></devsite-toc> <devsite-recommendations-sidebar class="nocontent devsite-nav"> </devsite-recommendations-sidebar> </div> </div><devsite-content> <article class="devsite-article"> <style> /* Styles inlined from /styles/docs.css */ .center { text-align: center } /* Used in AdMob code examples */ .oldcode { opacity: .40; /* IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40); /* IE <= 7 */ filter:alpha(opacity=40); } .newcode { font-weight: bold; } /* Device Screenshots */ .deviceshot { max-width: 700px; max-height: 400px; } /* Start Changelog styles */ .badge { position: relative; top: -3px; border-radius: 16px; display: inline-block; width: 110px; height: 32px; line-height: 32px; margin-right: 10px; text-transform: uppercase; font-size: 13px; font-weight: 700; text-align: center; color: var(--tenant-inverted-text-color); } .checklist > ul { padding-left: 125px; } .checklist > ul > li { list-style-type: none; margin-bottom: 22px; } .changelog > ul { padding-left: 0; } .changelog > ul > li { list-style-type: none; margin-bottom: 22px; } .firebase-support-release-page .changelog > ul { list-style-type: none; padding-left: 125px; } .firebase-release-roundup .changelog > ul { list-style-type: disc outside; padding-left: 40px; } .firebase-release-roundup .changelog > ul > li { list-style-type: disc outside; margin-bottom: 12px; } .generic-android::before, .generic-ios::before, .generic-mobile::before, .generic-web::before, .generic-flutter::before, .generic-unity::before, .generic-cpp::before, .generic-all::before, .release-changed::before, .release-deprecated::before, .release-feature::before, .release-fixed::before, .release-important::before, .release-issue::before, .release-removed::before, .release-unchanged::before, .release-android::before, .release-android-bom::before, .release-ios::before, .release-javascript::before, .release-flutter::before, .release-unity::before, .release-cpp::before, .release-admin::before, .release-functions::before, .release-cli::before, .release-rules::before { display: block; float: left; width: 110px; height: 32px; margin-left: -125px; margin-right: 10px; border-radius: 16px; text-transform: uppercase; font-size: 13px; font-weight: 700; text-align: center; color: var(--tenant-inverted-text-color); } .generic-android::before { content: "Android"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #839e2e; } .generic-ios::before { text-transform: none; content: "iOS+"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #003fdd; } .generic-mobile::before { content: "Mobile"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #f4b400; } .generic-web::before { content: "Web"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #7e57c2; } .generic-flutter::before { content: "Flutter"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #29b6f6; } .generic-unity::before { content: "Unity"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #7f6545; } .generic-cpp::before { content: "C++"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #ff8c00; } .generic-all::before { content: "All"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #ccc; } .release-changed::before { content: "changed"; background-color: #ff6961; padding-top: 4px; } .release-deprecated::before { content: "deprecated"; background-color: #d70015; padding-top: 4px; } .release-feature::before { content: "feature"; background-color: #0f9d58; padding-top: 4px; } .release-fixed::before { content: "fixed"; background-color: #4285f4; padding-top: 4px; } .release-important::before { content: "important"; background-color: #d70015; padding-top: 4px; } .release-issue::before { content: "issue"; background-color: #d70015; padding-top: 4px; } .release-removed::before { content: "removed"; background-color: #546e7a; padding-top: 4px; } .release-unchanged::before { content: "no change"; background-color: #ccc; padding-top: 4px; } .release-android::before { content: "Android"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #839e2e; } .release-android-bom::before { content: "Android BoM"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #839e2e; } .release-ios::before { text-transform: none; content: "iOS+"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #003fdd; } .release-javascript::before { content: "JavaScript"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #7e57c2; } .release-flutter::before { content: "Flutter"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #29b6f6; } .release-unity::before { content: "Unity"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #7f6545; } .release-cpp::before { content: "C++"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #ff8c00; } .release-admin::before { content: "Admin"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #909090; } .release-functions::before { content: "Functions"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #2c384a; } .release-cli::before { text-transform: none; content: "CLI"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #f4b400; } .release-rules::before { content: "Rules"; color: var(--tenant-secondary-text-color); border: 5px solid; border-color: #002991; } /* End Changelog styles */ /* Docs Overview page styles */ .docs-android, .docs-ios, .docs-web, .docs-cpp, .docs-unity { height: 64px; width: 64px; margin: 10px 16px 0 -16px; } .firebase-docs-overview .devsite-landing-row h2 { margin: 80px 0 -40px; } .devsite-landing-row-3-up .docs-landing-row-item { width: calc((100% - 80px)/2); display: inline-block; } .docs-landing-icon { font-size: 48px; height: 48px; margin: 11px; width: 48px; } .firebase-reference-list { display: -ms-flex; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; list-style: none; margin: 0 0 40px; padding: 0; } .firebase-reference-list-item { -ms-flex: 0 0 50%; flex: 0 0 50%; margin: 40px 0 0; padding: 0; } .firebase-reference-list-item > a { -ms-flex-align: center; align-items: center; display: -ms-flex; display: flex; } .firebase-reference-list-item > a:not(:hover) h3 { color: var(--tenant-primary-text-color); } .firebase-reference-list-item > a:not(:hover) li, .firebase-reference-list-item > a:not(:hover) p { color: var(--tenant-secondary-text-color); } .firebase-reference-list-item .docs-landing-icon { -ms-flex-align: center; align-items: center; background-color: var(--tenant-docs-landing-icon-background, #f5f5f5); border-radius: 50%; -ms-flex: 0 0 88px; flex: 0 0 88px; height: 88px; -ms-justify-content: center; justify-content: center; margin: 0 16px 0 0; padding: 20px; } .firebase-reference-list-item h3 { -ms-flex: 0 0 auto; flex: 0 0 auto; font-size: 18px; line-height: 28px; margin: 0; } .firebase-reference-list-item ul { list-style: none; padding: 0; } .docs-android, .docs-ios, .docs-web, .docs-cpp, .docs-unity { height: 88px; width: auto; } .firebase-reference-list-item.docs-android .docs-landing-icon { color: #00bfa5; } .firebase-reference-list-item.docs-cpp .docs-landing-icon { color: #fd8c09; } .firebase-reference-list-item.docs-ios .docs-landing-icon { color: #16aaca; } .firebase-reference-list-item.docs-unity .docs-landing-icon { color: #000; } .firebase-reference-list-item.docs-web .docs-landing-icon { color: #c52062; } .firebase-reference-list-item.docs-http .docs-landing-icon { color: #3f51b5; } @media (max-width: 1000px) { .firebase-reference-list { -ms-flex-direction: column; flex-direction: column; } } /* end Docs Overview page styles */ /* Full-page platform selector for Crashlytics docs */ /* Note: h3 in selector content must include hide-from-toc */ .full-page-selector, .full-page-selector-content { border: none; font-size: inherit; } .full-page-selector > .kd-buttonbar { margin: 32px 0; } .full-page-selector > section { display: none; } .full-page-selector-content > .selected { padding: 0; font-size: inherit; } .full-page-selector-content > .kd-buttonbar { display: none; } .select-page { display: none; } .select-page + .ds-selector-tabs, .after-selection ~ .ds-selector-tabs { border: none; font-size: inherit; } .select-page + .ds-selector-tabs > .kd-buttonbar { margin: 32px 0; } .select-page + .ds-selector-tabs > section { display: none; } .after-selection ~ .ds-selector-tabs > .selected { padding: 0; font-size: inherit; } .after-selection ~ .ds-selector-tabs > section p { line-height: 24px; } .after-selection ~ .ds-selector-tabs > .kd-buttonbar { display: none; } /* End full-page platform selector */ /* Custom beta and alpha indicators */ .devsite-nav-icon[data-icon="alpha"]::before { content: url(data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'><path d='M13.2,15c-0.3-0.9-0.6-1.7-0.9-2.6L12.1,12c0-0.1-0.1-0.3-0.1-0.4c-1.2,2.1-2.4,2.9-4.5,2.9C4.8,14.5,3,12.6,3,9s1.8-5.5,4.5-5.5c2.1,0,3.4,0.8,4.5,2.9L12.1,6l0.1-0.4c0.4-1.1,0.7-1.9,0.9-2.6h2.2c-0.4,0.8-0.7,1.7-1.2,3.2L14,6.6c-0.3,0.8-0.5,1.6-0.8,2.4c0.3,0.7,0.6,1.5,0.8,2.4l0.1,0.4c0.5,1.5,0.8,2.4,1.2,3.2C15.4,15,13.2,15,13.2,15z M7.5,5.5C5.9,5.5,5,6.5,5,9s0.9,3.5,2.5,3.5C9,12.5,9.9,11.6,11,9C9.9,6.4,9,5.5,7.5,5.5z' fill='%2354617d'/></svg>); } .color-scheme--dark .devsite-nav-icon[data-icon="alpha"]::before { content: url(data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'><path d='M13.2,15c-0.3-0.9-0.6-1.7-0.9-2.6L12.1,12c0-0.1-0.1-0.3-0.1-0.4c-1.2,2.1-2.4,2.9-4.5,2.9C4.8,14.5,3,12.6,3,9s1.8-5.5,4.5-5.5c2.1,0,3.4,0.8,4.5,2.9L12.1,6l0.1-0.4c0.4-1.1,0.7-1.9,0.9-2.6h2.2c-0.4,0.8-0.7,1.7-1.2,3.2L14,6.6c-0.3,0.8-0.5,1.6-0.8,2.4c0.3,0.7,0.6,1.5,0.8,2.4l0.1,0.4c0.5,1.5,0.8,2.4,1.2,3.2C15.4,15,13.2,15,13.2,15z M7.5,5.5C5.9,5.5,5,6.5,5,9s0.9,3.5,2.5,3.5C9,12.5,9.9,11.6,11,9C9.9,6.4,9,5.5,7.5,5.5z' fill='%239eabc3'/></svg>); } .devsite-nav-icon[data-icon="beta"]::before { content: url(data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'><path d='M12.2,7.7c1.8,1.2,2.3,3.7,1.1,5.6c-0.7,1.1-2,1.8-3.3,1.8H7v2H5V4c0-1.1,0.9-2,2-2h2.5C11.4,2,13,3.6,13,5.5C13,6.3,12.7,7.1,12.2,7.7z M7,13h3c1.1,0,2-0.9,2-2s-0.9-2-2-2H7V13z M7,7h2.5C10.3,7,11,6.3,11,5.5S10.3,4,9.5,4H7V7z' fill='%2354617d'/></svg>); } .color-scheme--dark .devsite-nav-icon[data-icon="beta"]::before { content: url(data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'><path d='M12.2,7.7c1.8,1.2,2.3,3.7,1.1,5.6c-0.7,1.1-2,1.8-3.3,1.8H7v2H5V4c0-1.1,0.9-2,2-2h2.5C11.4,2,13,3.6,13,5.5C13,6.3,12.7,7.1,12.2,7.7z M7,13h3c1.1,0,2-0.9,2-2s-0.9-2-2-2H7V13z M7,7h2.5C10.3,7,11,6.3,11,5.5S10.3,4,9.5,4H7V7z' fill='%239eabc3'/></svg>); } .firebase-platform-label { font: 500 12px/24px Roboto,sans-serif; } /* Full-page platform selector dropdown */ /* Note: use menu variables in _elements.html file */ .full-page-selector-dropdown { border: none; position: relative; float: left; display: inline-block; } .full-page-selector-dropdown > .ds-selector-tabs { display: none; position: absolute; min-width: 160px; z-index: 1; } .full-page-selector-dropdown:hover .ds-selector-tabs { display: block; margin: 0; } .full-page-selector-dropdown:hover .kd-tabbutton { display: block; border: none; height: inherit; text-align: left; } .full-page-selector-dropdown:hover .kd-buttonbar { border: none; height: inherit; } .full-page-selector-dropdown h3:hover { color: var(--tenant-inverted-text-color); background-color: #039be5; } .full-page-selector-dropdown:hover .devsite-overflow-menu-button { display: none; } img.white-bg { padding: 5px; border-radius: 2px; background-color: #fff; } </style> <div class="devsite-banner devsite-banner-announcement nocontent"> <div class="devsite-banner-message"> <div class="devsite-banner-message-text"> <style> .devsite-banner-announcement a:link:not(.button), .devsite-banner-announcement a:visited:not(.button) { background: 0; } .devsite-banner-announcement a:hover, .devsite-banner-announcement a:focus { text-decoration: none; } .devsite-banner-announcement .devsite-banner-message-text { margin: 0 auto; } </style> Watch demos on how to build &amp; run AI-powered apps with Firebase at Demo Day '24. <a href="https://firebase-google-com.translate.goog/demo-day/2024?utm_source=firesite&amp;utm_medium=referral&amp;utm_campaign=day_of_firesite_banner&amp;utm_content&amp;_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" target="_blank" rel="noreferrer noopener">Watch now.</a> </div> </div> </div> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "><a href="https://firebase-google-com.translate.goog/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" 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="Firebase"> Firebase </a></li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div><a href="https://firebase-google-com.translate.goog/docs?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" 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="Firebase Documentation"> Documentation </a></li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div><a href="https://firebase-google-com.translate.goog/docs/ml?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Firebase ML"> Firebase ML </a></li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div><a href="https://firebase-google-com.translate.goog/docs/build?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail=""> Build </a></li> </ul><devsite-thumb-rating position="header"> </devsite-thumb-rating> </div><devsite-feedback position="header" project-name="Firebase ML" product-id="719752" bucket="" context="" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" class="nocontent" project-feedback-url="https://firebase.google.com/support/contact/bugs-features/" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/touchicon-180.png" project-support-url="https://firebase.google.com/support/"> <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1">Recognize Text in Images Securely with Cloud Vision using Firebase Auth and Functions on Apple platforms</h1><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" 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> <div class="devsite-page-title-meta"> <devsite-view-release-notes></devsite-view-release-notes> </div><devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded> </devsite-toc> <devsite-recommendations-dropdown class="nocontent"></devsite-recommendations-dropdown> <div class="devsite-article-body clearfix "> <aside class="objective"> <p>The <span class="notranslate">Firebase ML</span> Vision SDK for recognizing text in an image is now deprecated <a href="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text-deprecated?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="external">(See the outdated docs here).</a> This page describes how, as an alternative to the deprecated SDK, you can call Cloud Vision APIs using Firebase Auth and Firebase Functions to allow only authenticated users to access the API.</p> </aside> <p>In order to call a Google Cloud API from your app, you need to create an intermediate REST API that handles authorization and protects secret values such as API keys. You then need to write code in your mobile app to authenticate to and communicate with this intermediate service.</p> <p>One way to create this REST API is by using Firebase Authentication and Functions, which gives you a managed, serverless gateway to Google Cloud APIs that handles authentication and can be called from your mobile app with pre-built SDKs.</p> <p>This guide demonstrates how to use this technique to call the Cloud Vision API from your app. This method will allow all authenticated users to access Cloud Vision billed services through your Cloud project, so consider whether this auth mechanism is sufficient for your use case before proceeding.</p> <aside style="clear: both;"> Use of the Cloud Vision APIs is subject to the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://cloud.google.com/terms/">Google Cloud Platform License Agreement</a> and <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://cloud.google.com/terms/service-terms">Service Specific Terms</a>, and billed accordingly. For billing information, see the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://cloud.google.com/vision/pricing">Pricing</a> page. </aside> <aside class="objective"> <b>Looking for on-device text recognition?</b> Try the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://developers.google.com/ml-kit/vision/text-recognition" class="external">standalone ML Kit library</a>. </aside> <p></p> <h2 id="before-you-begin" data-text="Before you begin" tabindex="-1">Before you begin</h2> <p></p> <h3 id="configure-your-project" data-text="Configure your project" tabindex="-1">Configure your project</h3> If you have not already added Firebase to your app, do so by following the steps in the <a href="https://firebase-google-com.translate.goog/docs/ios/setup?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB">getting started guide</a>. <p>Use Swift Package Manager to install and manage Firebase dependencies.</p> <aside class="note"> Visit <a href="https://firebase-google-com.translate.goog/docs/ios/installation-methods?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB">our installation guide</a> to learn about the different ways you can add Firebase SDKs to your Apple project, including importing frameworks directly and using CocoaPods. </aside> <ol> <li>In Xcode, with your app project open, navigate to <b>File &gt; Add Packages</b>.</li> <li>When prompted, add the Firebase Apple platforms SDK repository:</li> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Text only"> https://github.com/firebase/firebase-ios-sdk.git</pre> </devsite-code> <aside class="note"><b>Note:</b> New projects should use the default (latest) SDK version, but you can choose an older version if needed. </aside> <li>Choose the <span class="notranslate">Firebase ML</span> library.</li> <li>Add the <code translate="no" dir="ltr">-ObjC</code> flag to the <i>Other Linker Flags</i> section of your target's build settings.</li> <li>When finished, Xcode will automatically begin resolving and downloading your dependencies in the background.</li> </ol> <p>Next, perform some in-app setup:</p> <ol> <li>In your app, import Firebase: <devsite-selector scope="code-sample"> <section> <h4 id="swift" data-text="Swift" tabindex="-1">Swift</h4> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">import</span> <span class="devsite-syntax-nc">FirebaseMLModelDownloader</span></pre> </devsite-code> </section> <section> <h4 id="objective-c" data-text="Objective-C" tabindex="-1">Objective-C</h4> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-k">@import</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">FirebaseMLModelDownloader</span><span class="devsite-syntax-p">;</span></pre> </devsite-code> </section> </devsite-selector></li> </ol> <p>A few more configuration steps, and we're ready to go:</p> <ol> <li><p>If you have not already enabled Cloud-based APIs for your project, do so now:</p> <ol> <li>Open the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://console.firebase.google.com/project/_/ml/apis"><span class="notranslate">Firebase ML</span> APIs page</a> of the <span class="notranslate">Firebase</span> console.</li> <li><p>If you have not already upgraded your project to the Blaze pricing plan, click <b>Upgrade</b> to do so. (You will be prompted to upgrade only if your project isn't on the Blaze plan.)</p><p>Only Blaze-level projects can use Cloud-based APIs.</p></li> <li>If Cloud-based APIs aren't already enabled, click <b>Enable Cloud-based APIs</b>.</li> </ol></li> <li>Configure your existing Firebase API keys to disallow access to the Cloud Vision API: <ol> <li>Open the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://console.cloud.google.com/apis/credentials?project%3D_">Credentials</a> page of the Cloud console.</li> <li>For each API key in the list, open the editing view, and in the Key Restrictions section, add all of the available APIs <em>except</em> the Cloud Vision API to the list.</li> </ol></li> </ol> <h3 id="deploy-the-callable-function" data-text="Deploy the callable function" tabindex="-1">Deploy the callable function</h3> <p>Next, deploy the Cloud Function you will use to bridge your app and the Cloud Vision API. The <code translate="no" dir="ltr">functions-samples</code> repository contains an example you can use.</p> <p>By default, accessing the Cloud Vision API through this function will allow only authenticated users of your app access to the Cloud Vision API. You can modify the function for different requirements.</p> <p>To deploy the function:</p> <ol> <li>Clone or download the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://github.com/firebase/functions-samples">functions-samples repo</a> and change to the <code translate="no" dir="ltr">Node-1st-gen/vision-annotate-image</code> directory: <div></div><devsite-code> <pre translate="no" dir="ltr" is-upgraded><code class="devsite-terminal" translate="no" dir="ltr">git clone https://github.com/firebase/functions-samples</code> <code class="devsite-terminal" translate="no" dir="ltr">cd Node-1st-gen/vision-annotate-image</code> </pre> </devsite-code></li> <li>Install dependencies: <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Text only"><code class="devsite-terminal" translate="no" dir="ltr">cd functions</code> <code class="devsite-terminal" translate="no" dir="ltr">npm install</code> <code class="devsite-terminal" translate="no" dir="ltr">cd ..</code></pre> </devsite-code></li> <li>If you don't have the Firebase CLI, <a href="https://firebase-google-com.translate.goog/docs/cli?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#setup_update_cli">install it</a>.</li> <li>Initialize a Firebase project in the <code translate="no" dir="ltr">vision-annotate-image</code> directory. When prompted, select your project in the list. <div></div><devsite-code> <pre class="devsite-terminal devsite-click-to-copy" translate="no" dir="ltr" is-upgraded>firebase init</pre> </devsite-code></li> <li>Deploy the function: <div></div><devsite-code> <pre class="devsite-terminal devsite-click-to-copy" translate="no" dir="ltr" is-upgraded>firebase deploy --only functions:annotateImage</pre> </devsite-code></li> </ol> <h3 id="add-firebase-auth-to-your-app" data-text=" Add Firebase Auth to your app" tabindex="-1">Add Firebase Auth to your app</h3> <p>The callable function deployed above will reject any request from non-authenticated users of your app. If you have not already done so, you will need to <a href="https://firebase-google-com.translate.goog/docs/auth/ios/start?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#add_to_your_app">add Firebase Auth to your app.</a></p> <h3 id="add-necessary-dependencies-to-your-app" data-text="Add necessary dependencies to your app" tabindex="-1">Add necessary dependencies to your app</h3> <p>Use Swift Package Manager to install the Cloud Functions for Firebase library.</p> <p>Now you are ready to start recognizing text in images.</p> <h2 id="1.-prepare-the-input-image" data-text="1. Prepare the input image" tabindex="-1">1. Prepare the input image</h2> In order to call Cloud Vision, the image must be formatted as a base64-encoded string. To process a <code translate="no" dir="ltr">UIImage</code>: <div class="ds-selector-tabs"> <section> <h4 id="swift_1" data-text="Swift" tabindex="-1">Swift</h4> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-k">guard</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">imageData</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">uiImage</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">jpegData</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">compressionQuality</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-mf">1.0</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">else</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">return</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">base64encodedImage</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">imageData</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">base64EncodedString</span><span class="devsite-syntax-p">()</span></pre> </devsite-code> </section> <section> <h4 id="objective-c_1" data-text="Objective-C" tabindex="-1">Objective-C</h4> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-bp">NSData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">imageData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">UIImageJPEGRepresentation</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">uiImage</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">1.0f</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-bp">NSString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">base64encodedImage</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">imageData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">base64EncodedStringWithOptions</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">NSDataBase64Encoding76CharacterLineLength</span><span class="devsite-syntax-p">];</span></pre> </devsite-code> </section> </div> <h2 id="2.-invoke-the-callable-function-to-recognize-text" data-text="2. Invoke the callable function to recognize text" tabindex="-1">2. Invoke the callable function to recognize text</h2> To recognize landmarks in an image, invoke the callable function passing a <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://cloud.google.com/vision/docs/request%23json_request_format">JSON Cloud Vision request</a>. <p></p> <ol> <li><p>First, initialize an instance of Cloud Functions:</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section> <h3 id="swift_2" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Swift"><code translate="no" dir="ltr"><span class="devsite-syntax-kr">lazy</span> <span class="devsite-syntax-kd">var</span> <span class="devsite-syntax-nv">functions</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">Functions</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">functions</span><span class="devsite-syntax-p">()</span> </code></pre> </devsite-code> </section> <section> <h3 id="objective-c_2" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Objective-C"><code translate="no" dir="ltr"><span class="devsite-syntax-k">@property</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-k">strong</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">nonatomic</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">FIRFunctions</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">functions</span><span class="devsite-syntax-p">;</span> </code></pre> </devsite-code> </section> </div></li> <li><p>Create the request. The Cloud Vision API supports two <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://cloud.google.com/vision/docs/reference/rest/v1/Feature%23type">Types</a> of text detection: <code translate="no" dir="ltr">TEXT_DETECTION</code> and <code translate="no" dir="ltr">DOCUMENT_TEXT_DETECTION</code>. See the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://cloud.google.com/vision/docs/ocr%23optical_character_recognition_ocr">Cloud Vision OCR Docs</a> for the difference between the two use cases.</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section> <h3 id="swift_3" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Swift"><code translate="no" dir="ltr"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">requestData</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-p">[</span> <span class="devsite-syntax-s">"image"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"content"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">base64encodedImage</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-s">"features"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"type"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-s">"TEXT_DETECTION"</span><span class="devsite-syntax-p">],</span> <span class="devsite-syntax-s">"imageContext"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"languageHints"</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"en"</span><span class="devsite-syntax-p">]]</span> <span class="devsite-syntax-p">]</span> </code></pre> </devsite-code> </section> <section> <h3 id="objective-c_3" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Objective-C"><code translate="no" dir="ltr"><span class="devsite-syntax-bp">NSDictionary</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">requestData</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">@{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">@"image"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">@{</span><span class="devsite-syntax-s">@"content"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">base64encodedImage</span><span class="devsite-syntax-l">}</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">@"features"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">@{</span><span class="devsite-syntax-s">@"type"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">@"TEXT_DETECTION"</span><span class="devsite-syntax-l">}</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">@"imageContext"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">@{</span><span class="devsite-syntax-s">@"languageHints"</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">@[</span><span class="devsite-syntax-s">@"en"</span><span class="devsite-syntax-l">]}</span> <span class="devsite-syntax-l">}</span><span class="devsite-syntax-p">;</span> </code></pre> </devsite-code> </section> </div></li> <li><p>Finally, invoke the function:</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section> <h3 id="swift_4" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Swift"><code translate="no" dir="ltr"><span class="devsite-syntax-k">do</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">result</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-k">try</span> <span class="devsite-syntax-k">await</span> <span class="devsite-syntax-n">functions</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">httpsCallable</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"annotateImage"</span><span class="devsite-syntax-p">).</span><span class="devsite-syntax-n">call</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">requestData</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">catch</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">error</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-k">as</span> <span class="devsite-syntax-bp">NSError</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">domain</span> <span class="devsite-syntax-p">==</span> <span class="devsite-syntax-n">FunctionsErrorDomain</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">code</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">FunctionsErrorCode</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">rawValue</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">message</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">localizedDescription</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">details</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">userInfo</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">FunctionsErrorDetailsKey</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-c1">// ...</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> </code></pre> </devsite-code> </section> <section> <h3 id="objective-c_4" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Objective-C"><code translate="no" dir="ltr"><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">_functions</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">HTTPSCallableWithName</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-s">@"annotateImage"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nl">callWithObject</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-n">requestData</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-nl">completion</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-o">^</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">FIRHTTPSCallableResult</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">_Nullable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">NSError</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">_Nullable</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</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-p">(</span><span class="devsite-syntax-n">error</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-p">([</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">domain</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">isEqualToString</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-s">@"com.firebase.functions"</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">FIRFunctionsErrorCode</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">code</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">NSString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">message</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">localizedDescription</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">NSObject</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">details</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">userInfo</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"details"</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-c1">// ...</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Function completed succesfully</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Get information about labeled objects</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}];</span> </code></pre> </devsite-code> </section> </div></li> </ol> <h2 id="3.-extract-text-from-blocks-of-recognized-text" data-text="3. Extract text from blocks of recognized text" tabindex="-1">3. Extract text from blocks of recognized text</h2> <p>If the text recognition operation succeeds, a JSON response of <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://cloud.google.com/vision/docs/reference/rest/v1/BatchAnnotateImagesResponse">BatchAnnotateImagesResponse</a> will be returned in the task's result. The text annotations can be found in the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://cloud.google.com/vision/docs/reference/rest/v1/AnnotateImageResponse%23textannotation"><code translate="no" dir="ltr">fullTextAnnotation</code></a> object.</p> <p>You can get the recognized text as a string in the <code translate="no" dir="ltr">text</code> field. For example:</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section> <h3 id="swift_5" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Swift"><code translate="no" dir="ltr"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">annotation</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">flatMap</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-nv">$0</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">data</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">Any</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">flatMap</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-nv">$0</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"fullTextAnnotation"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">flatMap</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-nv">$0</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">Any</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">guard</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">annotation</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">annotation</span> <span class="devsite-syntax-k">else</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">return</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">text</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">annotation</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"text"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-nb">String</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Complete annotation: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">text</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> </code></pre> </devsite-code> </section> <section> <h3 id="objective-c_5" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Objective-C"><code translate="no" dir="ltr"><span class="devsite-syntax-bp">NSDictionary</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">annotation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">data</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"fullTextAnnotation"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-o">!</span><span class="devsite-syntax-n">annotation</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">return</span><span class="devsite-syntax-p">;</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-n">NSLog</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">@"</span><span class="devsite-syntax-se">\n</span><span class="devsite-syntax-s">Complete annotation:"</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-n">NSLog</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">@"</span><span class="devsite-syntax-se">\n</span><span class="devsite-syntax-s">%@"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">annotation</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"text"</span><span class="devsite-syntax-p">]);</span> </code></pre> </devsite-code> </section> </div> <p>You can also get information specific to regions of the image. For each <code translate="no" dir="ltr">block</code>, <code translate="no" dir="ltr">paragraph</code>, <code translate="no" dir="ltr">word</code>, and <code translate="no" dir="ltr">symbol</code>, you can get the text recognized in the region and the bounding coordinates of the region. For example:</p> <div class="ds-selector-tabs" data-ds-scope="code-sample"> <section> <h3 id="swift_6" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Swift"><code translate="no" dir="ltr"><span class="devsite-syntax-k">guard</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">pages</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">annotation</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"pages"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">Any</span><span class="devsite-syntax-p">]]</span> <span class="devsite-syntax-k">else</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">return</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">page</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">pages</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-kd">var</span> <span class="devsite-syntax-nv">pageText</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-s">""</span> <span class="devsite-syntax-k">guard</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">blocks</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">page</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"blocks"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">Any</span><span class="devsite-syntax-p">]]</span> <span class="devsite-syntax-k">else</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">continue</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">block</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">blocks</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-kd">var</span> <span class="devsite-syntax-nv">blockText</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-s">""</span> <span class="devsite-syntax-k">guard</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">paragraphs</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">block</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"paragraphs"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">Any</span><span class="devsite-syntax-p">]]</span> <span class="devsite-syntax-k">else</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">continue</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">paragraph</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">paragraphs</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-kd">var</span> <span class="devsite-syntax-nv">paragraphText</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-s">""</span> <span class="devsite-syntax-k">guard</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">words</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">paragraph</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"words"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">Any</span><span class="devsite-syntax-p">]]</span> <span class="devsite-syntax-k">else</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">continue</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">word</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">words</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-kd">var</span> <span class="devsite-syntax-nv">wordText</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-s">""</span> <span class="devsite-syntax-k">guard</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">symbols</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">word</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"symbols"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-nb">Any</span><span class="devsite-syntax-p">]]</span> <span class="devsite-syntax-k">else</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">continue</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">symbol</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">symbols</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">text</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">symbol</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"text"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-nb">String</span> <span class="devsite-syntax-p">??</span> <span class="devsite-syntax-s">""</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">confidence</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">symbol</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"confidence"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-nb">Float</span> <span class="devsite-syntax-p">??</span> <span class="devsite-syntax-mf">0.0</span> <span class="devsite-syntax-n">wordText</span> <span class="devsite-syntax-o">+=</span> <span class="devsite-syntax-n">text</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Symbol text: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">text</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s"> (confidence: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">confidence</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">%n"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">confidence</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">word</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"confidence"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-nb">Float</span> <span class="devsite-syntax-p">??</span> <span class="devsite-syntax-mf">0.0</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Word text: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">wordText</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s"> (confidence: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">confidence</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">%n%n"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">boundingBox</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">word</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"boundingBox"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-nb">Float</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-p">??</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-mf">0.0</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-mf">0.0</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-mf">0.0</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-mf">0.0</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Word bounding box: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">boundingBox</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">description</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">%n"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-n">paragraphText</span> <span class="devsite-syntax-o">+=</span> <span class="devsite-syntax-n">wordText</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"%nParagraph: %n</span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">paragraphText</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">%n"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">boundingBox</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">paragraph</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"boundingBox"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-nb">Float</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-p">??</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-mf">0.0</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-mf">0.0</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-mf">0.0</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-mf">0.0</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Paragraph bounding box: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">boundingBox</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">%n"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">confidence</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">paragraph</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"confidence"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-k">as</span><span class="devsite-syntax-p">?</span> <span class="devsite-syntax-nb">Float</span> <span class="devsite-syntax-p">??</span> <span class="devsite-syntax-mf">0.0</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Paragraph Confidence: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">confidence</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">%n"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-n">blockText</span> <span class="devsite-syntax-o">+=</span> <span class="devsite-syntax-n">paragraphText</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-n">pageText</span> <span class="devsite-syntax-o">+=</span> <span class="devsite-syntax-n">blockText</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> </code></pre> </devsite-code> </section> <section> <h3 id="objective-c_6" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code> <pre class="devsite-click-to-copy" translate="no" dir="ltr" is-upgraded syntax="Objective-C"><code translate="no" dir="ltr"><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-bp">NSDictionary</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">page</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">annotation</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"pages"</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-bp">NSMutableString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">pageText</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-bp">NSMutableString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-bp">NSDictionary</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">block</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">page</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"blocks"</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-bp">NSMutableString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">blockText</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-bp">NSMutableString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-bp">NSDictionary</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">paragraph</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">block</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"paragraphs"</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-bp">NSMutableString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">paragraphText</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-bp">NSMutableString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-bp">NSDictionary</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">word</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paragraph</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"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-bp">NSMutableString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">wordText</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-bp">NSMutableString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">new</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-bp">NSDictionary</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">symbol</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">word</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"symbols"</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-bp">NSString</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">text</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">symbol</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"text"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">wordText</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">appendString</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">text</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">NSLog</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">@"Symbol text: %@ (confidence: %@</span><span class="devsite-syntax-se">\n</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">text</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">symbol</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"confidence"</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">NSLog</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">@"Word text: %@ (confidence: %@</span><span class="devsite-syntax-se">\n\n</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">wordText</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">word</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"confidence"</span><span class="devsite-syntax-p">]);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">NSLog</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">@"Word bounding box: %@</span><span class="devsite-syntax-se">\n</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">word</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"boundingBox"</span><span class="devsite-syntax-p">]);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">paragraphText</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">appendString</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">wordText</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">NSLog</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">@"</span><span class="devsite-syntax-se">\n</span><span class="devsite-syntax-s">Paragraph: </span><span class="devsite-syntax-se">\n</span><span class="devsite-syntax-s">%@</span><span class="devsite-syntax-se">\n</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paragraphText</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">NSLog</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">@"Paragraph bounding box: %@</span><span class="devsite-syntax-se">\n</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paragraph</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"boundingBox"</span><span class="devsite-syntax-p">]);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">NSLog</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">@"Paragraph Confidence: %@</span><span class="devsite-syntax-se">\n</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">paragraph</span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">@"confidence"</span><span class="devsite-syntax-p">]);</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">blockText</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">appendString</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">paragraphText</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-p">[</span><span class="devsite-syntax-n">pageText</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">appendString</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">blockText</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> </div><devsite-hats-survey class="nocontent" hats-id="Eo9GZTcG10ncf3CThQj0SEgFWynR" listnr-id="5244646"></devsite-hats-survey> </div><devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Firebase ML" product-id="719752" bucket="" context="" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" class="nocontent" project-feedback-url="https://firebase.google.com/support/contact/bugs-features/" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/touchicon-180.png" project-support-url="https://firebase.google.com/support/"> <button> Send feedback </button> </devsite-feedback> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2024-11-21 UTC.</p> </devsite-content-footer> <devsite-notification> </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-feedback"><devsite-feedback position="thumb-rating" project-name="Firebase ML" product-id="719752" bucket="" context="" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" class="nocontent" project-feedback-url="https://firebase.google.com/support/contact/bugs-features/" project-icon="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/touchicon-180.png" project-support-url="https://firebase.google.com/support/"> <button> Need to tell us more? </button> </devsite-feedback> </template> <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"]],["Last updated 2024-11-21 UTC."],[],[]] </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"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "><h3 class="devsite-footer-linkbox-heading no-link">Learn</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"><a href="https://firebase-google-com.translate.goog/docs/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Developer guides </a></li> <li class="devsite-footer-linkbox-item"><a href="https://firebase-google-com.translate.goog/docs/reference/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> SDK &amp; API reference </a></li> <li class="devsite-footer-linkbox-item"><a href="https://firebase-google-com.translate.goog/docs/samples/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Samples </a></li> <li class="devsite-footer-linkbox-item"><a href="https://firebase-google-com.translate.goog/docs/libraries/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Libraries </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://github.com/firebase/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> GitHub </a></li> </ul></li> <li class="devsite-footer-linkbox "><h3 class="devsite-footer-linkbox-heading no-link">Stay connected</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://firebase.blog" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Check out the blog </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://www.reddit.com/r/Firebase" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Find us on Reddit </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://x.com/Firebase" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Follow on X </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://www.youtube.com/user/Firebase" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Subscribe on YouTube </a></li> <li class="devsite-footer-linkbox-item"><a href="https://firebase-google-com.translate.goog/community/events?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> Attend an event </a></li> </ul></li> <li class="devsite-footer-linkbox "><h3 class="devsite-footer-linkbox-heading no-link">Support</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"><a href="https://firebase-google-com.translate.goog/support/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Contact support </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://stackoverflow.com/questions/tagged/firebase" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Stack Overflow </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://firebase.community/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Slack community </a></li> <li class="devsite-footer-linkbox-item"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://groups.google.com/forum/%23!forum/firebase-talk" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Google group </a></li> <li class="devsite-footer-linkbox-item"><a href="https://firebase-google-com.translate.goog/support/releases?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)"> Release notes </a></li> <li class="devsite-footer-linkbox-item"><a href="https://firebase-google-com.translate.goog/brand-guidelines/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)"> Brand guidelines </a></li> <li class="devsite-footer-linkbox-item"><a href="https://firebase-google-com.translate.goog/support/faq/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)"> FAQs </a></li> </ul></li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"><a href="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=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> <source srcset="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/lockup-google-for-developers-dark-theme.svg" media="(prefers-color-scheme: none)" class="devsite-dark-theme" loading="lazy" alt="Google Developers"> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/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="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://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="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://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="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://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="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://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="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://developers.google.com/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="https://firebase-google-com.translate.goog/terms/?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB" 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="https://translate.google.com/website?sl=pl&amp;tl=ar&amp;hl=en-GB&amp;u=https://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="https://firebase-google-com.translate.goog/docs/ml/ios/recognize-text?_x_tr_sl=pl&amp;_x_tr_tl=ar&amp;_x_tr_hl=en-GB#" 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">Português</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> </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>[]</script> <script type="application/json" tag-management>{&#34;at&#34;: &#34;True&#34;, &#34;ga4&#34;: [], &#34;ga4p&#34;: [], &#34;gtm&#34;: [{&#34;id&#34;: &#34;GTM-N84485&#34;, &#34;purpose&#34;: 0}], &#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;article&#34;, &#34;projectName&#34;: &#34;Firebase ML&#34;, &#34;signedIn&#34;: &#34;False&#34;, &#34;tenant&#34;: &#34;firebase&#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> <firebase-gtm></firebase-gtm> <firebase-utm></firebase-utm> <script nonce="9LizMbWikr0jrnMUhncno3CT0Fbk1L"> (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/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/js/app_loader.js', '[4,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase","https://firebase-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/firebase/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/favicon.png","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/firebase/images/lockup.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","firebase.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["TpcFeatures__enable_mirror_tenant_redirects","Cloud__enable_llm_concierge_chat","MiscFeatureFlags__enable_variable_operator","CloudShell__cloud_code_overflow_menu","Profiles__enable_recognition_badges","Significatio__enable_by_tenant","CloudShell__cloud_shell_button","TpcFeatures__enable_required_headers","MiscFeatureFlags__developers_footer_image","BookNav__enable_tenant_cache_key","Cloud__enable_free_trial_server_call","Profiles__enable_public_developer_profiles","MiscFeatureFlags__developers_footer_dark_image","MiscFeatureFlags__enable_firebase_utm","Cloud__enable_cloud_shell","Profiles__enable_developer_profiles_callout","Search__enable_page_map","Cloud__enable_cloud_shell_fte_user_flow","EngEduTelemetry__enable_engedu_telemetry","MiscFeatureFlags__enable_view_transitions","Profiles__enable_page_saving","Analytics__enable_clearcut_logging","MiscFeatureFlags__enable_dark_theme","MiscFeatureFlags__emergency_css","Cloud__enable_cloudx_experiment_ids","Cloud__enable_cloud_facet_chat","Search__enable_suggestions_from_borg","DevPro__enable_developer_subscriptions","Search__enable_ai_eligibility_checks","Cloud__enable_cloudx_ping","Profiles__enable_awarding_url","Concierge__enable_pushui","Profiles__enable_complete_playlist_endpoint","Profiles__enable_completecodelab_endpoint","Cloud__enable_cloud_dlp_service","Experiments__reqs_query_experiments","Cloud__enable_legacy_calculator_redirect","MiscFeatureFlags__enable_project_variables","DevPro__enable_cloud_innovators_plus","Profiles__require_profile_eligibility_for_signin","Profiles__enable_dashboard_curated_recommendations","Search__enable_dynamic_content_confidential_banner","Profiles__enable_profile_collections","Profiles__enable_release_notes_notifications"],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",[4,"firebase","Firebase","firebase.google.com",null,"firebase-dot-devsite-v2-prod.appspot.com",null,null,[1,1,null,null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1]],null,null,null,[1,null,1],[1,1,null,null,1]],null,[68,null,null,null,null,null,"/images/lockup.svg","/images/touchicon-180.png",null,null,null,1,1,1,null,null,null,null,null,null,null,2,null,null,null,"/images/lockup.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,20,22,23,29,37],null,[[],[1,1]],[[null,null,null,null,["UA-24532603-9"],["GTM-N84485"],null,null,null,null,[["UA-24532603-9",1]],[["GTM-N84485",1]],1],[[36,4],[46,8],[16,2],[17,1],[2,5]],null,1],null,4],1,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script><devsite-a11y-announce></devsite-a11y-announce> <script>function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage('pl', 'ar', function () {});}</script> <script src="https://translate.google.com/translate_a/element.js?cb=gtElInit&amp;hl=en-GB&amp;client=wt" type="text/javascript"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10