Понимание проектов Firebase

На этой странице представлен краткий обзор нескольких важных концепций проектов Firebase. Если они доступны, перейдите по ссылкам, чтобы найти более подробную информацию о функциях, службах, инструментах и ​​рекомендациях.

Связь между проектами, приложениями и продуктами Firebase

Проект Firebase — это объект верхнего уровня для Firebase. В проекте вы можете зарегистрировать свои Apple, Android или веб-приложения. После того, как вы зарегистрируете свои приложения в Firebase, вы сможете добавить Firebase SDK для любого количества продуктов Firebase , таких как Analytics, Cloud Firestore, Performance Monitoring или Remote Config.

Узнайте более подробную информацию об этом процессе в руководстве по началу работы для вашей платформы:
iOS+ | Андроид | сеть | единство | С++ | Флаттер .

Понимание иерархии проектов Firebase

Схема, показывающая базовую иерархию проекта 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 и регистрация приложений

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

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

Взаимодействие с проектом Firebase

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

Консоль 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 (и связанный с ним проект Google Cloud ) имеет идентификатор проекта . Это определяемый пользователем уникальный идентификатор проекта во всех Firebase и Google Cloud. Когда вы создаете проект Firebase, Firebase автоматически присваивает проекту уникальный идентификатор, но вы можете изменить его во время настройки проекта. Этот идентификатор обычно следует рассматривать как удобный псевдоним для ссылки на проект.

Файлы и объекты конфигурации 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 или имя пакета 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 сайтов на проект.

Запуск вашего приложения