Часто задаваемые вопросы о Firebase

Возникли другие проблемы или вы не нашли описание своей проблемы ниже? Сообщите об ошибке или запросите функцию и присоединяйтесь к обсуждениям на Stack Overflow .

Проекты Firebase и приложения Firebase

Разрешения и доступ к проектам Firebase



Платформы и фреймворки

Посетите страницы устранения неполадок и часто задаваемых вопросов для конкретной платформы, чтобы получить полезные советы и ответы на дополнительные часто задаваемые вопросы.



Консоль Firebase

Консоль Firebase предоставляет пример приложения , чтобы у вас было реальное работающее приложение для изучения и экспериментов с Firebase и другими службами Google (например, API Gemini ).

Автоматическая настройка Firebase и развертывание примера приложения

Когда вы просматриваете пример приложения в консоли Firebase , мы автоматически делаем для вас следующее:

  • Создайте новый проект Firebase для вашего примера приложения.
  • Зарегистрируйте Firebase Web App в новом проекте Firebase
  • Включите службы и API, которые используются примером приложения (например, Firebase Authentication , Cloud Firestore и т. д.)
  • Предоставьте все необходимые ресурсы (например, экземпляры базы данных и правила безопасности)
  • Настройте Firebase AI Logic для использования Gemini Developer API
  • Разверните пример приложения по временному URL-адресу предварительного просмотра с помощью Firebase Hosting (по умолчанию срок действия этого URL-адреса истекает через 7 дней ).
Изучите кодовую базу примера приложения
  • Вариант 1: Открыть персонализированную версию кодовой базы примера приложения в Firebase Studio

    Пример приложения позволяет открыть персонализированную версию кодовой базы примера приложения в Firebase Studio (браузерном рабочем пространстве Google для разработки полнофункциональных приложений). После настройки проекта и приложения (см. выше) вы найдете ссылки на Firebase Studio на баннерах в консоли Firebase и в верхней части развернутого приложения.

    Когда вы открываете пример приложения в Firebase Studio , мы автоматически делаем для вас следующее:

    • Используйте тот же проект Firebase, Firebase Web App и ресурсы, созданные при первоначальной настройке (см. выше)
    • Вставьте конфигурацию Firebase вашего примера приложения в кодовую базу (обычно в src/bootstrap.js )

    В Firebase Studio вы можете изучить кодовую базу, чтобы понять, как взаимодействовать с различными службами Firebase и Google.

  • Вариант 2: просмотр публичной, неперсонализированной версии кодовой базы примера приложения на GitHub

    Кроме того, вы можете просмотреть публичную, неперсонализированную версию кодовой базы примера приложения на GitHub.



Firebase Local Emulator Suite



Цены

Часто задаваемые вопросы о ценах на конкретный продукт см. в разделе продукта на этой странице или в специальной документации по продукту.

Платные сервисы Firebase можно использовать в рамках бесплатной пробной версии Google Cloud . Новые пользователи Google Cloud и Firebase могут воспользоваться 90-дневным пробным периодом, включающим бесплатные кредиты Cloud Billing на сумму 300 долларов США для изучения и оценки продуктов и сервисов Google Cloud и Firebase.

В течение бесплатного пробного периода Google Cloud вам будет предоставлен бесплатный пробный аккаунт Cloud Billing . Любой проект Firebase, связанный с этим аккаунтом, будет работать по тарифному плану Blaze с оплатой по факту использования в течение бесплатного пробного периода.

Не беспокойтесь, привязка проекта Firebase к этой бесплатной пробной учетной записи Cloud Billing не позволит нам взимать с вас плату за использование, превышающее эти кредиты . Плата за использование, превышающее эти кредиты, взимается только в том случае, если вы явно включите взимание платы, обновив свою бесплатную пробную учетную запись Cloud Billing до платной. Вы можете перейти на платную учетную запись в любой момент в течение пробного периода. После перехода на платную учетную запись вы по-прежнему сможете использовать оставшиеся кредиты (в течение 90-дневного периода).

По истечении бесплатного пробного периода, если вы не перешли с бесплатной пробной версии Cloud Billing на платную, ваш связанный проект Firebase будет автоматически понижен до тарифного плана Spark . Обратите внимание, что вы можете в любое время снова перейти на тарифный план Blaze .

Узнайте больше о бесплатной пробной версии Google Cloud .



Конфиденциальность



A/B Testing



AdMob



Аналитика



Authentication

Чтобы помочь защитить ваш проект от SMS -трафика и злоупотребления API, предпринимайте следующие шаги:

Подумайте о установлении политики SMS -региона
  1. Посмотреть ваше региональное использование SMS .

    Ищите регионы с очень большим количеством отправленных SMS и очень низким числом (или ноль) проверенных SMS. Соотношение проверки/отправленного - ваш показатель успеха. Здоровые показатели успеха обычно находятся в диапазоне 70-85%, поскольку SMS не является гарантированным протоколом доставки, а некоторые регионы могут испытывать злоупотребления. Показатели успеха ниже 50% подразумевают много отправленных SMS, но несколько успешных входов, что является общим показателем плохих актеров и SMS -трафика.

  2. Используйте SMS -региональную политику , чтобы либо отклонить SMS -регионы с низкими показателями успеха, либо разрешить только определенные регионы, только если ваше приложение предназначено только для распределения на определенных рынках.

Ограничьте свои авторизованные домены аутентификации

Используйте панель подлинности настройки подлинности для управления авторизованными доменами. Домен localhost добавляется по умолчанию к утвержденным доменам аутентификации для упрощения разработки. Подумайте о том, чтобы удалить localhost из авторизованных доменов в вашем производственном проекте, чтобы предотвратить управление плохими субъектами в своем localhost для доступа к вашему производственному проекту.

Включить и обеспечить проверку приложений

Включите проверку приложений , чтобы помочь защитить ваш проект от злоупотребления API, подтверждая, что запросы поступают только из приложений, связанных с вашим проектом.

Чтобы использовать проверку приложений с помощью Firebase Authentication , вы должны перейти на Firebase Authentication with Identity Platform .

Помните, что вам необходимо обеспечить проверку приложений для аутентификации в консоли Firebase (рассмотрите возможность мониторинга трафика перед применением). Кроме того, дважды проверьте свой список одобренных сайтов Recaptcha Enterprise , чтобы подтвердить, что он содержит только ваши производственные сайты, и что список приложений, зарегистрированных для вашего проекта в проверке приложения, является точным.

Обратите внимание, что проверка приложений помогает защитить от автоматических атак, утверждая, что вызов поступает из одного из ваших зарегистрированных приложений. Это не мешает пользователям использовать ваше приложение непреднамеренными способами (например, запуск, затем никогда не заканчивая потоки логина для генерации отправленных SMS).

В настоящее время числа, переносимые между перевозчиками, приведут к тому, что все SMS станут невозвратимыми для этих конечных пользователей. Обходного пути нет, и Firebase работает над этим вопросом.

Следуйте шагам по устранению неполадок в этом FAQ, если вы получите следующую ошибку:

GoogleFragment: Google sign in failed     com.google.android.gms.common.api.ApiException: 13: Unable to get token.         at com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6) 
  1. Убедитесь, что вход в Google правильно включен в качестве поставщика аутентификации:

    1. В консоли Firebase откройте раздел Authentication .

    2. В вкладке «Метод знака» отключите, а затем повторно включено метод входа в Google (даже если он уже включен):

      1. Откройте метод входа в Google , отключите его, а затем нажмите «Сохранить» .

      2. Откройте метод входа в Google , включите его, а затем нажмите «Сохранить» .

  2. Убедитесь, что ваше приложение использует свой актуальный файл конфигурации Firebase ( google-services.json ).
    Получите файл конфигурации вашего приложения.

  3. Проверьте, если вы все еще получаете ошибку. Если вы, продолжите следующий шаг по устранению неполадок.

  4. Убедитесь, что присутствуют требуемые базовые клиенты OAuth 2.0.

    1. На странице учетных данных Google Cloud посмотрите в разделе идентификации клиентов OAuth 2.0 .

    2. Если клиентов OAuth 2.0 не присутствуют (и вы сделали все шаги по устранению неполадок выше), то свяжитесь с поддержкой .

Следуйте шагам по устранению неполадок в этом FAQ, если вы получите следующую ошибку:

You must specify |clientID| in |GIDConfiguration| 
  1. Убедитесь, что вход в Google правильно включен в качестве поставщика аутентификации:

    1. В консоли Firebase откройте раздел Authentication .

    2. В вкладке «Метод знака» отключите, а затем повторно включено метод входа в Google (даже если он уже включен):

      1. Откройте метод входа в Google , отключите его, а затем нажмите «Сохранить» .

      2. Откройте метод входа в Google , включите его, а затем нажмите «Сохранить» .

  2. Убедитесь, что ваше приложение использует свой актуальный файл конфигурации Firebase ( GoogleService-Info.plist ).
    Получите файл конфигурации вашего приложения.

  3. Проверьте, если вы все еще получаете ошибку. Если вы, продолжите следующий шаг по устранению неполадок.

  4. Убедитесь, что присутствуют требуемые базовые клиенты OAuth 2.0.

    1. На странице учетных данных Google Cloud посмотрите в разделе идентификации клиентов OAuth 2.0 .

    2. Если клиентов OAuth 2.0 не присутствуют (и вы сделали все шаги по устранению неполадок выше), то свяжитесь с поддержкой .

Следуйте шагам по устранению неполадок в этом FAQ, если вы получите следующую ошибку:

AuthErrorCode.INVALID_OAUTH_CLIENT_ID 
  1. Убедитесь, что вход в Google правильно включен в качестве поставщика аутентификации:

    1. В консоли Firebase откройте раздел Authentication .

    2. В вкладке «Метод знака» отключите, а затем повторно включено метод входа в Google (даже если он уже включен):

      1. Откройте метод входа в Google , отключите его, а затем нажмите «Сохранить» .

      2. Откройте метод входа в Google , включите его, а затем нажмите «Сохранить» .

  2. Кроме того, в конфигурации поставщика входа в систему Google в разделе Authentication убедитесь, что идентификатор клиента OAuth и секрет совпадают с веб-клиентом, отображаемой на странице учетных данных в Google Cloud (посмотрите в разделе идентификатора клиентов OAuth 2.0 ).

Следуйте шагам по устранению неполадок в этом FAQ, если вы получите следующую ошибку:

This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation. 

Эта ошибка, скорее всего, вызвана тем, что ваш домен перенаправления не указан в качестве авторизованного домена для Firebase Authentication , или ключ API, который вы используете со службой Firebase Authentication недействителен.

Сначала убедитесь, что YOUR_REDIRECT_DOMAIN находится в списке авторизованных доменов для вашего проекта Firebase. Если ваш домен перенаправления уже указан там, продолжайте устранение неверного ключа API.

По умолчанию Firebase Authentication JS SDK полагается на ключ API для вашего проекта Firebase, который помечен как Browser key , и использует этот ключ, чтобы убедиться, что URL-адрес входа в регистрацию действителен в соответствии со списком авторизованных доменов. Authentication получает этот ключ API в зависимости от того, как вы получаете доступ Authentication SDK:

  • Если вы используете Hosting -provided Authers, чтобы войти в систему пользователей с Authentication JS SDK, то Firebase автоматически получает ваш ключ API с остальной частью конфигурации Firebase каждый раз, когда вы развертываете в Firebase Hosting . Убедитесь, что authDomain в вашем веб -приложении firebaseConfig правильно настроен на использование одного из доменов для этого сайта Hosting . Вы можете проверить это, перейдя на https:// authDomain __/firebase/init.json , и проверив, что projectId соответствует вашему firebaseConfig .

  • Если вы самостоятельно ведете код входа , то вы можете использовать файл __/firebase/init.json чтобы обеспечить конфигурацию Firebase для самостоятельной Authentication JS SDK Redirect Helper. Ключ API и projectId , указанный в этом файле конфигурации, должны соответствовать вашему веб -приложению firebaseConfig .

Проверьте, чтобы убедиться, что этот ключ API не был удален: перейдите на панель API & Services> Учетные данные в Cloud Console Google, где перечислены все ключи API для вашего проекта.

  • Если Browser key не был удален, проверьте следующее:

    • Убедитесь, что API Firebase Authentication API находится в списке разрешенных API для ключа к доступу ( узнайте больше об ограничениях API для ключей API ).

    • Если вы самостоятельно ведете код входа, убедитесь, что ключ API, указанный в вашем файле __/firebase/init.json соответствует клавишу API в облачной консоли. Поправьте ключ в файле, если это необходимо, затем переведите приложение.

    • Если Browser key была удалена, вы можете создать для вас новый ключ API: в консоли Firebase перейдите в > Настройки проекта , затем в разделе ваших приложений нажмите на свое веб -приложение. Это действие автоматически создает ключ API, который вы можете увидеть в разделе SDK настройки и конфигурации для вашего веб -приложения.

    Обратите внимание, что в облачной консоли этот новый ключ API не будет называться Browser key ; Вместо этого это будет то же имя, что и прозвище вашего веб -приложения Firebase. Если вы решите добавить ограничения API в этот новый ключ API, убедитесь, что API Firebase Authentication находится в списке разрешенных API.

    После создания вашего нового ключа API выполните приведенные ниже шаги:

  1. Откройте страницу учетных данных консоли Google Cloud .

  2. В верхней части страницы выберите «Создать учетные данные»> «Идентификатор клиента OAuth» .

  3. Если вам предложено настроить экран вашего согласия, следуйте инструкциям на экране, а затем продолжите следующие шаги этого часто задаваемых вопросов.

  4. Создайте веб -клиент OAuth:

    1. Для типа приложения выберите веб -приложение .

    2. Для авторизованного происхождения JavaScript добавьте следующее:

      • http://localhost
      • http://localhost:5000
      • https:// PROJECT_ID .firebaseapp.com
      • https:// PROJECT_ID .web.app
    3. Для авторизованного перенаправления URIS добавьте следующее:

      • https:// PROJECT_ID .firebaseapp.com/__/auth/handler
      • https:// PROJECT_ID .web.app/__/auth/handler
    4. Сохраните клиента OAuth.

  5. Скопируйте новый идентификатор клиента OAuth и секрет клиента в ваш буфер обмена.

  6. В консоли Firebase откройте раздел Authentication .

  7. На вкладке «Метод регистрации» откройте поставщик записи Google , а затем вставьте идентификатор клиента веб-сервера и секрет, который вы только что построили и скопировали из Google Cloud . Нажмите Сохранить .

Before December 2022, the %APP_NAME% in the email template was populated with the OAuth brand name that was automatically provisioned whenever an Android app was registered in the Firebase project. Now, since the OAuth brand is provisioned only when Google sign-in is enabled, the following describes how %APP_NAME% is determined:

  • If the OAuth brand name is available, then the %APP_NAME% in the email template will be the OAuth brand name (same as pre-December 2022 behavior).

  • If the OAuth brand name is not available, here's how the %APP_NAME% in the email template is determined:

    • For web apps , the %APP_NAME% will be the default Firebase Hosting site name (the value preceding .firebaseapp.com and .web.app and usually the Firebase project ID).

    • For mobile apps:

      • If the Android package name or iOS bundle ID is present in the request, then the %APP_NAME% will be the app name used in the Play Store or App Store (respectively).

      • Otherwise, the %APP_NAME% will be the default Firebase Hosting site name (the value preceding .firebaseapp.com and .web.app and usually the Firebase project ID).

    Note that if the lookup of the default Firebase Hosting site name fails, then the final fallback is to use the Firebase project ID as the %APP_NAME% .



Cloud Functions

Cloud Functions runtime support

  1. Make sure you're on the Blaze pricing plan .
  2. Make sure you are using the latest version of the Firebase CLI.
  3. Update the engines field in your functions' package.json .
  4. Optionally, test your changes using the Firebase Local Emulator Suite .
  5. Redeploy all functions.

In the Firebase console, go to the functions dashboard , select a function, and check the function's language under Additional details .

Да Since extensions use Cloud Functions , the runtime of your extensions will need to be updated on the same timeline as Cloud Functions.

We recommend that you periodically update to the latest version of each extension installed in your project. You can upgrade your projects' extensions via the Firebase console or Firebase CLI .

Cloud Functions pricing

Cloud Functions for Firebase relies on some paid Google services. New function deployments with Firebase CLI 11.2.0 and higher rely on Cloud Build and Artifact Registry . Deployments to older versions use Cloud Build in the same way, but rely on Container Registry and Cloud Storage for storage instead of Artifact Registry . Usage of these services will be billed in addition to existing pricing.

Storage space for Firebase CLI 11.2.0 and newer versions

Artifact Registry provides the containers in which functions run. Artifact Registry provides the first 500MB at no cost, so your first function deployments may not incur any fees. Above that threshold, each additional GB of storage is billed at $0.10 per month.

Storage space for Firebase CLI 11.1.x and prior versions

For functions deployed to older versions, Container Registry , provides the containers in which functions run. You'll be billed for each container required to deploy a function. You may notice small charges for each container stored—for example, 1GB of storage is billed at $0.026 per month .

To understand more about how your bill might change, please review the following

Да On the Blaze plan, Cloud Functions provides a no-cost tier for invocations, compute time, and internet traffic. The first 2,000,000 invocations, 400,000 GB-sec, 200,000 CPU-sec, and 5 GB of Internet egress traffic is provided at no cost each month. You'll be charged only for usage above those thresholds.

After the first 500MB of no-cost storage, each deployment operation will incur small-scale charges for the storage space used for the function's container. If your development process depends on deploying functions for testing, you can further minimize costs by using the Firebase Local Emulator Suite during development.

See Firebase Pricing plans and the Cloud Functions Pricing example scenarios.

No. There are no plans to change the quotas except for the removal of a maximum build time limit; instead of receiving errors or warnings when the daily build quota of 120 minutes is reached, you'll be billed under the terms of the Blaze pricing plan. See Quotas and limits .

Yes, you can create a Cloud Billing account in the Google Cloud console to get the $300 credit, then link that Cloud Billing account to a Firebase project.

More about the Google Cloud credit here .

Note that if you do this, you have to then set up the Blaze pricing plan in the Firebase console in order for your project to continue working after the $300 credit is exhausted.

Нет, извините. You can use the Firebase emulator for development without having a Cloud Billing account. Alternatively, try applying for a Google Cloud free trial . If you're still having trouble paying your bill because of this change, contact Firebase Support.

You can set up budget alerts in the Google Cloud console to help control costs. Also, you can set limits on the number of billed instances created for each of your functions. To get an idea of costing for typical scenarios, see the Cloud Functions Pricing examples.

View the Usage and billing dashboard in the Firebase console.

Да Since extensions use Cloud Functions , extensions will be subject to the same charges as other functions.

To use extensions, you will need to upgrade to the Blaze pricing plan. You will be charged a small amount (typically around $0.01 per month for the Firebase resources required by each extension you install (even if they are not used), in addition to any charges associated with your use of Firebase services.



Cloud Messaging

FCM quotas and limits



Cloud Storage for Firebase

Go to the Cloud Storage documentation to learn more about the Changes for the default Cloud Storage bucket .

Cloud Storage for Firebase pricing

Go to the Cloud Storage documentation to learn more about the Changes for pricing plan requirements for Cloud Storage .



Crashlytics

Visit the Crashlytics troubleshooting & FAQ page for helpful tips and answers to more FAQs.





Hosting



Performance Monitoring

Visit the Performance Monitoring troubleshooting & FAQ page for helpful tips and answers to more FAQs.



Realtime Database



Remote Config



Test Lab

Visit the Test Lab troubleshooting page for helpful tips and answers to FAQs.



Firebase User Segmentation Storage