Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Узнайте больше об 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.5.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)

Библиотеки расширений 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.5.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.

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

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

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

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

Теперь, когда вы добавили поддержку динамических модулей, вы можете добавить зависимости 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.

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