Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

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

При разработке проекта 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 ), чтобы вместо этого использовать версию библиотеки Firebase ktx .

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

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

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

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

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

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

  • Crashlytics не будет фиксировать сбои NDK при использовании в модуле динамических функций.

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

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

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

Плагин 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 .

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

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

SDK Firebase для Android

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

Примеры быстрого запуска

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

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

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