Общие рекомендации по настройке проектов Firebase

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

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

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

  • Проект Firebase похож на контейнер для всех ваших приложений, а также любых ресурсов и сервисов, предоставленных для проекта.

  • В проекте Firebase может быть зарегистрировано одно или несколько приложений Firebase (например, версии приложения для iOS и Android или как бесплатная, так и платная версии приложения).

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

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

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

Какое место в этой иерархии занимает проект Google Cloud?

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

Узнайте больше о взаимоотношениях Firebase и Google Cloud в статье «Понимание проектов Firebase».

Регистрация вариантов приложения в проектах Firebase

Вот несколько важных советов по регистрации вариантов вашего приложения в проекте Firebase:

  • Убедитесь, что все приложения, зарегистрированные в проекте Firebase, являются вариантами платформы одного и того же приложения с точки зрения конечного пользователя. Зарегистрируйте версии iOS, Android и веб-версии одного и того же приложения или игры в одном проекте Firebase.

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

  • Если у вас есть несколько вариантов сборки, основанных на статусе выпуска (а не на общих действиях или доступе конечного пользователя, как указано выше), зарегистрируйте каждый вариант в отдельном проекте Firebase. Примером может служить ваша сборка отладки и выпуска — зарегистрируйте каждую из этих сборок в отдельном проекте Firebase.

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

    • Варианты платформы каждого из этих вариантов сборки должны находиться в одном проекте Firebase. Например, зарегистрируйте отладочные сборки iOS и Android в проекте Firebase «dev», поскольку они обе могут взаимодействовать с одними и теми же непроизводственными данными и ресурсами.

Как избежать мультиарендности

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

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

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

Следующие шаги