При разработке Android-проекта с использованием Firebase вы можете столкнуться с незнакомыми или специфичными для Firebase концепциями. Эта страница призвана ответить на эти вопросы или указать на ресурсы для дальнейшего изучения.
Если у вас есть вопросы по теме, не освещенной на этой странице, вы можете посетить одно из наших онлайн-сообществ . Мы также будем периодически обновлять эту страницу новыми темами, поэтому заглядывайте сюда, чтобы узнать, не добавили ли мы интересующую вас тему!
Плагин Firebase Assistant для Android Studio
Firebase Assistant — это плагин для Android Studio, который регистрирует ваше Android-приложение в проекте Firebase и добавляет необходимые конфигурационные файлы Firebase, плагины и зависимости в ваш Android-проект — и всё это прямо из Android Studio!
Чтобы использовать Firebase Assistant, следуйте инструкциям на странице начала работы с Android . Убедитесь, что вы используете самые актуальные версии Android Studio и Firebase Assistant (перейдите в меню «Файл» > «Проверить наличие обновлений »).
При выборе конкретных продуктов Firebase для добавления в ваше приложение, Firebase Assistant автоматически объявляет необходимые зависимости в файле app/build.gradle . Обратите внимание, что если вы хотите использовать Firebase Android BoM (рекомендуется) , обновите зависимости в файле Gradle вашего модуля (уровня приложения) (обычно app/build.gradle ), чтобы импортировать платформу BoM . Вам также потребуется удалить версии из каждой строки зависимости библиотеки Firebase.
Кроме того, для использования некоторых продуктов Firebase необходимо включить API или выделить ресурсы вне Android Studio. Инструкции для каждого продукта в Firebase Assistant описывают любые дополнительные действия, которые вам необходимо выполнить. Например, для использования Cloud Firestore необходимо настроить базу данных и правила в консоли Firebase .
Сервисы Google — плагин и файл конфигурации
Для добавления Firebase в ваш Android-проект необходимо добавить в проект плагин google-services и конфигурационный файл .
Если вы добавляете Firebase в свой Android-проект через консоль Firebase , REST API управления или Firebase CLI , вам необходимо вручную добавить плагин и файл конфигурации в свой проект. Однако, если вы используете Firebase Assistant , эти задачи будут выполнены автоматически во время настройки.
Чтобы узнать, как плагин сервисов Google и файл конфигурации взаимодействуют друг с другом, посетите документацию Android .
Firebase Android BoM ( Bill of Materials )
Спецификация Firebase Android BoM ( Bill of Materials ) позволяет управлять версиями всех ваших библиотек Firebase, указывая только одну версию — версию, указанную BoM .
При использовании Firebase BoM в вашем приложении, BoM автоматически подтягивает версии отдельных библиотек, сопоставленные с версией BoM . Все версии отдельных библиотек будут совместимы. При обновлении версии BoM в вашем приложении все библиотеки Firebase, используемые в вашем приложении, обновятся до версий, сопоставленных с этой версией BoM .
Чтобы узнать, какие версии библиотек Firebase сопоставлены с конкретной версией BoM , ознакомьтесь с примечаниями к выпуску для этой версии BoM . Если вам нужно сравнить версии библиотек, сопоставленные с одной версией BoM , с версиями библиотек, сопоставленными с другой версией BoM , воспользуйтесь виджетом сравнения ниже.
Узнайте больше о поддержке платформ BoM в Gradle .
Вот как использовать Firebase Android BoM для объявления зависимостей в файле Gradle вашего модуля (уровня приложения) (обычно app/build.gradle ). При использовании BoM вам не нужно указывать версии отдельных библиотек в строках, описывающих зависимости.
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:34.17.0') // Declare the dependencies for the desired Firebase products without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Ниже приведены ответы на часто задаваемые вопросы об использовании Firebase Android BoM :
Вот как можно переопределить версию библиотеки, указанную в BoM :
Сохраните строку для импорта платформы BoM .
В строке зависимостей библиотеки укажите желаемую версию библиотеки. Например, вот как объявить зависимости, если вы хотите использовать версию 18.0.0 библиотеки App Indexing независимо от версии, указанной в BoM , но хотите использовать версии из BoM для Authentication и Cloud Firestore :
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:34.17.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Нет. Чтобы добавить и использовать библиотеки Firebase в вашем приложении, необходимо объявить каждую библиотеку как отдельную строку зависимости в файле Gradle вашего модуля (уровня приложения) (обычно app/build.gradle ).
Использование BoM гарантирует совместимость версий любых библиотек Firebase в вашем приложении, но BoM фактически не добавляет эти библиотеки Firebase в ваше приложение.
В июле 2025 года ( BoM v34.0.0) библиотеки расширений Firebase Kotlin (KTX) были удалены из BoM . Если вы используете версию BoM старше v34.0.0, вы можете продолжать использовать библиотеки KTX в своем приложении.
Однако мы рекомендуем перевести ваше приложение на использование API KTX из основных модулей; в противном случае вы не сможете обновить BoM до более новых версий и, следовательно, до более новых версий библиотек продуктов Firebase. Подробности см. в разделе часто задаваемых вопросов (FAQ) по этой инициативе .
Нет. Firebase Android BoM управляет только версиями библиотек Firebase.
Несмотря на то, что каждая библиотека Firebase имеет независимую систему версионирования, они собираются вместе, чтобы обеспечить совместимость последней версии каждой библиотеки с другими.
Используя BoM для управления версиями библиотек Firebase вашего приложения, вам не нужно отслеживать, какая версия библиотеки Firebase совместима с другой библиотекой Firebase.
Даже если сейчас в вашем приложении используется только одна библиотека Firebase, мы все равно рекомендуем использовать BoM потому что никогда не знаешь, когда может понадобиться другая библиотека Firebase!
Да, вы по-прежнему можете использовать BoM ! В Gradle 5.0 и более поздних версиях поддержка BoM включена автоматически. Однако для более ранних версий Gradle вам просто нужно включить функцию BoM и импортировать BoM немного по-другому.
В файл
settings.gradleдобавьтеenableFeaturePreview('IMPROVED_POM_SUPPORT').В файл Gradle вашего модуля (уровня приложения) (обычно
app/build.gradle) импортируйте BoM как обычную библиотеку (без модификатораplatform), следующим образом:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:34.17.0' // Declare the dependencies for the desired Firebase products, without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Посетите репозиторий Firebase Android SDK на GitHub .
Сравните версии Firebase BoM
Модули библиотеки расширений Kotlin (KTX)
Функциональные модули и предоставление функциональных возможностей игры
Начиная с мая 2021 года ( Firebase BoM v28.0.0), SDK Firebase для Android можно использовать в динамических функциональных модулях, которые устанавливаются отдельно от базового модуля приложения.
Чтобы включить поддержку динамических функциональных модулей, добавьте следующую зависимость в файл build.gradle вашего базового модуля:
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta04'
}
Теперь, когда вы добавили поддержку динамических модулей, вы можете добавлять зависимости Firebase SDK (с Firebase BoM или без него) к функциональным модулям вашего приложения и использовать их как обычно.
Например, если ваше приложение использует Realtime Database для работы определенной функции реального времени, вы можете добавить зависимость firebase-database в файл build.gradle модуля этой функции, а не базового модуля. Это уменьшит размер загружаемого файла для большинства пользователей.
При использовании SDK Firebase в функциональных модулях следует учитывать следующие нюансы:
В таких продуктах, как Dynamic Links или Firebase In-App Messaging , которые зависят от события Analytics
first_openэто событие может быть пропущено при использовании в динамическом функциональном модуле.При совместном использовании Cloud Firestore и Authentication всегда следует включать их оба в один модуль. Если это невозможно, убедитесь, что Authentication загружается до Cloud Firestore ; в противном случае некоторые операции Cloud Firestore могут иметь некорректное состояние аутентификации.
При использовании
firebase-crashlytics-ndkв качестве зависимости динамического модуля функций необходимо установить свойствоunstrippedNativeLibsDirв файлеbuild.gradleвашего приложения, как описано в документации Crashlytics NDK .
Для получения дополнительной информации о функциональных модулях и системе доставки функций Play посетите раздел «Обзор системы доставки функций Play» .
Плагин Gradle для сервисов Google Play против сервисов Google Play против магазина Google Play
В экосистемах Google, Firebase и Android используются схожие системы именования. Вот краткое объяснение для каждого из них:
- плагин Gradle для сервисов Google
- Плагин Gradle (
com.google.gms.google-services), который запускается во время сборки, чтобы гарантировать, что ваше приложение имеет правильную конфигурацию для доступа к API Firebase и Google. - Несмотря на своё название, этот плагин не имеет никакого отношения к сервисам Google Play (см. следующую запись) и не влияет на возможности вашего приложения во время выполнения.
- Этот плагин также обрабатывает файл
google-services.json, который вы добавляете в свое приложение при настройке Firebase. Узнайте больше о плагине Google services Gradle . - Сервисы Google Play
- Невидимая фоновая служба, работающая на устройстве Android и предоставляющая приложениям на этом устройстве несколько распространенных API Google (таких как Google Maps и Google Sign In).
- Централизация этих общих API в единый сервис уменьшает размер других приложений и позволяет устройству получать автоматические обновления безопасности и улучшения функций без обновления операционной системы. Узнайте больше о сервисах Google Play .
- Google Play Store
- Магазин для загрузки приложений, фильмов, книг и многого другого на устройства Android.
- Разработчик управляет распространением, релизами и т.д. своего приложения через консоль Google Play. Если на устройстве установлен Google Play Store, на нем также работают сервисы Google Play (см. предыдущую запись). Узнайте больше о Google Play Store для разработчиков .
- Сервисы Google Play Games
- Набор API для разработчиков мобильных игр
- Узнайте больше о сервисах Google Play Games и о том, как интегрировать Firebase с вашим проектом, использующим сервисы Google Play Games .
Ресурсы с открытым исходным кодом для Firebase Android SDK
Firebase поддерживает разработку программного обеспечения с открытым исходным кодом, и мы приветствуем вклад и обратную связь от сообщества.
Firebase Android SDK
Большинство Android SDK от Firebase разрабатываются как библиотеки с открытым исходным кодом в нашем общедоступном репозитории Firebase на GitHub . Мы активно работаем над тем, чтобы в ближайшее время перенести оставшиеся библиотеки Firebase, разработанные в частном порядке, в наш общедоступный репозиторий на GitHub!
Примеры для быстрого старта
Firebase поддерживает коллекцию примеров быстрого запуска для большинства API Firebase на Android. Эти примеры можно найти в нашем общедоступном репозитории быстрого запуска Firebase на GitHub .
Каждый из этих кратких руководств можно открыть как проект Android Studio, а затем запустить на мобильном устройстве или виртуальном устройстве (AVD). Или же вы можете использовать эти руководства в качестве примеров кода для работы с SDK Firebase.
Другие интересующие темы
- Зависимости Android SDK Firebase от сервисов Google Play.
- Свяжите ваше приложение Firebase с Google Play.
- Интегрируйте с вашим проектом сервисов Play Games.