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