CINXE.COM
Explore your prediction results | Firebase
<!doctype html> <html lang="en" dir="ltr"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://firebase.google.com/docs/predictions/v1/explore-predictions","20201129174111","https://web.archive.org/","web","/_static/", "1606671671"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email"> <meta property="og:site_name" content="Firebase"> <meta property="og:type" content="website"> <meta name="theme-color" content="#039be5"> <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="/web/20201129174111/https://firebase.google.com/_pwa/firebase/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//web.archive.org/web/20201129174111/https://www.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20201129174111/https://fonts.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20201129174111/https://fonts.googleapis.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20201129174111/https://apis.google.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20201129174111/https://www.google-analytics.com/" crossorigin> <link rel="stylesheet" href="//web.archive.org/web/20201129174111cs_/https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700|Material+Icons"> <link rel="stylesheet" href="https://web.archive.org/web/20201129174111cs_/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/css/app.css"> <noscript> </noscript> <link rel="shortcut icon" href="https://web.archive.org/web/20201129174111im_/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/images/favicon.png"> <link rel="apple-touch-icon" href="https://web.archive.org/web/20201129174111im_/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/images/touchicon-180.png"><link rel="canonical" href="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs/predictions/v1/explore-predictions"><link rel="search" type="application/opensearchdescription+xml" title="Firebase" href="https://web.archive.org/web/20201129174111/https://firebase.google.com/s/opensearch.xml"> <title>Explore your prediction results | Firebase</title> <meta property="og:title" content="Explore your prediction results | Firebase"> <meta property="og:url" content="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs/predictions/v1/explore-predictions"> <meta property="og:locale" content="en"> <meta name="gtm_var" data-key="docType" data-value="how-to"> </head> <body type="article" theme="firebase-theme" class="" layout="docs" pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"><devsite-header> <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="/web/20201129174111/https://firebase.google.com/" 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"> <img src="https://web.archive.org/web/20201129174111im_/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/images/lockup.png" class="devsite-site-logo" alt="Firebase"> </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> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/products" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="products" data-category="Site-Wide Custom Events" data-label="Tab: Products"> Products </a> </tab> <tab> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/use-cases" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="useCases" data-category="Site-Wide Custom Events" data-label="Tab: Use Cases"> Use Cases </a> </tab> <tab> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/pricing" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="pricing" data-category="Site-Wide Custom Events" data-label="Tab: Pricing"> Pricing </a> </tab> <tab active> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="docs" aria-label="Docs, selected" data-category="Site-Wide Custom Events" data-label="Tab: Docs"> Docs </a> </tab> <tab> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/community" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="community" data-category="Site-Wide Custom Events" data-label="Tab: Community"> Community </a> </tab> <tab> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/support" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="support" data-category="Site-Wide Custom Events" data-label="Tab: Support"> Support </a> </tab> </nav> </devsite-tabs> </div> <devsite-search aria-expanded="false" aria-haspopup="listbox" enable-signin enable-search enable-suggestions enable-query-completion project-name="Firebase" tenant-name="Firebase" role="combobox"> <form class="devsite-search-form" action="https://web.archive.org/web/20201129174111/https://firebase.google.com/s/results" method="GET"> <div class="devsite-search-container"> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-haspopup="false" aria-multiline="false" aria-label="Search box" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" type="text" value=""> <div class="devsite-search-image material-icons" aria-hidden="true"></div> </div> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <devsite-select class="devsite-language-selector-menu"> <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector"> <option>Language</option> <option value="en" lang="en" track-metadata-original-language="en" track-metadata-selected-language="en" track-name="changed" track-type="languageSelector"> English </option> <option value="id" lang="id" track-metadata-original-language="en" track-metadata-selected-language="id" track-name="changed" track-type="languageSelector"> Bahasa Indonesia </option> <option value="de" lang="de" track-metadata-original-language="en" track-metadata-selected-language="de" track-name="changed" track-type="languageSelector"> Deutsch </option> <option value="es_419" lang="es_419" track-metadata-original-language="en" track-metadata-selected-language="es_419" track-name="changed" track-type="languageSelector"> Español – América Latina </option> <option value="fr" lang="fr" track-metadata-original-language="en" track-metadata-selected-language="fr" track-name="changed" track-type="languageSelector"> Français </option> <option value="it" lang="it" track-metadata-original-language="en" track-metadata-selected-language="it" track-name="changed" track-type="languageSelector"> Italiano </option> <option value="pl" lang="pl" track-metadata-original-language="en" track-metadata-selected-language="pl" track-name="changed" track-type="languageSelector"> Polski </option> <option value="pt_br" lang="pt_br" track-metadata-original-language="en" track-metadata-selected-language="pt_br" track-name="changed" track-type="languageSelector"> Português – Brasil </option> <option value="vi" lang="vi" track-metadata-original-language="en" track-metadata-selected-language="vi" track-name="changed" track-type="languageSelector"> Tiếng Việt </option> <option value="tr" lang="tr" track-metadata-original-language="en" track-metadata-selected-language="tr" track-name="changed" track-type="languageSelector"> Türkçe </option> <option value="ru" lang="ru" track-metadata-original-language="en" track-metadata-selected-language="ru" track-name="changed" track-type="languageSelector"> Русский </option> <option value="he" lang="he" track-metadata-original-language="en" track-metadata-selected-language="he" track-name="changed" track-type="languageSelector"> עברית' </option> <option value="ar" lang="ar" track-metadata-original-language="en" track-metadata-selected-language="ar" track-name="changed" track-type="languageSelector"> العربيّة </option> <option value="fa" lang="fa" track-metadata-original-language="en" track-metadata-selected-language="fa" track-name="changed" track-type="languageSelector"> فارسی </option> <option value="hi" lang="hi" track-metadata-original-language="en" track-metadata-selected-language="hi" track-name="changed" track-type="languageSelector"> हिंदी </option> <option value="bn" lang="bn" track-metadata-original-language="en" track-metadata-selected-language="bn" track-name="changed" track-type="languageSelector"> বাংলা </option> <option value="th" lang="th" track-metadata-original-language="en" track-metadata-selected-language="th" track-name="changed" track-type="languageSelector"> ภาษาไทย </option> <option value="zh_cn" lang="zh_cn" track-metadata-original-language="en" track-metadata-selected-language="zh_cn" track-name="changed" track-type="languageSelector"> 中文 – 简体 </option> <option value="zh_tw" lang="zh_tw" track-metadata-original-language="en" track-metadata-selected-language="zh_tw" track-name="changed" track-type="languageSelector"> 中文 – 繁體 </option> <option value="ja" lang="ja" track-metadata-original-language="en" track-metadata-selected-language="ja" track-name="changed" track-type="languageSelector"> 日本語 </option> <option value="ko" lang="ko" track-metadata-original-language="en" track-metadata-selected-language="ko" track-name="changed" track-type="languageSelector"> 한국어 </option> </select> </devsite-select> </devsite-language-selector> <a class="devsite-header-link devsite-top-button button gc-analytics-event" href="//web.archive.org/web/20201129174111/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"></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"> <li class="devsite-breadcrumb-item "> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs" 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=""> Documentation </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://web.archive.org/web/20201129174111/https://firebase.google.com/docs" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="overview" data-category="Site-Wide Custom Events" data-label="Tab: Overview"> Overview </a> </tab> <tab active> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs/guides" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="guides" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides"> Guides </a> </tab> <tab> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs/reference" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="reference" data-category="Site-Wide Custom Events" data-label="Tab: Reference"> Reference </a> </tab> <tab> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs/samples" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="samples" data-category="Site-Wide Custom Events" data-label="Tab: Samples"> Samples </a> </tab> <tab> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs/libraries" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="libraries" data-category="Site-Wide Custom Events" data-label="Tab: Libraries"> Libraries </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars> <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="/web/20201129174111/https://firebase.google.com/" 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"> <img src="https://web.archive.org/web/20201129174111im_/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/images/lockup.png" class="devsite-site-logo" alt="Firebase"> </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="/web/20201129174111/https://firebase.google.com/products" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Products" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="products"> <span class="devsite-nav-text" tooltip> Products </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/use-cases" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Use Cases" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="useCases"> <span class="devsite-nav-text" tooltip> Use Cases </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/pricing" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Pricing" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="pricing"> <span class="devsite-nav-text" tooltip> Pricing </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/docs" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Docs" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="docs"> <span class="devsite-nav-text" tooltip> Docs </span> </a> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/docs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="overview"> <span class="devsite-nav-text" tooltip> Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/docs/guides" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="guides"> <span class="devsite-nav-text" tooltip menu="_book"> Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/docs/reference" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="reference"> <span class="devsite-nav-text" tooltip> Reference </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/docs/samples" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="samples"> <span class="devsite-nav-text" tooltip> Samples </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/docs/libraries" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Libraries" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="libraries"> <span class="devsite-nav-text" tooltip> Libraries </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/community" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Community" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="community"> <span class="devsite-nav-text" tooltip> Community </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20201129174111/https://firebase.google.com/support" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Support" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="support"> <span class="devsite-nav-text" tooltip> Support </span> </a> </li> <li class="devsite-nav-item"> <a href="//web.archive.org/web/20201129174111/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" track-name="goToConsole"> <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="/web/20201129174111/https://firebase.google.com/docs/guides" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Guides</span></a></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Get started with Firebase</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 Firebase to an app</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ios/setup" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/android/setup" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/web/setup" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Web</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 Firebase to a game</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/games/setup" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cpp/setup" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>C++</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/unity/setup" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Unity</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/admin/setup" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Add Firebase to a server</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 Firebase with a framework</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/flutter/setup" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Flutter</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/api/workflow_set-up-and-manage-project" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set up projects programmatically</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Manage your Firebase projects</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/learn-more" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Understand Firebase projects</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/locations" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Select locations for your project</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/multiprojects" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Configure multiple projects</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/api-keys" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Learn about API keys for Firebase</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/pwa" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use Firebase in PWAs</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/bigquery-export" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Export project data to BigQuery</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="/web/20201129174111/https://firebase.google.com/docs/projects/manage-installations" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Firebase installations</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/import-segments" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Import segments</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-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Manage projects programmatically</span></div></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/api/workflow_set-up-and-manage-project" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use the REST API</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-expandable"><devsite-expandable-nav collapsed> <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 the Admin SDK</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/admin/node/admin.projectManagement" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Node.js</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/admin/java/reference/com/google/firebase/projectmanagement/package-summary" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Java</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/admin/python/firebase_admin.project_management" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Python</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/provisioning/configure-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Configure OAuth identity providers for Firebase Auth</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 project access (IAM)</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/iam/overview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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>Roles</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/iam/roles" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/iam/roles-basic" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Owner, Editor, Viewer roles</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 predefined roles</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/iam/roles-predefined" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/iam/roles-predefined-all-products" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Firebase-level roles</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/iam/roles-predefined-category" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Product-category roles</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/iam/roles-predefined-product" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Product-level roles</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/iam/roles-custom" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Custom roles</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/projects/iam/permissions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Permissions</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"><devsite-expandable-nav collapsed> <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>Prototype and test with Emulator Suite</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="/web/20201129174111/https://firebase.google.com/docs/emulator-suite" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/emulator-suite/connect_and_prototype" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/emulator-suite/connect_auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Connect to the Authentication emulator</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/emulator-suite/connect_rtdb" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Connect to the Realtime Database emulator</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/emulator-suite/connect_firestore" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Connect to the Cloud Firestore emulator</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/emulator-suite/connect_functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Connect to the Cloud Functions emulator</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/emulator-suite/install_and_configure" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Install, configure and integrate</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Analytics</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Log Events</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/user-properties" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set User Properties</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/debugview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Debug Events</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/screenviews" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Track Screens</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/userid" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set a User ID</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/measure-ecommerce" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Measure Ecommerce</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/webview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use in a WebView</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/extend-with-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/configure-data-collection" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Configure Data Collection and Usage</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/errors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Error Codes</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/analytics/cpp/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/cpp/events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Log Events</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/cpp/properties" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set User Properties</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/analytics/unity/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/unity/events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Log Events</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/analytics/unity/properties" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set User Properties</span></a></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/extensions" class="devsite-nav-title"><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>Use an extension in your project</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/extensions/overview-use-extensions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/extensions/install-extensions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Install an extension</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/extensions/manage-installed-extensions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage installed extensions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/extensions/permissions-granted-to-extension" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Permissions granted to an extension</span></a></li></ul></devsite-expandable-nav></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>Develop</span></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/where-to-start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Where do I start?</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/users" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Users in Firebase Projects</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/auth/ios/firebaseui" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sign in with a pre-built UI</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/manage-users" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/password-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/email-link-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Email Link Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/google-signin" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Google Sign-In</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/facebook-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/apple" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/twitter-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Twitter Login</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/github-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>GitHub</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/microsoft-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/yahoo-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/game-center" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Game Center Sign-in</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/phone-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/custom-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/anonymous-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/single-sign-on" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Enabling cross-app authentication with shared iOS Keychain</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/account-linking" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/passing-state-in-email-actions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Passing State in Email Actions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/ios/errors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/auth/android/firebaseui" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sign in with a pre-built UI</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started with the Firebase SDK</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/manage-users" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/password-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/email-link-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Email Link Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/google-signin" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Google Sign-In</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/facebook-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/apple" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/twitter-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Twitter</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/github-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>GitHub</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/microsoft-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/yahoo-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/play-games" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Play Games Sign-in</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/phone-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/custom-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/anonymous-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/account-linking" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/android/passing-state-in-email-actions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Passing State in Email Actions</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/auth/web/firebaseui" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sign in with a pre-built UI</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/manage-users" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/password-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/email-link-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Email Link Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/google-signin" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Google Sign-In</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/facebook-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/apple" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/twitter-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Twitter</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/github-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>GitHub</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/microsoft-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/yahoo-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/phone-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/custom-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/anonymous-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/account-linking" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/cordova" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>OAuth Sign-In for Cordova</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/auth-state-persistence" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Auth State Persistence</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/passing-state-in-email-actions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Passing State in Email Actions</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/web/service-worker-sessions" class="devsite-nav-title"><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></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/manage-users" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/password-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/google-signin" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Google Sign-in</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/play-games" class="devsite-nav-title"><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="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/github-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>GitHub</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/facebook-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/apple" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/twitter-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Twitter Login</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/microsoft-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/yahoo-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/phone-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/custom-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/anonymous-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/cpp/account-linking" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/auth/unity/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/manage-users" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/password-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Password Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/google-signin" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Google Sign-in</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/play-games" class="devsite-nav-title"><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="/web/20201129174111/https://firebase.google.com/docs/auth/unity/github-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>GitHub Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/facebook-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Facebook Login</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/apple" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sign in with Apple</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/twitter-login" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Twitter Login</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/microsoft-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Microsoft</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/yahoo-oauth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Yahoo</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/phone-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Phone Number</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/custom-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use a Custom Auth System</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/anonymous-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Anonymous Authentication</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/unity/account-linking" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Link Multiple Auth Providers</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/auth/admin" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/admin/manage-users" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Users</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/admin/import-users" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Import Users</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/admin/create-custom-tokens" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create Custom Tokens</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/admin/verify-id-tokens" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Verify ID Tokens</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/admin/manage-sessions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage User Sessions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/admin/manage-cookies" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Session Cookies</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/admin/custom-claims" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Control Access with Custom Claims</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/admin/email-action-links" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Generating Email Action Links</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/admin/errors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Errors</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/admin/migrate-admin" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Migration Guide</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/custom-email-handler" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Customize the Email Action Handler</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/extend-with-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/case-studies" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Case Studies</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/auth/limits" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Usage Limits</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/rtdb-vs-firestore" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Choose a Database</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database/ios/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/ios/structure-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/ios/read-and-write" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Read and Write Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/ios/lists-of-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Work with Lists of Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/ios/offline-capabilities" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Enable Offline Capabilities</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database/android/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/android/structure-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/android/read-and-write" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Read and Write Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/android/lists-of-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Work with Lists of Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/android/offline-capabilities" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Enable Offline Capabilities</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database/web/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/web/structure-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/web/read-and-write" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Read and Write Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/web/lists-of-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Work with Lists of Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/web/offline-capabilities" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Enable Offline Capabilities</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database/admin/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/admin/structure-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/admin/save-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Save Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/admin/retrieve-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Retrieve Data</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database/rest/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/rest/structure-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/rest/save-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Save Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/rest/retrieve-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Retrieve Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/rest/auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Authenticate REST Requests</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database/cpp/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/cpp/structure-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/cpp/save-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Save Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/cpp/retrieve-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Retrieve Data</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database/unity/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/unity/structure-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/unity/save-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Save Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/unity/retrieve-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Retrieve Data</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database/security" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Understand Rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/security/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/security/core-syntax" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Security Rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/security/rules-conditions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Write Conditions for Security Rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/security/indexing-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Index Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/rest/app-management" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Rules via REST</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/database/usage/billing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Understand Billing</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/usage/limits" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Realtime Database Limits</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/usage/monitor-usage" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Monitor Database Usage</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/usage/monitor-performance" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Monitor Database Performance</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/usage/sharding" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Scale with Multiple Databases</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/usage/profile" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Profile Your Database</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/usage/optimize" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Optimize Database Performance</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/backups" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Automated Backups</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/extend-with-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/database/video-series" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Video series: Firebase for SQL Developers</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/firestore" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/quickstart" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/firestore/rtdb-vs-firestore" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Compare Cloud Firestore and Realtime Database</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/data-model" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Data model</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/manage-data/data-types" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Data types</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/client/libraries" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>SDKs and client libraries</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/query-data/index-overview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Index types</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/locations" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Database locations</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/firestore/manage-data/structure-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/manage-data/add-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Add data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/manage-data/transactions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Transactions and batched writes</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/transaction-data-contention" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Data contention in transaction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/manage-data/delete-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Delete data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/using-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage Cloud Firestore with the Firebase Console</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/manage-data/export-import" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Export and import data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/manage-data/move-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Move data between projects</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/firestore/query-data/get-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get data once</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/query-data/listen" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Listen for realtime updates</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/query-data/queries" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Perform simple and compound queries</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/query-data/order-limit-data" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Order and limit data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/query-data/query-cursors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Paginate data with query cursors</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/manage-data/enable-offline" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Access data offline</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/query-data/indexing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage indexes</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/firestore/security/overview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/security/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/security/rules-structure" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Security Rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/security/rules-conditions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Writing conditions for Security Rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/security/insecure-rules" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Fix insecure rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/security/test-rules-emulator" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test your Security Rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/security/rules-query" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Securely query data</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/aggregation" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Aggregation Queries</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/counters" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Distributed counters</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/search" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Full-text search</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/presence" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Build presence</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/role-based-access" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Secure data access for users and groups</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/delete-collections" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Delete data with a callable Cloud Function</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/schedule-export" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Schedule data exports</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/shard-timestamp" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sharded timestamps</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/automate-database-create" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Automating database creation</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/solutions/index-map-field" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Reduce index costs with map fields</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/firestore/quotas" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Usage and limits</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/monitor-usage" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Monitor usage</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/pricing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Understand Cloud Firestore billing</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/billing-example" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Example Cloud Firestore costs</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/storage-size" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Understand storage size calculations</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/best-practices" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Best practices for Cloud Firestore</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/firestore/use-rest-api" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use the Cloud Firestore REST API</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/firestore-for-rtdb" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use Cloud Firestore and Realtime Database</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/extend-with-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</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="/web/20201129174111/https://firebase.google.com/docs/firestore/library-integrations" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Third-party library integrations</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/package-summary" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/swift/firebasefirestore/api/reference/Classes" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS — Swift</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/ios/firebasefirestore/api/reference/Classes" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS — Objective-C</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/js/firebase.firestore" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Web</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/functions/providers_firestore_" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Cloud Functions</span></a></li><li class="devsite-nav-item"><a href="//web.archive.org/web/20201129174111/https://googleapis.dev/nodejs/firestore/latest/" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Node.js</span></a></li><li class="devsite-nav-item"><a href="//web.archive.org/web/20201129174111/https://googleapis.github.io/google-cloud-java/google-cloud-clients/apidocs/index.html?com/google/cloud/firestore/package-summary.html" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Java</span></a></li><li class="devsite-nav-item"><a href="//web.archive.org/web/20201129174111/https://googleapis.github.io/google-cloud-python/latest/firestore/client.html" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Python</span></a></li><li class="devsite-nav-item"><a href="//web.archive.org/web/20201129174111/https://godoc.org/cloud.google.com/go/firestore" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Go</span></a></li><li class="devsite-nav-item"><a href="//web.archive.org/web/20201129174111/https://googleapis.github.io/google-cloud-dotnet/docs/Google.Cloud.Firestore/" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>C#</span></a></li><li class="devsite-nav-item"><a href="//web.archive.org/web/20201129174111/https://googleapis.github.io/google-cloud-php/#/docs/cloud-firestore/latest/firestore/readme" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>PHP</span></a></li><li class="devsite-nav-item"><a href="//web.archive.org/web/20201129174111/https://googleapis.github.io/google-cloud-ruby/docs/google-cloud-firestore/latest/Google/Firestore/V1beta1" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Ruby</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/reference/rest" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>REST</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/reference/rpc" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>RPC</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/firestore/client/samples-ios" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/client/samples-android" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/firestore/client/samples-web" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Web</span></a></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/storage" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/storage/ios/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/ios/create-reference" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/ios/upload-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/ios/download-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Download Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/ios/file-metadata" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/ios/delete-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/ios/list-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>List Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/ios/handle-errors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/storage/android/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/android/create-reference" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/android/upload-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/android/download-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Download Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/android/file-metadata" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/android/delete-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/android/list-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>List Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/android/handle-errors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/storage/web/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/web/create-reference" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/web/upload-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/web/download-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Download Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/web/file-metadata" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/web/delete-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/web/list-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>List Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/web/handle-errors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/storage/admin/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/storage/cpp/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/cpp/create-reference" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/cpp/upload-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/cpp/download-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Download Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/cpp/file-metadata" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/cpp/delete-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/cpp/handle-errors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/storage/unity/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/unity/create-reference" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create a Reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/unity/upload-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Upload Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/unity/download-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Download Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/unity/file-metadata" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use File Metadata</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/unity/delete-files" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Delete Files</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/unity/handle-errors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Handle Errors</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/storage/security" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Understand Security</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/security/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/security/core-syntax" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Structure Security Rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/security/rules-conditions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Write Conditions for Security Rules</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/monitor-storage" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Monitor activity</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/extend-with-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/storage/gcp-integration" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Integrate with Google Cloud</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/hosting" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/use-cases" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>What can you do with Firebase Hosting?</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/quickstart" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item devsite-nav-new"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/test-preview-deploy" class="devsite-nav-title"><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="/web/20201129174111/https://firebase.google.com/docs/hosting/github-integration" class="devsite-nav-title"><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="/web/20201129174111/https://firebase.google.com/docs/hosting/multisites" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Share project resources across multiple sites</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/custom-domain" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Connect a custom domain</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/full-config" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Configure hosting behavior</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/i18n-rewrites" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Configure i18n rewrites</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/reserved-urls" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Add SDKs using reserved URLs</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/hosting/serverless-overview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use Cloud Functions for Firebase</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/cloud-run" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use Cloud Run</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/manage-cache" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage cache behavior</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/manage-hosting-resources" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage live & preview channels, releases, and versions</span></a></li><li class="devsite-nav-item devsite-nav-new"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/web-request-logs-and-metrics" class="devsite-nav-title"><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="/web/20201129174111/https://firebase.google.com/docs/hosting/usage-quotas-pricing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Usage, quotas, and pricing</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/hosting/api-deploy" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Deploy using the REST API</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/use-cases" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>What can I do with Cloud Functions?</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/beta-v1-diff" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Upgrade to v1.0+ from beta</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/functions/callable" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Call functions from your app</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/http-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Call functions via HTTP requests</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/schedule-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Run functions on a schedule</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/firestore-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Cloud Firestore triggers</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="/web/20201129174111/https://firebase.google.com/docs/functions/database-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Realtime Database triggers</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="/web/20201129174111/https://firebase.google.com/docs/functions/rc-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Remote Config triggers</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="/web/20201129174111/https://firebase.google.com/docs/functions/auth-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Authentication triggers</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="/web/20201129174111/https://firebase.google.com/docs/functions/analytics-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Analytics triggers</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-deprecated"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/crashlytics-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Crashlytics triggers</span><span class="devsite-nav-icon material-icons" data-icon="deprecated" data-title="Deprecated" aria-hidden="true"></span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/gcp-storage-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Cloud Storage triggers</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="/web/20201129174111/https://firebase.google.com/docs/functions/pubsub-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Cloud Pub/Sub triggers</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="/web/20201129174111/https://firebase.google.com/docs/functions/test-lab-events" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test Lab triggers</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/functions/manage-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage deployment and runtime options</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/typescript" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Write functions in TypeScript</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/terminate-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Sync, async, and promises</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/retries" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Retry asynchronous functions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/config-env" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Environment configuration</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/organize-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Organize functions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/handle-dependencies" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Handling dependencies</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/networking" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Optimizing networking</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/tips" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Tips & tricks</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/functions/local-emulator" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Run functions locally</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/unit-testing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Unit testing functions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/local-shell" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test functions interactively</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/functions/writing-and-viewing-logs" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Write and view logs</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/reporting-errors" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Report errors</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/monitored-metrics" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>View monitored metrics</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/reference/functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Firebase SDK for Cloud Functions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/functions/test" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test SDK</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/callable-reference" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Protocol specification for https.onCall</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/video-series" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Video Series: learn Cloud Functions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/functions-and-firebase" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Cloud Functions and Firebase</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/locations" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Cloud Functions locations</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/functions/quotas" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Quotas and limits</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"><devsite-expandable-nav collapsed> <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>Machine Learning</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="/web/20201129174111/https://firebase.google.com/docs/ml" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/codelabs" class="devsite-nav-title"><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>Vision</span></div></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml/recognize-text" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/ios/recognize-text" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/android/recognize-text" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml/label-images" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/ios/label-images" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/android/label-images" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml/recognize-landmarks" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/ios/recognize-landmarks" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/android/recognize-landmarks" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></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="/web/20201129174111/https://firebase.google.com/docs/ml/automl-image-labeling" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/train-image-labeler" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Train image labeling models</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml/ios/label-images-with-automl" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/android/label-images-with-automl" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/migrate-automl-datasets" class="devsite-nav-title"><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>Custom Models</span></div></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml/use-custom-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/ios/use-custom-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/android/use-custom-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/manage-hosted-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Deploy & manage custom models</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml/ios/migrate-from-legacy-api" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/android/migrate-from-legacy-api" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></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"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml/ios/ab-test-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/android/ab-test-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></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"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml/ios/secure-api-key" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml/android/secure-api-key" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></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"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit" class="devsite-nav-title"><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"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/recognize-text" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/recognize-text" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/recognize-text" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/detect-faces" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/face-detection-concepts" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Concepts</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/detect-faces" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/detect-faces" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/read-barcodes" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/read-barcodes" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/read-barcodes" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/label-images" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/label-images" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/label-images" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/object-detection" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/detect-objects" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/detect-objects" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/recognize-landmarks" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/recognize-landmarks" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/recognize-landmarks" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/automl-image-labeling" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/train-image-labeler" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Train image labeling models</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/label-images-with-automl" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/label-images-with-automl" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/migrate-automl-datasets" class="devsite-nav-title"><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"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/identify-languages" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/identify-languages" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/identify-languages" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/translation" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/translate-text" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/translate-text" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/translation-terms" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Usage guidelines</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/generate-smart-replies" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/generate-smart-replies" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/generate-smart-replies" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></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"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/use-custom-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/use-custom-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/use-custom-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/manage-hosted-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage hosted custom models</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/use-custom-tflite" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/use-custom-tflite" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></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"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/ab-test-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/ab-test-models" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></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"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/reduce-app-size" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/ml-kit/ios/secure-api-key" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ml-kit/android/secure-api-key" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/rules" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/rules/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/rules/rules-language" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Security Rules language</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/rules/rules-behavior" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>How Security Rules work</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/rules/rules-and-auth" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Security Rules and Firebase Authentication</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/rules/basics" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Basic Security Rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/rules/insecure-rules" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Avoid insecure rules</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/rules/data-validation" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Data validation</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/rules/emulator-setup" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set up the emulator</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/rules/unit-tests" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Build unit tests</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/rules/emulator-reports" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Generate test reports</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/rules/simulator" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Quickly validate Security Rules</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/rules/manage-deploy" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage and deploy Security Rules</span></a></li></ul></devsite-expandable-nav></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>Quality</span></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Crashlytics</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/start-using-analytics" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get metrics with Google Analytics</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/test-implementation" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test your implementation</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/customize-crash-reports" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Customize crash reports</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get deobfuscated crash reports</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/ndk-reports" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Android NDK crash reports</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/velocity-alerts" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Customize velocity alerts</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/bigquery-export" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Export data to BigQuery</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/troubleshooting" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Troubleshooting</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>From Fabric to Firebase</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/migration-post-linking" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Steps after migrating your app</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/upgrade-sdk" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Upgrade to the Firebase Crashlytics SDK</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/crashlytics/switch-to-analytics" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Switch from Answers to Analytics</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Performance Monitoring</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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>Get started</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/get-started-ios" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/get-started-android" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/get-started-web" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Web</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li></ul></devsite-expandable-nav></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 automatically collected data</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/app-start-foreground-background-traces" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>App start, foreground, background (iOS & Android)</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/screen-traces" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Screen rendering (iOS & Android)</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/page-load-traces" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Page loading (web)</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="/web/20201129174111/https://firebase.google.com/docs/perf-mon/network-traces" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>HTTP/S network requests</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>Customize data collection and aggregation</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/custom-code-traces" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Add monitoring for specific code</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/custom-network-traces" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Add monitoring for specific network requests</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/custom-url-patterns" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create custom URL patterns</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/disable-sdk" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Disable Performance 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>Track, view, and filter data</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview of the console</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/attributes" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Filter data using attributes</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/issue-management" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>View performance issues</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/bigquery-export" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Export data to BigQuery</span></a></li><li class="devsite-nav-item devsite-nav-break"></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/perf-mon/troubleshooting" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Troubleshooting</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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 Lab</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/test-lab/ios/firebase-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test with the Firebase console</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/ios/command-line" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test with the gcloud CLI</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/game-loop" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Run a Game Loop test</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/ios/analyzing-results" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Analyze test results</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/ios/available-testing-devices" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test on available devices</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/overview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/firebase-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test with the Firebase console</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/command-line" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test with the gcloud CLI</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/continuous" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test with CI systems</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/android-studio" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test with Android Studio</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/analyzing-results" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Analyze test results</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/available-testing-devices" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test on available devices</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/instrumentation-test" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Run an instrumentation test</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/robo-ux-test" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Run a Robo test</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/game-loop" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Run a Game Loop test</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/test-screenshots" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Take screenshots in a test</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/android/avds" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test with virtual devices</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-new"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/troubleshooting" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Troubleshooting</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="/web/20201129174111/https://firebase.google.com/docs/test-lab/usage-quotas-pricing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Usage, quotas, & pricing</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="/web/20201129174111/https://firebase.google.com/docs/test-lab/extend-with-functions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Extend with Cloud Functions</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 API reference</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/reference/testing/rest" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Testing (submit test & monitor)</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/test-lab/reference/toolresults/rest" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>ToolResults (retrieve results)</span></a></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"><devsite-expandable-nav collapsed> <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 Distribution</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="/web/20201129174111/https://firebase.google.com/docs/app-distribution" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/manage-testers" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage testers</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/troubleshooting" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Troubleshooting</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>Set up for testers</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/ios/set-up-for-testing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/android/set-up-for-testing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</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>Distribute iOS apps</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/ios/distribute-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use the Firebase console</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/ios/distribute-cli" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use the Firebase CLI</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/ios/distribute-fastlane" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use fastlane</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/set-up-alerts" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set up in-app alerts</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-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Distribute Android apps</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/android/distribute-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use the Firebase console</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/android/distribute-cli" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use the Firebase CLI</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/android/distribute-fastlane" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use fastlane</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-distribution/android/distribute-gradle" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use Gradle</span></a></li></ul></devsite-expandable-nav></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>Grow</span></div></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Predictions</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/predefined-predictions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Churn and spend predictions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/bigquery-export" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Export prediction data to BigQuery</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 case examples</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/use-cases/prevent-churn" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Prevent churn</span></a></li><li class="devsite-nav-item devsite-nav-break"></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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>Legacy Predictions (deprecated)</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/v1" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/v1/get-started" class="devsite-nav-title"><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>Use Cases</span></div></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/use-cases/prevent-churn" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Prevent Churn</span></a></li><li class="devsite-nav-item devsite-nav-break"></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/v1/explore-predictions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Explore Prediction Results</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/v1/bigquery-export" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Export Prediction Data to BigQuery</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/v1/predefined-predictions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Churn and Spend Predictions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/predictions/v1/risk-profiles" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Risk Tolerance and Model Performance</span></a></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"><devsite-expandable-nav collapsed> <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 Testing</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="/web/20201129174111/https://firebase.google.com/docs/ab-testing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ab-testing/abtest-config" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create Remote Config Experiments with A/B Testing</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ab-testing/abtest-with-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create Messaging Experiments with A/B Testing</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ab-testing/abtest-inappmessaging" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Create In-App Messaging Experiments with A/B Testing</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ab-testing/video-series" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Video Series: Learn A/B Testing</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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 Messaging</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/fcm-architecture" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>FCM Architectural Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/concept-options" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>About FCM messages</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/ios/client" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set up an iOS client</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/ios/certs" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Configuring APNs with FCM</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/ios/first-message" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send a test message</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/ios/send-multiple" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages to multiple devices</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/ios/send-image" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send an image in the notification payload</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/ios/receive" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Receive messages</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/ios/topic-messaging" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages to topics</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/ios/device-group" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send to device groups</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/ios/send-with-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages with the Firebase Console</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/android/client" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set up an Android client</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/android/first-message" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send a test message</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/android/send-multiple" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages to multiple devices</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/android/send-image" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send an image in the notification payload</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/android/receive" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Receive messages</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/android/topic-messaging" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages to topics</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/android/device-group" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send to device groups</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/android/upstream" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send upstream messages</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/android/send-with-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages with the Firebase Console</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/cpp/client" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set up a C++ client</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/cpp/receive" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Receive messages</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/cpp/topic-messaging" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages to topics</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/cpp/device-group" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send to device groups</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/cpp/upstream" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send upstream messages</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/cpp/send-with-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages with the Firebase Console</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/unity/client" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set up a Unity client</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/unity/receive" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Receive messages</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/unity/topic-messaging" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages to topics</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/unity/device-group" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send to device groups</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/unity/upstream" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send upstream messages</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/unity/send-with-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages with the Firebase Console</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 (JavaScript)</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/js/client" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Set up a JavaScript client</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/js/first-message" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send a test message</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/js/send-multiple" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages to multiple devices</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/js/receive" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Receive messages</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/js/topic-messaging" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages to topics</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/js/device-group" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send to device groups</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/js/send-with-console" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Send messages with the Firebase Console</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/js/case-studies" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Case studies</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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>Server environments</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/server" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Your server environment and FCM</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/migrate-v1" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Migrate to the HTTP v1 API</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/auth-server" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Authorize send requests</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/send-message" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Build send requests</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/receive-upstream" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Receive upstream messages</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/manage-topics" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manage topics from the server</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/cloud-messaging/understand-delivery" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Understanding message delivery</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion devsite-nav-beta"><devsite-expandable-nav collapsed> <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>In-App Messaging</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="/web/20201129174111/https://firebase.google.com/docs/in-app-messaging" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/in-app-messaging/get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/in-app-messaging/explore-use-cases" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Explore use cases</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/in-app-messaging/compose-campaign" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Compose a campaign</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/in-app-messaging/modify-message-behavior" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Modify message behavior</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/in-app-messaging/customize-messages" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Customize messages</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Remote Config</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/remote-config" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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>What can I do with Remote Config?</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/remote-config/use-cases" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Remote Config use cases</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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>Key concepts and strategies</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/remote-config/parameters" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Parameters and conditions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/remote-config/templates" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Templates and versioning</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/remote-config/loading" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Config loading strategies</span></a></li><li class="devsite-nav-item devsite-nav-beta"><a href="/web/20201129174111/https://firebase.google.com/docs/remote-config/propagate-updates-realtime" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Propagate updates in real time</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="/web/20201129174111/https://firebase.google.com/docs/remote-config/config-analytics" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Remote Config and Analytics</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/remote-config/use-config-ios" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started with Remote Config on iOS</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/remote-config/use-config-android" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started with Remote Config on Android</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 (JavaScript)</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/remote-config/use-config-web" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started with Remote Config on Web</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/remote-config/use-config-cpp" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use Remote Config with C++</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/remote-config/use-config-unity" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use Remote Config with Unity</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/remote-config/automate-rc" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Modify Remote Config programmatically</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/reference/remote-config/rest" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>REST API reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/remote-config/condition-reference" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Conditional expression reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/android/com/google/firebase/remoteconfig/package-summary" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android SDK reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/swift/firebaseremoteconfig/api/reference/Classes" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS Swift SDK reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/ios/firebasecore/api/reference/Classes" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS Obj-C SDK reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/unity/namespace/firebase/remote-config" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Unity reference</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/reference/cpp/namespace/firebase/remote-config" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>C++ reference</span></a></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Dynamic Links</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 Cases</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/use-cases" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Overview</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/use-cases/web-to-app" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Convert Web Users To App Users</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/use-cases/user-to-user" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Invite Users to Your App</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/use-cases/rewarded-referral" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Reward User Referrals</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/operating-system-integrations" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Operating System Integrations</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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>Create Dynamic Links</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/create-links" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/ios/create" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/android/create" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/cpp/create" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>C++</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/unity/create" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Unity</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/rest" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>REST</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/create-manually" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Manual URL Construction</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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>Receive Dynamic Links</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/ios/receive" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/android/receive" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Android</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/cpp/receive" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>C++</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/unity/receive" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Unity</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/custom-domains" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use a Custom Domain</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/analytics" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>View Analytics Data</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/debug" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Debug Dynamic Links</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/dynamic-links/link-previews" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Link Previews & Social Metadata</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Google AdMob</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/admob" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/admob/ios/quick-start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started for iOS</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/admob/android/quick-start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started for Android</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/admob/analytics-and-firebase" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Use Analytics and Firebase with AdMob apps</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 AdMob in a game</span></div></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/admob/cpp/quick-start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/admob/cpp/cocos2d-x" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Cocos2d-x</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/admob/cpp/rewarded-video" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Rewarded video</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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 devsite-nav-external"><a href="//web.archive.org/web/20201129174111/https://developers.google.com/admob/unity/start" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get started</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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>Google Ads</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/ads" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li></ul></devsite-expandable-nav></li> <li class="devsite-nav-item devsite-nav-expandable devsite-nav-accordion"><devsite-expandable-nav collapsed> <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 Indexing</span></div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-indexing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Introduction</span></a></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/app-indexing/ios/app" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-indexing/ios/test" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test Your Implementation</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-indexing/ios/measure" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Enhance Search Performance</span></a></li></ul></devsite-expandable-nav></li><li class="devsite-nav-item devsite-nav-expandable"><devsite-expandable-nav collapsed> <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="/web/20201129174111/https://firebase.google.com/docs/app-indexing/android/app" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-indexing/android/public-content" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Refine Public Content Indexing</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-indexing/android/log-actions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Log User Actions</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-indexing/android/test" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Test Your Implementation</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-indexing/android/measure" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Enhance Search Performance</span></a></li><li class="devsite-nav-item"><a href="/web/20201129174111/https://firebase.google.com/docs/app-indexing/android/migrate" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Migrate to the Latest API</span></a></li></ul></devsite-expandable-nav></li></ul></devsite-expandable-nav></li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav has-toc> <devsite-toc class="devsite-nav"></devsite-toc> <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: 90px; height: 32px; line-height: 32px; margin-right: 10px; text-transform: uppercase; font-size: 13px; font-weight: 700; text-align: center; } /* Colours for each type of changelog entry. */ /* TODO: Change the colours to match the site colour scheme */ .badge-changed { background-color: #F4B400; color: #fff; } .badge-fixed { background-color: #4285F4; color: #fff; } .badge-important { background-color: #DB4437; color: #fff; } .badge-feature { background-color: #0F9D58; color: #fff; } .badge-deprecated { background-color: #DB4437; color: #fff; } .badge-issue { background-color: #DB4437; color: #fff; } .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: 110px; } .release-changed::before, .release-feature::before, .release-fixed::before, .release-issue::before, .release-deprecated::before, .release-removed::before, .release-unchanged::before, .release-rules::before, .release-android::before, .release-android-bom::before, .release-ios::before, .release-admin::before, .release-cpp::before, .release-unity::before, .release-functions::before, .release-javascript::before { display: block; float: left; color: white; width: 100px; height: 32px; margin-left: -110px; margin-right: 10px; margin-top: -5px; padding-top: 4px; text-transform: uppercase; font-size: 13px; font-weight: 700; text-align: center; border-radius: 16px; } .release-changed::before { content: "changed"; background-color: #F4B400; } .release-feature::before { content: "feature"; background-color: #0F9D58; } .release-fixed::before { content: "fixed"; background-color: #4285F4; } .release-issue::before { content: "issue"; background-color: #DB4437; } .release-deprecated::before { content: "deprecated"; background-color: #E65100; } .release-removed::before { content: "removed"; background-color: #546E7A; } .release-unchanged::before { content: "no change"; background-color: #CCCCCC; } .release-android::before { content: "android"; background-color: #A4C639; } .release-android-bom::before { content: "android bom"; background-color: #A4C639; } .release-ios::before { text-transform: none; content: "iOS"; background-color: #007aff; } .release-admin::before { content: "admin"; background-color: #039BE5; } .release-cpp::before { content: "c++"; background-color: #FF8A65; } .release-unity::before { content: "unity"; background-color: #00cccc; } .release-functions::before { content: "functions"; background-color: #2C384A; } .release-javascript::before { content: "javascript"; background-color: #7e57c2; } .release-rules::before { content: "rules"; background-color: #1B3A57; } /* 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: #424242; } .firebase-reference-list-item > a:not(:hover) li, .firebase-reference-list-item > a:not(:hover) p { color: #757575; } .firebase-reference-list-item .docs-landing-icon { -ms-flex-align: center; align-items: center; background-color: #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: #000000; } .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 0px; } .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 0px; } .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 (v1 format, followed by v2 format) */ .devsite-nav-alpha .devsite-nav-icon::before, .devsite-nav-icon[data-icon="alpha"]::before { content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTMuMjA2IDE1YTU0LjIxNCA1NC4yMTQgMCAwIDEtLjkyLTIuNTc4bC0uMTQtLjQxNGE4MS43NiA4MS43NiAwIDAgMC0uMTM2LS40MDJDMTAuODUgMTMuNjcyIDkuNTYyIDE0LjUgNy41IDE0LjUgNC44MSAxNC41IDMgMTIuNjE2IDMgOXMxLjgxLTUuNSA0LjUtNS41YzIuMDYyIDAgMy4zNS44MjggNC41MSAyLjg5NGwuMTM3LS40MDIuMTM5LS40MTRjLjM4LTEuMTI3LjY1My0xLjkwMi45Mi0yLjU3OGgyLjE2NmMtLjM2NC44My0uNjcyIDEuNjgtMS4xOSAzLjIxN2wtLjE0LjQxM0E1Ny45OSA1Ny45OSAwIDAgMSAxMy4xOTQgOWMuMjc1LjcxLjU1NCAxLjQ5OC44NDggMi4zN2wuMTQuNDEzYy41MTggMS41MzguODI2IDIuMzg3IDEuMTkgMy4yMTdoLTIuMTY2ek03LjUgNS41QzUuOTMyIDUuNSA1IDYuNDcgNSA5YzAgMi41My45MzIgMy41IDIuNSAzLjUgMS40OTcgMCAyLjQ0NC0uOTE3IDMuNTM1LTMuNUM5Ljk0NCA2LjQxNyA4Ljk5NyA1LjUgNy41IDUuNXoiIGZpbGw9InJnYmEoMCwwLDAsLjM4KSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zdmc+'); } .devsite-nav-beta .devsite-nav-icon::before, .devsite-nav-icon[data-icon="beta"]::before { content: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIuMjM2IDcuNjgzQTQgNCAwIDAgMSAxMCAxNUg3djJINVY0YTIgMiAwIDAgMSAyLTJoMi41YTMuNSAzLjUgMCAwIDEgMi43MzYgNS42ODN6TTcgMTNoM2EyIDIgMCAxIDAgMC00SDd2NHptMC02aDIuNWExLjUgMS41IDAgMCAwIDAtM0g3djN6IiBmaWxsPSJyZ2JhKDAsMCwwLC4zOCkiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvc3ZnPg=='); } .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: white; background-color: #039be5; } .full-page-selector-dropdown:hover .devsite-overflow-menu-button { display: none; } </style> <div class="devsite-banner devsite-banner-announcement"> <div class="devsite-banner-message"> <div class="devsite-banner-message-text"> <style> .devsite-banner-announcement:not(.devsite-banner-tenant) { background: #202124; color: white; font-weight: 500; } .devsite-banner-announcement a { color: white; font-weight: 700; } .devsite-banner-announcement a:link, .devsite-banner-announcement a:visited { 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> Google is committed to advancing racial equity for Black communities. <a href="https://web.archive.org/web/20201129174111/https://google.com/racialequity" class="gc-analytics-event" data-category="Announcement" data-label="Racial Equity">See how.</a> </div> </div> </div> <div class="devsite-article-meta"> <ul class="devsite-breadcrumb-list" role="navigation" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Firebase"> Firebase </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs" 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=""> Docs </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://web.archive.org/web/20201129174111/https://firebase.google.com/docs/guides" 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=""> Guides </a> </li> </ul> <devsite-page-rating position="header" selected-rating="0" hover-rating-star="0"> </devsite-page-rating> </div> <devsite-feedback position="header" project-name="Firebase" product-id="719752" bucket="" context="" version="t-devsite-webserver-20201120-r00-rc01.431178933892188969" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" project-feedback-url="https://firebase.google.com/support/contact/bugs-features/" project-icon="https://firebase.google.com/_static/firebase/images/logo.png" project-support-url="https://firebase.google.com/support/" feedback-type="star-rating"> <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title">Explore your prediction results</h1> <devsite-toc class="devsite-nav" devsite-toc-embedded> </devsite-toc> <div class="devsite-article-body clearfix "> <aside class="caution"> <p>This page refers to the first version of Firebase Predictions, which was released in October 2017. This version makes binary classifications of your users based on their predicted behavior: for example, "will spend" and "will not spend".</p> <p>The <a href="/web/20201129174111/https://firebase.google.com/docs/predictions">new version</a> of Firebase Predictions, released in September 2019, provides greater targeting granularity—for example, "the 10% of users most likely to spend"—and other improvements.</p> <p>The new version is recommended for both new and existing projects. However, you can continue using the deprecated version by clicking your app name on the Firebase console Predictions page and selecting <b>Legacy Predictions</b>.</p> </aside> <p>After you set up Firebase Predictions, your users are dynamically segmented into groups based on their predicted behavior. Firebase Predictions has a broad spectrum of signals it can potentially use to make these predictions, including Analytics events that are automatically logged and that you explicitly logged, the user's device configuration, and basic attributes of your app, such as its binary size. However, for any given prediction, only some of the available signals are relevant.</p> <p>As a hypothetical example, when predicting whether a user is likely to spend, a user's recent spending behavior is probably very relevant, whereas its binary size is probably not. However, in practice, the signals that actually have predictive relevance are often surprising and can change over time.</p> <p>To gain insight into exactly what data went into making your predictions, you can explore your predictions in the Firebase console.</p> <h2 id="open_a_predictions_details_page" data-text="Open a prediction's details page">Open a prediction's details page</h2> <p>To explore a prediction:</p> <ol> <li><p>Open the <a href="//web.archive.org/web/20201129174111/https://console.firebase.google.com/project/_/growth">Predictions section</a> of the Firebase console.</p></li> <li><p>Ensure the app and platform you're interested in is selected from the drop-down menu at the top of the console.</p> <p>If you have predictions set up for the app you selected, you will see a page that contains cards with information about the predefined predictions and any custom predictions you might have created for the app.</p></li> <li><p>On the card for the prediction you want to explore, click <strong>Select an action > Explore this prediction</strong>.</p></li> </ol> <p>The prediction details page opens.</p> <h2 id="what_went_into_making_this_prediction" data-text="What went into making this prediction?">What went into making this prediction?</h2> <p>Expand the <strong>What went into making this prediction</strong> section of the prediction details page to see what data went into making the selected prediction over the most recent 28-day period predictions are available (the exact timeframe is indicated at the top-right of the page).</p> <p><img class="screenshot" src="/web/20201129174111im_/https://firebase.google.com/docs/predictions/v1/images/insights-overview.png"></p> <p>The signals shown in this section were all used to determine whether each of your 28-day active users were predicted to perform the action in question. Also shown are the average values and value range of these signals over all users that were predicted to perform the action, given the risk tolerance you selected. By selecting different risk tolerance levels, you can see how the values of each signal affected prediction confidence.</p> <p>While this page lists most of the signals the prediction models use, the models are frequently updated and improved, so some signals might not yet be included.</p> <p>The data that contribute to a prediction belong to four high-level categories: user engagement metrics, event frequency, user properties, and app attributes. Note that some predictions might not use any signals in a category, in which event the category will have no items under it.</p> <p>The following sections describe the signals that can appear under each category.</p> <h3 id="user_engagement_metrics" data-text="User engagement metrics">User engagement metrics</h3> <p>User engagement metrics measure how much users used your app over several timeframes.</p> <table class="responsive"> <tr> <td>Active users</td> <td> <p>Whether a user was active during a given timeframe.</p> <p>Users are considered active if they trigger an Analytics event that indicates user activity at least once in a given timeframe. The most common event that indicates activity is <code translate="no" dir="ltr">user_engagement</code>. Note that not all events indicate user activity—receiving a notification, for example, doesn't necessarily mean the user was active in the app. Also, custom Analytics events currently aren't considered to indicate user activity, because Predictions can't determine which of your custom events can only be triggered by an active user.</p> <p>Click <b>Active users</b> to see the percentage of users that were active over each of several day-long and week-long intervals, out of all users that were predicted, with the selected risk tolerance, to perform the action.</p> <p>For example, if you select "not_churn—low risk tolerance" and the histogram indicates 97% active users one week ago, that means that of all the users who are confidently predicted not to churn, 97% were active last week.</p> </td> </tr> <tr> <td>Continuous active days in last 7 days</td> <td> The number of continuous days a user was active in the last 7 days. </td> </tr> <tr> <td>Continuous active weeks in last 4 weeks <td> The number of continuous weeks a user was active in the last 4 weeks. </td> </tr> <tr> <td>Active days in last 7 days</td> <td> The number of days in the last 7 days a user was active. </td> </tr> <tr> <td>Active weeks in last 4 weeks</td> <td> The number of weeks in the last 4 weeks a user was active. </td> </tr> <tr> <td>Continuous inactive days in last 7 days</td> <td> The number of continuous days a user was inactive in the last 7 days. </td> </tr> <tr> <td>Continuous inactive weeks in last 4 weeks <td> The number of continuous weeks a user was inactive in the last 4 weeks. </td> </tr> <tr> <td>Inactive days in last 7 days</td> <td> The number of days in the last 7 days a user was inactive. </td> </tr> <tr> <td>Inactive weeks in last 4 weeks</td> <td> The number of weeks in the last 4 weeks a user was inactive. </td> </tr> <tr> <td>Days since earliest active day</td> <td> The number of days since a user first logged activity in your app. </td> </tr> </table> <h3 id="event_frequency" data-text="Event frequency">Event frequency</h3> <p>Firebase Predictions can potentially use any of the Analytics events your app logs to make predictions, whether the Firebase SDK automatically logs the event or you explicitly log the event.</p> <p><img class="screenshot" src="/web/20201129174111im_/https://firebase.google.com/docs/predictions/v1/images/insights-histogram.png"></p> <p>Each of the Analytics events shown contributed to the prediction. You can click them to see the most common parameter values logged with the event and the percentage of users that triggered the event over each of several day-long and week-long intervals, out of all users that were predicted, with the selected risk tolerance, to perform the action. If one of the intervals is grayed out, for that time interval, too few users triggered the event for the event to be relevant.</p> <p>For example, if you select "not_churn—low risk tolerance" and the histogram indicates 77% users triggered the <code translate="no" dir="ltr">spend_virtual_currency</code> event one week ago, that means that of all the users who are confidently predicted not to churn, 77% triggered the <code translate="no" dir="ltr">spend_virtual_currency</code> event last week.</p> <h3 id="user_properties" data-text="User properties">User properties</h3> <p>Firebase Predictions uses properties of the user's device to make predictions about the user's future behavior.</p> <table class="responsive"> <tr> <td>OS freshness</td> <td> <p>How recently the operating system on the user's device was updated.</p> <p>The prediction details page shows the average OS freshness of all users in the selected prediction and risk tolerance segment, measured on a scale from 0.0 to 1.0.</p> </td> </tr> <tr> <td>App freshness</td> <td> <p>How recently the user upgraded to a new version of your app.</p> <p>The prediction details page shows the average app freshness of all users in the selected prediction and risk tolerance segment, measured on a scale from 0.0 to 1.0.</p> </td> </tr> <tr> <td>User default language</td> <td> The default language configured on the user's device. </td> </tr> </table> <h3 id="app_attributes" data-text="App attributes">App attributes</h3> <p>Firebase Predictions uses static attributes of your app to make predictions about a user's future behavior.</p> <table class="responsive"> <tr> <td>App size</td> <td>The size of your app on the device.</td> </tr> <tr> <td>App ID</td> <td>Your app's unique ID.</td> </tr> </table> </div> <devsite-page-rating position="footer" selected-rating="0" hover-rating-star="0"> </devsite-page-rating> <devsite-feedback position="footer" project-name="Firebase" product-id="719752" bucket="" context="" version="t-devsite-webserver-20201120-r00-rc01.431178933892188969" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" project-feedback-url="https://firebase.google.com/support/contact/bugs-features/" project-icon="https://firebase.google.com/_static/firebase/images/logo.png" project-support-url="https://firebase.google.com/support/" feedback-type="star-rating"> <button> Send feedback </button> </devsite-feedback> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://web.archive.org/web/20201129174111/https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://web.archive.org/web/20201129174111/https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://web.archive.org/web/20201129174111/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 2020-11-10 UTC.</p> </devsite-content-footer> </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="/web/20201129174111/https://firebase.google.com/docs/guides/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Guides </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20201129174111/https://firebase.google.com/docs/reference/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Reference </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20201129174111/https://firebase.google.com/docs/samples/" 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="/web/20201129174111/https://firebase.google.com/docs/libraries/" 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="//web.archive.org/web/20201129174111/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="//web.archive.org/web/20201129174111/https://firebase.googleblog.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Blog </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20201129174111/https://firebase.google.com/summit/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> Firebase Summit </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20201129174111/https://www.facebook.com/Firebase/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Facebook </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20201129174111/https://twitter.com/Firebase" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Twitter </a> </li> <li class="devsite-footer-linkbox-item"> <a href="//web.archive.org/web/20201129174111/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 5)"> YouTube </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="/web/20201129174111/https://firebase.google.com/support/" 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="//web.archive.org/web/20201129174111/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="//web.archive.org/web/20201129174111/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="//web.archive.org/web/20201129174111/https://groups.google.com/forum/#!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="/web/20201129174111/https://firebase.google.com/support/releases" 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="/web/20201129174111/https://firebase.google.com/support/faq/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)"> 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://web.archive.org/web/20201129174111/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"> <img class="devsite-footer-sites-logo" src="https://web.archive.org/web/20201129174111im_/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/images/lockup-developers.svg" loading="lazy" alt="Google Developers"> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20201129174111/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="//web.archive.org/web/20201129174111/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="//web.archive.org/web/20201129174111/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="//web.archive.org/web/20201129174111/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="//web.archive.org/web/20201129174111/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="/web/20201129174111/https://firebase.google.com/terms/" data-category="Site-Wide Custom Events" data-label="Footer Terms link"> Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//web.archive.org/web/20201129174111/https://policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link"> Privacy </a> </li> </ul> <devsite-language-selector> <devsite-select class="devsite-language-selector-menu"> <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector"> <option>Language</option> <option value="en" lang="en" track-metadata-original-language="en" track-metadata-selected-language="en" track-name="changed" track-type="languageSelector"> English </option> <option value="id" lang="id" track-metadata-original-language="en" track-metadata-selected-language="id" track-name="changed" track-type="languageSelector"> Bahasa Indonesia </option> <option value="de" lang="de" track-metadata-original-language="en" track-metadata-selected-language="de" track-name="changed" track-type="languageSelector"> Deutsch </option> <option value="es_419" lang="es_419" track-metadata-original-language="en" track-metadata-selected-language="es_419" track-name="changed" track-type="languageSelector"> Español – América Latina </option> <option value="fr" lang="fr" track-metadata-original-language="en" track-metadata-selected-language="fr" track-name="changed" track-type="languageSelector"> Français </option> <option value="it" lang="it" track-metadata-original-language="en" track-metadata-selected-language="it" track-name="changed" track-type="languageSelector"> Italiano </option> <option value="pl" lang="pl" track-metadata-original-language="en" track-metadata-selected-language="pl" track-name="changed" track-type="languageSelector"> Polski </option> <option value="pt_br" lang="pt_br" track-metadata-original-language="en" track-metadata-selected-language="pt_br" track-name="changed" track-type="languageSelector"> Português – Brasil </option> <option value="vi" lang="vi" track-metadata-original-language="en" track-metadata-selected-language="vi" track-name="changed" track-type="languageSelector"> Tiếng Việt </option> <option value="tr" lang="tr" track-metadata-original-language="en" track-metadata-selected-language="tr" track-name="changed" track-type="languageSelector"> Türkçe </option> <option value="ru" lang="ru" track-metadata-original-language="en" track-metadata-selected-language="ru" track-name="changed" track-type="languageSelector"> Русский </option> <option value="he" lang="he" track-metadata-original-language="en" track-metadata-selected-language="he" track-name="changed" track-type="languageSelector"> עברית' </option> <option value="ar" lang="ar" track-metadata-original-language="en" track-metadata-selected-language="ar" track-name="changed" track-type="languageSelector"> العربيّة </option> <option value="fa" lang="fa" track-metadata-original-language="en" track-metadata-selected-language="fa" track-name="changed" track-type="languageSelector"> فارسی </option> <option value="hi" lang="hi" track-metadata-original-language="en" track-metadata-selected-language="hi" track-name="changed" track-type="languageSelector"> हिंदी </option> <option value="bn" lang="bn" track-metadata-original-language="en" track-metadata-selected-language="bn" track-name="changed" track-type="languageSelector"> বাংলা </option> <option value="th" lang="th" track-metadata-original-language="en" track-metadata-selected-language="th" track-name="changed" track-type="languageSelector"> ภาษาไทย </option> <option value="zh_cn" lang="zh_cn" track-metadata-original-language="en" track-metadata-selected-language="zh_cn" track-name="changed" track-type="languageSelector"> 中文 – 简体 </option> <option value="zh_tw" lang="zh_tw" track-metadata-original-language="en" track-metadata-selected-language="zh_tw" track-name="changed" track-type="languageSelector"> 中文 – 繁體 </option> <option value="ja" lang="ja" track-metadata-original-language="en" track-metadata-selected-language="ja" track-name="changed" track-type="languageSelector"> 日本語 </option> <option value="ko" lang="ko" track-metadata-original-language="en" track-metadata-selected-language="ko" track-name="changed" track-type="languageSelector"> 한국어 </option> </select> </devsite-select> </devsite-language-selector> </nav> </div> </devsite-footer-utility> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics enable-analytics-iframe> <script type="application/json" analytics>[]</script> <script type="application/json" gtm>{"parameters": {"freeTrialEligibleUser": "False", "internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Firebase", "scriptsafe": null, "signedIn": "False", "tenant": "firebase"}, "tags": ["GTM-N84485"]}</script> </devsite-analytics> <devsite-badger></devsite-badger> <firebase-gtm></firebase-gtm> <script nonce="fxSBINpgIYdOYs5WfPsAU0GZ+Jhweq"> (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://web.archive.org/web/20201129174111/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/js/app_loader.js', '[4,"en",null,"/js/devsite_app_module.js","https://web.archive.org/web/20201129174111/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c","https://web.archive.org/web/20201129174111/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase","https://web.archive.org/web/20201129174111/https://firebase-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/firebase/manifest.json","/_static/images/video-placeholder.svg","https://web.archive.org/web/20201129174111/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/images/favicon.png","https://web.archive.org/web/20201129174111/https://www.gstatic.com/devrel-devsite/prod/v73fbca10ce7899da426d451b3f74ee09bc6846fcf427552c7e8e85261505ef2c/firebase/images/lockup.png","https://web.archive.org/web/20201129174111/https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700|Material+Icons"],1,null,[1,6,8,12,14,17,21,25,40,50,63,70,75,76,80,87,88,91,92,93,97,98,101,102,103,105,107,111]]') </script> </body> </html><!-- FILE ARCHIVED ON 17:41:11 Nov 29, 2020 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 00:34:45 Nov 26, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.561 exclusion.robots: 0.028 exclusion.robots.policy: 0.016 esindex: 0.01 cdx.remote: 24.067 LoadShardBlock: 285.668 (3) PetaboxLoader3.datanode: 123.456 (4) PetaboxLoader3.resolve: 217.103 (2) load_resource: 201.964 -->