На этой странице представлены общие, высокоуровневые рекомендации по настройке проектов 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. Каждое приложение с такой маркой не должно (по соображениям конфиденциальности) обмениваться данными с другими.
Следующие шаги
Ознакомьтесь с общими рекомендациями по безопасности для различных сред. Вам необходимо убедиться в безопасности каждой среды и содержащихся в ней данных.
Ознакомьтесь с контрольным списком запуска Firebase .