Узнайте больше об Android и Firebase

При разработке проекта Android с помощью Firebase вы можете обнаружить концепции, которые незнакомы или специфичны для Firebase. Эта страница предназначена для того, чтобы ответить на эти вопросы или указать ресурсы, чтобы узнать больше.

Если у вас есть вопросы по теме, не затронутой на этой странице, не стесняйтесь посетить одно из наших интернет-сообществ . Мы также будем периодически обновлять эту страницу новыми темами, поэтому проверяйте, добавили ли мы тему, о которой вы хотите узнать!

Плагин Firebase Assistant для Android Studio

Firebase Assistant — это подключаемый модуль Android Studio, который регистрирует ваше приложение Android в проекте Firebase и добавляет в ваш проект Android необходимые файлы конфигурации Firebase, подключаемые модули и зависимости — и все это из 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.json google-services файл конфигурации google-services.json.

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

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

Firebase Android BoM (ведомость материалов)

BoM Firebase Android (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:30.3.1')

  // 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) — это небольшие дополнения к базовым SDK Firebase, которые позволяют писать красивый и идиоматический код Kotlin.

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

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

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

Модули функций и доставка функций Play

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

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

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

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

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

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

  • Такие продукты, как Dynamic Links или Firebase In-App Messaging, которые полагаются на событие Analytics first_open , могут пропустить это событие при использовании в динамическом функциональном модуле.

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

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

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

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

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

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

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

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

SDK Firebase для Android

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

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

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

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

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