На этой странице представлен краткий обзор нескольких важных концепций проектов Firebase. Если они доступны, перейдите по ссылкам, чтобы найти более подробную информацию о функциях, службах, инструментах и рекомендациях.
Связь между проектами, приложениями и продуктами Firebase
Проект Firebase — это объект верхнего уровня для Firebase. В проекте вы можете зарегистрировать свои Apple, Android или веб-приложения. После того, как вы зарегистрируете свои приложения в Firebase, вы сможете добавить Firebase SDK для любого количества продуктов Firebase , таких как Analytics, Cloud Firestore, Performance Monitoring или Remote Config.
Узнайте более подробную информацию об этом процессе в руководстве по началу работы для вашей платформы:
iOS+ | Андроид | сеть | единство | С++ | Флаттер .
Понимание иерархии проектов Firebase
На этой диаграмме показана базовая иерархия проекта Firebase. Вот ключевые отношения:
Проект Firebase похож на контейнер для всех ваших приложений и любых ресурсов и служб, предоставленных для проекта.
В проекте Firebase может быть зарегистрировано одно или несколько приложений Firebase (например, версия приложения для iOS и Android или бесплатная и платная версии приложения).
Все приложения Firebase, зарегистрированные в одном и том же проекте Firebase, имеют доступ ко всем тем же ресурсам и службам, предоставленным для проекта . Вот некоторые примеры:
Все приложения Firebase, зарегистрированные в одном проекте Firebase, используют одни и те же серверные части, такие как Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage и Cloud Functions.
Все приложения Firebase, зарегистрированные в одном проекте Firebase, связаны с одним и тем же ресурсом Google Analytics, где каждое приложение Firebase представляет собой отдельный поток данных в этом ресурсе.
Связь между проектами Firebase и Google Cloud
Когда вы создаете новый проект Firebase, вы фактически создаете проект Google Cloud за кулисами. Вы даже можете сначала создать проект Google Cloud, а затем добавить в проект Firebase. Вы можете думать о проекте Google Cloud как о виртуальном контейнере для данных, кода, конфигурации и сервисов.
Обратите внимание, что для всех проектов Firebase Firebase автоматически добавляет метку firebase:enabled
на странице Labels для вашего проекта в Google Cloud Console. Подробнее об этом ярлыке читайте в разделе часто задаваемых вопросов .
Поскольку проект Firebase является проектом Google Cloud:
Вы можете взаимодействовать с проектом в консоли Firebase , а также в Google Cloud Console и в консоли API Google .
В проекте можно использовать продукты и API как из Firebase, так и из Google Cloud.
Выставление счетов и разрешения для проекта являются общими для Firebase и Google Cloud.
Уникальные идентификаторы проекта (например , номер проекта и идентификатор проекта ) используются в Firebase и Google Cloud.
Удаление проекта удаляет его из Firebase и Google Cloud.
Настройка проекта Firebase и регистрация приложений
Вы можете настроить проект Firebase и зарегистрировать приложения в консоли Firebase (или, в более сложных случаях, через API REST управления Firebase или интерфейс командной строки Firebase ). Когда вы настраиваете проект и регистрируете приложения, вам нужно принять некоторые организационные решения и добавить информацию о конфигурации Firebase в ваши локальные проекты.
Для производственных приложений вам необходимо настроить четкий рабочий процесс разработки, который обычно включает использование нескольких сред. Ознакомьтесь с нашей документацией по рабочим процессам разработчиков , включая общие рекомендации и общие рекомендации по безопасности для настройки проектов Firebase и регистрации приложений для создания рабочего процесса разработки.
Взаимодействие с проектом Firebase
Помимо SDK продукта, вы можете напрямую взаимодействовать с проектом Firebase, используя несколько различных инструментов и интерфейсов.
Консоль Firebase
Консоль Firebase предлагает самую богатую среду для управления продуктами, приложениями и настройками уровня проекта Firebase.
На левой панели консоли перечислены продукты Firebase, упорядоченные по категориям верхнего уровня. В верхней части левой панели перейдите к настройкам проекта, щелкнув интеграцию , права доступа и выставление счетов .
. Настройки проекта включаютВ середине консоли отображаются кнопки, которые запускают рабочие процессы установки для регистрации различных типов приложений. После того, как вы начнете использовать Firebase, основная область консоли изменится на панель инструментов, на которой будет отображаться статистика по используемым вами продуктам.
Обратите внимание: поскольку проект Firebase также является проектом Google Cloud, вы можете обнаружить, что различные задачи или продукты требуют использования консоли Google Cloud вместо консоли Firebase.
Firebase CLI (инструмент командной строки)
Firebase также предлагает интерфейс командной строки Firebase для настройки и управления определенными продуктами Firebase, такими как хостинг Firebase, облачные функции для Firebase и расширения Firebase.
После установки CLI у вас есть доступ к глобальной команде firebase
. С помощью интерфейса командной строки свяжите локальный каталог приложений с проектом Firebase , а затем разверните новые версии контента, размещенного в Firebase, или обновления функций.
REST API управления Firebase
Используя Firebase Management REST API , вы можете программно управлять проектом Firebase. Например, вы можете программно зарегистрировать приложение в проекте или вывести список уже зарегистрированных приложений ( iOS+ | Android | web ).
Идентификаторы проектов Firebase
Проект Firebase можно идентифицировать в бэкэнде Firebase и в различных интерфейсах разработчика с помощью разных идентификаторов, включая имя проекта, номер проекта и идентификатор проекта .
Название проекта
При создании проекта вы указываете имя проекта . Этот идентификатор является внутренним именем проекта в консоли Firebase , Google Cloud Console и интерфейсе командной строки Firebase . Название проекта не отображается ни в одном общедоступном продукте, сервисе или ресурсе Firebase или Google Cloud; он просто помогает вам легче различать несколько проектов.
Вы можете изменить имя проекта в любое время в проекта консоли Firebase. Имя проекта отображается в верхней панели.
Номер проекта
Проект Firebase (и связанный с ним проект Google Cloud ) имеет номер проекта . Это назначенный Google глобальный уникальный канонический идентификатор проекта. Используйте этот идентификатор при настройке интеграций и/или выполнении вызовов API к Firebase, Google или сторонним службам.
Вы не можете редактировать номер проекта. Если вы удаляете проект, номер проекта также удаляется и больше никогда не может быть использован каким-либо другим проектом.
Найдите номер проекта вашего проекта Firebase, используя один из следующих вариантов:
Используя консоль Firebase : Нажмите проекта . Номер проекта отображается в верхней панели.
Используя интерфейс командной строки Firebase : запустите
firebase projects:list
. Номер проекта отображается вместе со всеми проектами Firebase, связанными с вашей учетной записью.Используя Firebase Management REST API : вызовите
projects.list
. Тело ответа содержит номер проекта в объектеFirebaseProject
.
Для многих вызовов API необходимо указать уникальный идентификатор проекта. Хотя многие API принимают идентификатор проекта , рекомендуется использовать номер проекта для выполнения вызовов API к Firebase, Google или сторонним службам.
Узнайте больше об использовании идентификаторов проектов, особенно номера проекта, в стандарте Google AIP 2510 .
Идентификатор проекта
Проект Firebase (и связанный с ним проект Google Cloud ) имеет идентификатор проекта . Это определяемый пользователем уникальный идентификатор проекта во всех Firebase и Google Cloud. Когда вы создаете проект Firebase, Firebase автоматически присваивает проекту уникальный идентификатор, но вы можете изменить его во время настройки проекта. Этот идентификатор обычно следует рассматривать как удобный псевдоним для ссылки на проект.
Найдите идентификатор проекта вашего проекта Firebase, используя один из следующих вариантов:
Используя консоль Firebase : Нажмите проекта . Идентификатор проекта отображается в верхней панели.
Используя интерфейс командной строки Firebase : запустите
firebase projects:list
. Идентификатор проекта отображается вместе со всеми проектами Firebase, связанными с вашей учетной записью.Используя Firebase Management REST API : вызовите
projects.list
. Тело ответа содержит идентификатор проекта в объектеFirebaseProject
.
Идентификатор проекта отображается в общедоступных ресурсах Firebase, например:
- Субдомен хостинга по умолчанию —
PROJECT_ID .web.app
иPROJECT_ID .firebaseapp.com
- URL базы данных реального времени по умолчанию —
PROJECT_ID -default-rtdb.firebaseio.com
илиPROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
- Имя корзины Cloud Storage по умолчанию —
PROJECT_ID .appspot.com
Для всех вышеупомянутых ресурсов вы можете создавать экземпляры не по умолчанию. Общедоступные имена не по умолчанию полностью настраиваются. Вы можете подключить личные домены к сайту, размещенному в Firebase, разбить базу данных в реальном времени и создать несколько сегментов облачного хранилища (посетите страницу «Начало работы» для конкретной платформы).
В некоторых случаях у вас может быть несколько проектов Firebase, связанных с одним и тем же локальным каталогом приложений. В этих ситуациях, когда вы используете интерфейс командной строки Firebase , вам необходимо передать флаг --project
с командами firebase
, чтобы сообщить, с каким проектом Firebase вы хотите взаимодействовать.
Вы также можете настроить псевдоним проекта для каждого проекта Firebase, чтобы вам не приходилось запоминать идентификаторы проектов.
Для многих вызовов API необходимо указать уникальный идентификатор проекта. Хотя многие API принимают идентификатор проекта, рекомендуется использовать номер проекта для выполнения вызовов API к Firebase, Google или сторонним службам.
Узнайте больше об использовании идентификаторов проектов, особенно номера проекта, в стандарте Google AIP 2510 .
Файлы и объекты конфигурации Firebase
Когда вы регистрируете приложение в проекте Firebase, консоль Firebase предоставляет файл конфигурации Firebase (приложения Apple/Android) или объект конфигурации (веб-приложения), который вы добавляете непосредственно в локальный каталог приложения.
- Для приложений Apple вы добавляете файл конфигурации
GoogleService-Info.plist
. - Для приложений Android вы добавляете файл конфигурации
google-services.json
. - Для веб-приложений вы добавляете объект конфигурации Firebase.
В любое время вы можете получить конфигурационный файл или объект Firebase приложения .
Файл или объект конфигурации Firebase связывает приложение с конкретным проектом Firebase и его ресурсами (базами данных, сегментами хранилища и т. д.). Конфигурация включает «параметры Firebase», которые являются параметрами, необходимыми службам Firebase и Google для связи с API-интерфейсами сервера Firebase и для связывания клиентских данных с проектом Firebase и приложением Firebase. Вот необходимые минимальные «параметры Firebase»:
Ключ API : простая зашифрованная строка, используемая при вызове определенных API, которым не требуется доступ к личным данным пользователя (пример значения:
AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
).Идентификатор проекта : определяемый пользователем уникальный идентификатор проекта во всех Firebase и Google Cloud. Этот идентификатор может появляться в URL-адресах или именах некоторых ресурсов Firebase, но в целом его следует рассматривать как удобный псевдоним для ссылки на проект. (пример значения:
myapp-project-123
)Идентификатор приложения («AppID») : уникальный идентификатор приложения Firebase во всем Firebase в формате для конкретной платформы:
- Приложения Firebase Apple:
GOOGLE_APP_ID
(пример значения:1:1234567890:ios:321abc456def7890
)
Это не идентификатор пакета Apple. - Приложения Firebase для Android:
mobilesdk_app_id
(пример значения:1:1234567890:android:321abc456def7890
)
Это не имя пакета Android или идентификатор приложения Android. - Веб-приложения Firebase:
appId
(пример значения:1:65211879909:web:3ae38ef1cdcb2e01fe5f0c
)
- Приложения Firebase Apple:
Содержимое файла или объекта конфигурации Firebase считается общедоступным, включая идентификатор приложения для конкретной платформы (идентификатор пакета Apple или имя пакета Android) и значения, относящиеся к проекту Firebase, такие как ключ API, идентификатор проекта, URL-адрес базы данных в реальном времени и Имя сегмента облачного хранилища. Учитывая это, используйте правила безопасности Firebase для защиты ваших данных и файлов в базе данных реального времени , Cloud Firestore и Cloud Storage .
Для проектов с открытым исходным кодом мы обычно не рекомендуем включать файл или объект конфигурации Firebase приложения в систему управления версиями, потому что в большинстве случаев ваши пользователи должны создавать свои собственные проекты Firebase и указывать свои приложения на свои собственные ресурсы Firebase (через свою собственную конфигурацию Firebase). файл или объект).
Общие ограничения для проектов, приложений и сайтов Firebase
Вот некоторые общие ограничения для проектов, приложений и сайтов Firebase:
Количество проектов на аккаунт
- Тарифный план Spark — квота на создание проектов ограничена меньшим количеством проектов (обычно около 5–10).
- Тарифный план Blaze — квота на создание проектов для каждой учетной записи существенно увеличивается, если соответствующая учетная запись Cloud Billing имеет хорошую репутацию.
Ограничение квоты на создание проектов редко беспокоит большинство разработчиков, но при необходимости вы можете запросить увеличение квоты проекта .
Имейте в виду, что полное удаление проекта занимает 30 дней и засчитывается в квоту проекта, пока проект не будет полностью удален.
Количество приложений на проект
Firebase ограничивает общее количество приложений Firebase в проекте Firebase до 30.
Вы должны убедиться, что все приложения Firebase в рамках одного проекта Firebase являются вариантами платформы одного и того же приложения с точки зрения конечного пользователя. Узнайте больше о многопользовательской среде в наших документах с рекомендациями.
Узнайте больше об ограничении количества приложений на проект в разделе часто задаваемых вопросов.
Количество хостинг-сайтов на проект
Многосайтовая функция Firebase Hosting поддерживает до 36 сайтов на проект.
Запуск вашего приложения
- Настройте оповещения о бюджете для своего проекта в Google Cloud Console.
- Следите за панелью управления « Использование и выставление счетов » в консоли Firebase, чтобы получить общую картину использования вашего проекта в нескольких сервисах Firebase.
- Ознакомьтесь с контрольным списком запуска Firebase .