Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Понять проекты Firebase

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

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

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

Более подробную информацию об этом процессе можно найти в руководствах по началу работы ( iOS | Android | Интернет | Unity | C ++ ).

Связь между проектами Firebase и Google Cloud Platform (GCP)

Когда вы создаете новый проект Firebase в консоли Firebase, вы фактически создаете проект Google Cloud Platform (GCP) за кулисами. Вы можете представить себе проект GCP как виртуальный контейнер для данных, кода, конфигурации и сервисов. Проект Firebase - это проект GCP, в котором есть дополнительные конфигурации и службы, специфичные для Firebase. Вы даже можете сначала создать проект GCP, а затем добавить Firebase в проект.

Поскольку проект Firebase - это проект GCP:

Настройка проекта Firebase и регистрация приложений

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

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

Название проекта

Когда вы создаете проект, вы указываете имя проекта . Этот идентификатор является внутренним именем проекта в консоли Firebase, консоли GCP и интерфейсе командной строки Firebase . Название проекта не указывается ни в каких общедоступных продуктах, сервисах или ресурсах Firebase или GCP; он просто помогает вам легче различать несколько проектов.

Вы можете изменить название проекта в любое время в Project в консоли Firebase. Название проекта отображается в верхней панели.

Номер проекта

Проект Firebase (и связанный с ним проект GCP ) имеет номер проекта . Это глобальный уникальный канонический идентификатор проекта, присвоенный Google. Используйте этот идентификатор при настройке интеграции и / или вызовах API к Firebase, Google или сторонним службам.

Вызовы API и номер проекта

Для многих вызовов API вам необходимо включить уникальный идентификатор проекта. Хотя многие API-интерфейсы принимают идентификатор проекта , рекомендуется использовать номер проекта для вызовов API к Firebase, Google или сторонним службам.

Узнайте больше об использовании идентификаторов проектов, особенно номера проекта, в стандарте Google AIP 2510 .

Найдите номер проекта

  • Консоль Firebase: нажмите " проекта . Номер проекта отображается на верхней панели.

  • Firebase CLI: запускать firebase projects:list . Номер проекта отображается вместе со всеми проектами Firebase, связанными с вашей учетной записью.

  • REST API управления Firebase: вызовите projects.list . Тело ответа содержит номер проекта в объекте FirebaseProject .

ID проекта

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

Если вы удаляете проект, идентификатор проекта также удаляется и больше не может использоваться другим проектом.

Ресурсы Firebase и идентификатор проекта

Идентификатор проекта отображается в общедоступных ресурсах Firebase, например:

  • Поддомен хостинга по умолчанию - PROJECT_ID .web.app и PROJECT_ID .firebaseapp.com
  • URL-адрес базы данных в реальном времени по умолчанию - PROJECT_ID .firebaseio.com
  • Имя PROJECT_ID .appspot.com Cloud Storage по умолчанию - PROJECT_ID .appspot.com

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

Интерфейс командной строки Firebase и идентификатор проекта

В некоторых случаях у вас может быть несколько проектов Firebase, связанных с одним и тем же локальным каталогом приложения. В таких ситуациях, когда вы используете Firebase CLI , вы должны передать --project флаг с firebase команд для общения , которые Firebase проект , который вы хотите , чтобы взаимодействовать с.

Вы также можете настроить псевдоним проекта для каждого проекта Firebase, чтобы вам не приходилось запоминать идентификаторы проектов.

Вызовы API и идентификатор проекта

Для многих вызовов API вам необходимо включить уникальный идентификатор проекта. Хотя многие API-интерфейсы принимают идентификатор проекта, рекомендуется использовать номер проекта для вызовов API к Firebase, Google или сторонним службам.

Узнайте больше об использовании идентификаторов проектов, особенно номера проекта, в стандарте Google AIP 2510 .

Найдите идентификатор проекта

  • Консоль Firebase: нажмите " проекта . Идентификатор проекта отображается на верхней панели.

  • Firebase CLI: запускать firebase projects:list . Идентификатор проекта отображается вместе со всеми проектами Firebase, связанными с вашей учетной записью.

  • REST API управления Firebase: вызовите projects.list . Тело ответа содержит идентификатор проекта в объекте FirebaseProject .

Файлы конфигурации и объекты Firebase

Когда вы регистрируете приложение в проекте Firebase, консоль Firebase предоставляет файл конфигурации Firebase (приложения для iOS / Android) или объект конфигурации (веб-приложения), который вы добавляете непосредственно в локальный каталог приложения.

  • Для приложений iOS вы добавляете GoogleService-Info.plist конфигурации GoogleService-Info.plist .
  • Для приложений Android вы добавляете файл конфигурации google-services.json .
  • Для веб-приложений вы добавляете объект конфигурации Firebase.

В любой момент вы можете получить файл конфигурации или объект Firebase приложения .

Файл или объект конфигурации Firebase связывает приложение с определенным проектом Firebase и его ресурсами (базами данных, корзинами хранилища и т. Д.). Конфигурация включает «параметры Firebase», которые являются параметрами, которые требуются службам Firebase и Google для взаимодействия с API сервера Firebase и для связи клиентских данных с проектом Firebase и приложением Firebase. Вот минимальные обязательные «параметры Firebase»:

  • Ключ API : простая зашифрованная строка, используемая при вызове определенных API-интерфейсов, которым не требуется доступ к личным данным пользователя (пример значения: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • Идентификатор проекта : определяемый пользователем уникальный идентификатор проекта во всех Firebase и GCP. Этот идентификатор может появляться в URL-адресах или именах некоторых ресурсов Firebase, но обычно его следует рассматривать как удобный псевдоним для ссылки на проект. (пример значения: myapp-project-123 )

  • Идентификатор приложения («AppID») : уникальный идентификатор приложения Firebase во всем Firebase в формате для конкретной платформы:

    • Приложения Firebase для iOS: 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 считается общедоступным, включая идентификатор платформы приложения (идентификатор пакета iOS или имя пакета Android) и значения для конкретного проекта Firebase, такие как ключ API, идентификатор проекта, URL-адрес базы данных в реальном времени и Имя сегмента хранилища. Учитывая это, используйте правила безопасности Firebase для защиты ваших данных и файлов в базе данных реального времени , облачном хранилище Firestore и облачном хранилище .

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

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

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

Инструменты для управления проектом

Консоль Firebase

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

Консоль Firebase - экран обзора проекта

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

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

Firebase CLI (инструмент командной строки)

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

После установки CLI у вас есть доступ к глобальной команде firebase . Используйте интерфейс командной строки, чтобы связать локальный каталог приложения с проектом Firebase , а затем развернуть новые версии содержимого, размещенного в Firebase, или обновления функций.

REST API управления Firebase

Используя REST API управления Firebase , вы можете программно управлять проектом Firebase. Например, вы можете программно зарегистрировать приложение в проекте или перечислить уже зарегистрированные приложения ( iOS | Android | Интернет ).

Общие передовые практики

Добавление приложений в проект

Убедитесь, что все приложения в проекте являются вариантами платформы одного и того же приложения с точки зрения конечного пользователя. Желательно зарегистрировать iOS, Android и веб-версии одного и того же приложения или игры в одном проекте Firebase. Все приложения в проекте обычно используют одни и те же ресурсы Firebase (база данных, сегменты хранилища и т. Д.).

Если у вас есть несколько вариантов сборки с разными идентификаторами пакетов iOS или названиями пакетов Android, вы можете зарегистрировать каждый вариант в отдельном проекте Firebase. Однако, если у вас есть варианты, которые используют одни и те же ресурсы Firebase, зарегистрируйте их в одном проекте Firebase.

Несмотря на отсутствие ограничений на количество приложений в проекте, регистрация приложения может создать один или несколько базовых идентификаторов клиента OAuth 2.0. В одном проекте можно создать около 30 идентификаторов клиентов.

Мульти аренды

Не рекомендуется подключать несколько различных логически независимых приложений и / или веб-сайтов к одному проекту (часто называемому «мультитенантность»). Мультиарендность может привести к серьезным проблемам с конфигурацией и конфиденциальностью данных, включая непредвиденные проблемы с агрегацией аналитики, общей аутентификацией, чрезмерно сложными структурами базы данных и трудностями с правилами безопасности.

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

Например, если вы разрабатываете приложение с белой этикеткой, каждое приложение с независимой пометкой должно иметь собственный проект Firebase. Каждое приложение не может и не должно (по соображениям конфиденциальности) обмениваться данными с другими.

Обратите внимание на некоторые общие ограничения для проектов, приложений и сайтов Firebase:

  • Количество проектов на аккаунт

    • Бесплатный план Spark - квота на создание проектов ограничена меньшим количеством проектов (обычно около 5-10).
    • Платные планы - квота на создание проектов для каждой биллинговой учетной записи существенно увеличивается, если связанная облачная биллинговая учетная запись находится в хорошем состоянии.

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

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

  • Количество приложений на проект

    Несмотря на отсутствие ограничений на количество приложений в проекте, регистрация приложения может создать один или несколько базовых идентификаторов клиента OAuth 2.0. В одном проекте можно создать около 30 идентификаторов клиентов.

  • Количество хостинговых сайтов на проект

    Функция мультисайта Firebase Hosting поддерживает до 36 сайтов на проект.

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