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

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

Понимание иерархии проектов 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 представляет собой отдельный поток данных в этом ресурсе.

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

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