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