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

Разрабатывая свой проект 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 ), чтобы импортировать платформу BoM. Вам также потребуется удалить версии из каждой строки зависимости библиотеки Firebase.

  • Если вы хотите использовать библиотеку расширений Kotlin , измените строку зависимости, добавленную в файл Gradle вашего модуля (на уровне приложения) (обычно app/build.gradle ), чтобы вместо этого использовать ktx версию библиотеки Firebase.

Сервисы Google — плагин и файл конфигурации

В рамках добавления Firebase в ваш проект Android вам необходимо добавить в свой проект плагин google-services и файл конфигурации google-services.json .

Если вы добавляете Firebase в свой проект Android через консоль Firebase , Management REST API или интерфейс командной строки Firebase , вам необходимо вручную добавить плагин и файл конфигурации в свой проект. Однако если вы используете Firebase Assistant , эти задачи автоматически выполняются во время установки.

Посетите документацию Android , чтобы узнать, как вместе работают плагин сервисов Google и файл конфигурации.

Спецификация Firebase Android (спецификация материалов)

Спецификация Firebase Android (Спецификация) позволяет вам управлять всеми версиями библиотеки Firebase, указав только одну версию — версию спецификации.

Когда вы используете спецификацию Firebase в своем приложении, она автоматически извлекает отдельные версии библиотеки, сопоставленные с версией спецификации. Все отдельные версии библиотеки будут совместимы. Когда вы обновляете версию BoM в своем приложении, все библиотеки Firebase, которые вы используете в своем приложении, обновятся до версий, сопоставленных с этой версией BoM.

Чтобы узнать, какие версии библиотеки Firebase сопоставлены с конкретной версией 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:33.1.2')

  // 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)

Модули библиотеки расширений Firebase Kotlin (KTX) — это небольшие дополнения к основным модулям библиотеки Firebase, и вы можете использовать их для написания красивого и идиоматического кода Kotlin.

Чтобы использовать модуль библиотеки KTX в своем приложении, измените свою зависимость, включив в нее суффикс -ktx . Каждый модуль KTX автоматически зависит от модуля основной библиотеки, поэтому нет необходимости включать обе зависимости в ваше приложение.

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:33.1.2')

  // Declare the main module
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX module instead (which automatically has a dependency on the main module)
  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.

Функциональные модули и доставка функций Play

Начиная с мая 2021 года (Firebase BoM v28.0.0), Firebase Android SDK можно использовать в модулях динамических функций, которые устанавливаются отдельно от базового модуля приложения.

Чтобы включить поддержку модулей динамических функций, добавьте следующую зависимость в файл build.gradle вашего базового модуля:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}

Теперь, когда вы добавили поддержку динамических модулей, вы можете добавить зависимости Firebase SDK (с Firebase BoM или без него), чтобы использовать модули вашего приложения и использовать их, как обычно.

Например, если ваше приложение использует базу данных реального времени для реализации определенной функции реального времени, вы можете добавить зависимость firebase-database в build.gradle функционального модуля, а не в базовый модуль. Это уменьшит размер загрузки для большинства пользователей.

Помните о следующих предостережениях при использовании Firebase SDK в функциональных модулях:

  • Такие продукты, как динамические ссылки или обмен сообщениями внутри приложений Firebase, которые полагаются на событие Analytics first_open могут пропустить это событие при использовании в модуле динамических функций.

  • При совместном использовании Cloud Firestore и аутентификации всегда следует включать их в один и тот же модуль. Если это невозможно, убедитесь, что Аутентификация загружена перед Cloud Firestore; в противном случае некоторые операции Cloud Firestore могут иметь неправильное состояние аутентификации.

  • При использовании firebase-crashlytics-ndk в качестве зависимости динамического функционального модуля вам необходимо установить свойство unstrippedNativeLibsDir в файле build.gradle вашего приложения, как описано в документации Crashlytics NDK .

Дополнительную информацию о функциональных модулях и доставке функций Play см. на странице Обзор доставки функций Play .

Плагин сервисов Google Gradle, сервисы Google Play и магазин Google Play

Некоторые части экосистемы Google, Firebase и Android имеют схожие соглашения об именах. Вот краткое объяснение для каждого:

Плагин Gradle для сервисов Google
Плагин 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
Набор API для разработчиков мобильных игр.
Узнайте больше о сервисах Google Play Games и о том, как интегрировать Firebase с вашим проектом сервисов Google Play Games .

Ресурсы с открытым исходным кодом для Firebase Android SDK

Firebase поддерживает разработку с открытым исходным кодом, и мы поощряем вклад сообщества и обратную связь.

Android-SDK Firebase

Большинство Firebase Android SDK разрабатываются как библиотеки с открытым исходным кодом в нашем общедоступном репозитории Firebase GitHub . Мы активно работаем над тем, чтобы в ближайшее время перенести оставшиеся частные библиотеки Firebase на наш общедоступный GitHub!

Примеры быстрого старта

Firebase поддерживает коллекцию примеров быстрого запуска для большинства API Firebase на Android. Эти краткие руководства можно найти в нашем общедоступном репозитории быстрых запусков Firebase GitHub .

Вы можете открыть каждое краткое руководство как проект Android Studio, а затем запустить его на мобильном устройстве или виртуальном устройстве (AVD). Или вы можете использовать эти краткие руководства в качестве примера кода для использования Firebase SDK.

Другие темы, представляющие интерес