На этой странице представлены краткие обзоры нескольких важных концепций проектов 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
на странице «Ярлыки» вашего проекта в консоли Google Cloud . Подробную информацию об этом ярлыке можно найти в разделе часто задаваемых вопросов .
Поскольку проект Firebase является проектом Google Cloud :
Вы можете получить доступ к проекту и взаимодействовать с ним в консоли Firebase , а также в консоли Google Cloud и консоли Google API .
Вы можете взаимодействовать с проектом, используя интерфейс командной строки Firebase , gcloud CLI и любой ресурс Terraform от Google.
В проекте вы можете использовать продукты и API как Firebase, так и Google Cloud .
Разрешения и роли IAM для проекта являются общими для Firebase и Google Cloud . Любой доступ участника проекта (то есть руководителя) к вашему проекту Google Cloud также будет применяться к вашему проекту Firebase (и наоборот).
Платежи за проект распределяются между Firebase и Google Cloud . Если в вашем проекте Google Cloud включена оплата, то ваш проект Firebase будет использовать тарифный план Firebase с оплатой по мере использования Blaze.
Уникальные идентификаторы проекта (например, номер проекта и идентификатор проекта ) используются в Firebase и Google Cloud .
Любая иерархия ресурсов, примененная к вашему проекту Google Cloud (например, организация, папки и т. д.), также будет применяться к вашему проекту Firebase.
Удаление проекта приведет к его удалению в Firebase и Google Cloud .
Удаление или изменение ресурса или данных в проекте применяется в Firebase и Google Cloud .
Настройка проекта Firebase и регистрация приложений
Вы можете настроить проект Firebase и зарегистрировать приложения в консоли Firebase (или, в более продвинутых случаях, через REST API Firebase Management или Firebase CLI ). Когда вы настраиваете проект и регистрируете приложения, вам необходимо принять некоторые организационные решения и добавить информацию о конфигурации, специфичную для Firebase, в ваши локальные проекты.
Для рабочих приложений необходимо настроить четкий рабочий процесс разработки, который обычно предполагает использование нескольких сред. Ознакомьтесь с нашей документацией по рабочим процессам разработчиков , включая общие рекомендации и общие рекомендации по безопасности для настройки проектов Firebase и регистрации приложений для создания рабочего процесса разработки.
Взаимодействие с проектом Firebase
Помимо SDK продукта, вы можете напрямую взаимодействовать с проектом Firebase, используя несколько различных инструментов и интерфейсов.
Консоль Firebase
Консоль Firebase предлагает богатейшую среду для управления продуктами, приложениями и настройками Firebase на уровне проекта.
На левой панели консоли перечислены продукты Firebase, сгруппированные по категориям верхнего уровня. В верхней части левой панели откройте настройки проекта, нажав интеграцию , права доступа и выставление счетов .
. Настройки проекта включают в себяВ середине консоли отображаются кнопки, которые запускают рабочие процессы настройки для регистрации различных типов приложений. После того, как вы начнете использовать Firebase, основная область консоли изменится на панель мониторинга, на которой отображается статистика по используемым вами продуктам.
Обратите внимание: поскольку проект Firebase также является проектом Google Cloud , вы можете обнаружить, что различные задачи или продукты требуют использования консоли Google Cloud вместо консоли Firebase .
Firebase CLI (инструмент командной строки)
Firebase также предлагает интерфейс командной строки Firebase для настройки и управления конкретными продуктами Firebase, такими как Firebase Hosting , Cloud Functions for Firebase и Firebase Extensions .
После установки CLI у вас есть доступ к глобальной команде firebase
. Используйте интерфейс командной строки, чтобы связать локальный каталог приложения с проектом Firebase , а затем развернуть новые версии контента, размещенного в Firebase, или обновления функций.
REST API управления Firebase
Используя REST API Firebase Management , вы можете программно управлять проектом Firebase. Например, вы можете программно зарегистрировать приложение в проекте или перечислить уже зарегистрированные приложения ( iOS+ | Android | web ).
Идентификаторы проектов Firebase
Проект Firebase можно идентифицировать в серверной части Firebase и в различных интерфейсах разработчика с помощью различных идентификаторов, включая имя проекта , номер проекта и идентификатор проекта .
Название проекта
При создании проекта вы указываете имя проекта . Этот идентификатор является внутренним именем проекта в консоли Firebase , консоли Google Cloud и интерфейсе командной строки Firebase . Название проекта не раскрывается ни в одном общедоступном продукте, сервисе или ресурсе Firebase или Google Cloud ; он просто помогает вам легче различать несколько проектов.
Вы можете изменить имя проекта в любое время в Project Settings консоли Firebase . Название проекта отображается в верхней панели.
Номер проекта
Проект Firebase (и связанный с ним проект Google Cloud ) имеет номер проекта . Это присвоенный Google глобальный уникальный канонический идентификатор проекта. Используйте этот идентификатор при настройке интеграции и/или вызове API к Firebase, Google или сторонним сервисам.
Вы не можете редактировать номер проекта. Если вы удалите проект, номер проекта также будет удален и больше никогда не сможет использоваться каким-либо другим проектом.
Найдите номер проекта вашего проекта Firebase, используя один из этих вариантов:
Использование консоли Firebase : нажмите Настройки проекта» . Номер проекта отображается в верхней панели.
Использование интерфейса командной строки Firebase : запустите
firebase projects:list
. Номер проекта отображается вместе со всеми проектами Firebase, связанными с вашей учетной записью.Использование REST API Firebase Management : вызовите
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, связанными с вашей учетной записью.Использование REST API Firebase Management : вызовите
projects.list
. Тело ответа содержит идентификатор проекта в объектеFirebaseProject
.
Идентификатор проекта отображается в общедоступных ресурсах Firebase, например:
- Субдомен Hosting по умолчанию —
PROJECT_ID .web.app
иPROJECT_ID .firebaseapp.com
- URL-адрес Realtime Database по умолчанию —
PROJECT_ID -default-rtdb.firebaseio.com
илиPROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
- Имя сегмента Cloud Storage по умолчанию —
PROJECT_ID .appspot.com
Для всех вышеупомянутых ресурсов вы можете создавать экземпляры не по умолчанию. Публично видимые имена, отличные от значений по умолчанию, полностью настраиваются. Вы можете подключить персональные домены к сайту, размещенному на Firebase, сегментировать Realtime Database и создать несколько сегментов Cloud Storage (посетите страницу начала работы для конкретной платформы).
В некоторых случаях использования у вас может быть несколько проектов Firebase, связанных с одним и тем же локальным каталогом приложений. В таких ситуациях, когда вы используете Firebase CLI , вам необходимо передать флаг --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-адрес Realtime Database и Имя сегмента Cloud Storage . Учитывая это, используйте Firebase Security Rules для защиты ваших данных и файлов в Realtime Database , Cloud Firestore и Cloud Storage .
Для проектов с открытым исходным кодом мы обычно не рекомендуем включать файл или объект конфигурации Firebase приложения в систему контроля версий, поскольку в большинстве случаев вашим пользователям следует создавать свои собственные проекты Firebase и указывать своим приложениям свои собственные ресурсы Firebase (через собственную конфигурацию Firebase). файл или объект).
Общие ограничения для проектов, приложений и сайтов Firebase
Вот некоторые общие ограничения для проектов, приложений и сайтов Firebase:
Количество проектов на аккаунт
- Тарифный план Spark — квота на создание проектов ограничена меньшим количеством проектов (обычно около 5–10).
- Тарифный план Blaze — квота создания проектов на одну учетную запись существенно увеличивается, пока связанная учетная запись Cloud Billing имеет хорошую репутацию.
Ограничение квоты на создание проектов редко беспокоит большинство разработчиков, но при необходимости вы можете запросить увеличение квоты проекта .
Имейте в виду, что полное удаление проекта занимает 30 дней и учитывается в квоте проекта до тех пор, пока проект не будет полностью удален.
Количество приложений на проект
Firebase ограничивает общее количество приложений Firebase в проекте Firebase до 30.
Вы должны убедиться, что все приложения Firebase в одном проекте Firebase являются вариантами платформы одного и того же приложения с точки зрения конечного пользователя. Подробнее о мультиарендности читайте в нашей документации по передовому опыту.
Подробную информацию об ограничении количества приложений на проект можно найти в разделе часто задаваемых вопросов.
Количество Hosting на проект
Функция многосайтового Firebase Hosting поддерживает максимум 36 сайтов в одном проекте.
Запуск вашего приложения
- Настройте оповещения о бюджете для своего проекта в консоли Google Cloud .
- Отслеживайте панель «Использование и выставление счетов» в консоли Firebase , чтобы получить общую картину использования вашего проекта в нескольких сервисах Firebase.
- Ознакомьтесь с контрольным списком запуска Firebase .