При разработке проекта Android с использованием Firebase вы можете обнаружить концепции, которые незнакомы или специфичны для Firebase. Эта страница призвана ответить на эти вопросы или указать вам ресурсы, чтобы узнать больше.
Если у вас есть вопросы по теме, не освещенной на этой странице, посетите одно из наших онлайн-сообществ . Мы также будем периодически обновлять эту страницу новыми темами, поэтому проверяйте, добавили ли мы тему, о которой вы хотите узнать!
Плагин Firebase Assistant для Android Studio
Firebase Assistant - это плагин Android Studio, который регистрирует ваше приложение Android в проекте Firebase и добавляет необходимые файлы конфигурации Firebase, плагины и зависимости в ваш проект Android - все из Android Studio!
Следуйте инструкциям на странице начала работы Android, чтобы использовать Firebase Assistant. Убедитесь, что вы используете самые последние версии как Android Studio, так и Firebase Assistant ( выберите «Файл»> «Проверить наличие обновлений» ).
Когда вы выбираете определенные продукты Firebase для добавления в свое приложение, Firebase Assistant автоматически объявляет необходимые зависимости в вашем файле app/build.gradle
. Однако, чтобы использовать функции Firebase, которые выходят за рамки текущих возможностей Firebase Assistant, вы можете вручную изменить эти зависимости:
Если вы хотите использовать Firebase Android BoM , обновите зависимости в файле Gradle вашего модуля (уровня приложения) (обычно
app/build.gradle
), чтобы импортировать платформуapp/build.gradle
. Вам также необходимо удалить версии из каждой строки зависимости библиотеки Firebase.Если вы хотите использовать библиотеку расширений Kotlin , измените строку зависимостей, добавленную в файл Gradle вашего модуля (уровня приложения) (обычно
app/build.gradle
), чтобы вместо этого использовать версию библиотеки Firebasektx
.
Сервисы Google - плагин и файл конфигурации
В рамках добавления Firebase в свой Android проекта, вам нужно добавить google-services
плагин и
конфигурационный файл вашего проекта.
Если вы добавляете Firebase в свой проект Android через консоль Firebase , Management REST API или Firebase CLI , вы должны вручную добавить плагин и файл конфигурации в свой проект. Однако, если вы используете Firebase Assistant , эти задачи автоматически выполняются за вас во время установки.
Посетите документацию Android, чтобы узнать, как работают вместе плагин служб Google и файл конфигурации.
Firebase Android BoM (Спецификация)
Firebase Android BoM (Bill of Materials) позволяет вам управлять всеми версиями вашей библиотеки Firebase, указав только одну версию - версию BoM.
Когда вы используете Firebase BoM в своем приложении, BoM автоматически извлекает отдельные версии библиотеки, сопоставленные с версией BoM. Все версии отдельных библиотек будут совместимы. Когда вы обновляете версию BoM в своем приложении, все библиотеки Firebase, которые вы используете в своем приложении, обновятся до версий, сопоставленных с этой версией BoM.
Чтобы узнать, какие версии библиотеки Firebase сопоставлены с конкретной версией BoM, ознакомьтесь с примечаниями к выпуску для этой версии BoM. Если вам нужно сравнить версии библиотеки, сопоставленные с одной версией BoM, с другой версией BoM, используйте виджет сравнения ниже.
Узнайте больше о поддержке Gradle платформ BoM .
Вот как использовать Firebase Android BoM для объявления зависимостей в файле Gradle вашего модуля (уровня приложения) (обычно app/build.gradle
). При использовании BoM вы не указываете отдельные версии библиотеки в строках зависимостей.
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.6.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.
В строке зависимости библиотеки укажите желаемую версию библиотеки. Например, вот как объявить зависимости, если вы хотите использовать индексирование приложений v18.0.0 независимо от того, какая версия указана в BoM, но вы хотите использовать версии BoM для аутентификации и Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.6.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 в ваше приложение.
Да! Когда вы объявляете строки зависимости вашей конкретной библиотеки Firebase, просто используйте имя библиотеки KTX, например:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.6.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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Нет. Firebase Android BoM управляет версиями библиотек только для библиотек Firebase. Единственным исключением является включение Google Mobile Ads SDK, потому что он так часто используется в приложениях 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:26.6.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)
Библиотеки расширений Firebase Kotlin (KTX) - это небольшие дополнения к базовым SDK Firebase, которые позволяют писать красивый и идиоматический код Kotlin.
Чтобы использовать библиотеку KTX в своем приложении, измените зависимость, включив суффикс -ktx
. Каждая библиотека KTX автоматически зависит от базовой библиотеки, поэтому нет необходимости включать обе зависимости в ваше приложение.
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:26.6.0')// Declare the base library implementation 'com.google.firebase:firebase-analytics'// Declare the KTX library instead (which automatically has a dependency on the base library) implementation 'com.google.firebase:firebase-analytics-ktx' }
Каждая библиотека KTX предоставляет различные синтаксические расширения базовой библиотеки. Например, библиотека Analytics KTX упрощает регистрацию событий:
До (с использованием базовой библиотеки)
val analytics = FirebaseAnalytics.getInstance(); val bundle = Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image"); analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);
После (используя вместо этого библиотеку KTX)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) { param(FirebaseAnalytics.Param.ITEM_ID, id) param(FirebaseAnalytics.Param.ITEM_NAME, name) param(FirebaseAnalytics.Param.CONTENT_TYPE, "image") }
Все продукты Firebase предлагают библиотеку KTX, за исключением Firebase ML и индексации приложений.
Если вы еще этого не сделали, ознакомьтесь со справочной документацией по API для библиотек KTX.
Плагин Google Services Gradle против сервисов Google Play против Google Play Store
Некоторые элементы экосистемы Google, Firebase и Android имеют схожие соглашения об именах. Вот краткое объяснение каждого из них:
- Плагин Google Services Gradle
- Плагин Gradle (
com.google.gms.google-services
), который запускается во время сборки, чтобы убедиться, что ваше приложение имеет правильную конфигурацию для доступа к Firebase и API Google. - Несмотря на свое название, этот плагин не имеет отношения к сервисам Google Play (см. Следующую запись) и не влияет на возможности вашего приложения во время выполнения.
- Этот плагин также обрабатывает файл
google-services.json
который вы добавляете в свое приложение при настройке Firebase. Подробнее о подключаемом модуле Gradle для сервисов Google . - Сервисы Google Play
- Невидимая фоновая служба, которая работает на устройстве Android и предоставляет несколько распространенных API Google (например, Google Maps и Google Sign In) для приложений на устройстве.
- Благодаря централизации этих общих API-интерфейсов в одной службе он уменьшает размер других приложений и позволяет устройству получать автоматические обновления безопасности и улучшения функций без обновления ОС. Узнайте больше о сервисах Google Play .
- Google Play магазин
- Магазин для загрузки приложений, фильмов, книг и многого другого на устройство 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 поддерживает разработку с открытым исходным кодом, и мы поощряем участие и отзывы сообщества.
SDK Firebase для Android
Большинство SDK Firebase для Android разработаны как библиотеки с открытым исходным кодом в нашем общедоступном репозитории Firebase GitHub . Мы активно работаем над тем, чтобы в ближайшее время переместить оставшиеся библиотеки Firebase, разработанные частным образом, в наш общедоступный GitHub!
Примеры быстрого запуска
Firebase поддерживает коллекцию примеров быстрого запуска для большинства API Firebase на Android. Эти краткие руководства можно найти в нашем общедоступном репозитории быстрого запуска Firebase на GitHub .
Вы можете открыть каждое краткое руководство как проект Android Studio, а затем запустить их на мобильном устройстве или виртуальном устройстве (AVD). Или вы можете использовать эти краткие руководства в качестве примера кода для использования Firebase SDK.