Общие сведения о Firebase для Android

При разработке 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 и конфигурационный файл google-services.json .

Если вы добавляете 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 :

Сравните версии 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.

Другие интересующие темы