Предпосылки
Установите или обновите Android Studio до последней версии.
Убедитесь, что ваш проект соответствует следующим требованиям:
- Ориентирован на уровень API 19 (KitKat) или выше.
- Использует Android 4.4 или выше
- Использует Jetpack (AndroidX) , который включает в себя выполнение следующих требований к версии:
-
com.android.tools.build:gradle
v3.2.1 или новее -
compileSdkVersion
28 или новее
-
Настройте физическое устройство или используйте эмулятор для запуска приложения.
Обратите внимание, что Firebase SDK с зависимостью от сервисов Google Play требует, чтобы на устройстве или эмуляторе были установлены сервисы Google Play.Войдите в Firebase , используя свою учетную запись Google.
Если у вас еще нет проекта Android и вы просто хотите попробовать продукт Firebase, вы можете загрузить один из наших кратких примеров .
Вы можете подключить свое Android-приложение к Firebase одним из следующих способов:
- Вариант 1 : (рекомендуется) использовать рабочий процесс настройки консоли Firebase.
- Вариант 2. Используйте Android Studio Firebase Assistant (может потребоваться дополнительная настройка).
Вариант 1. Добавьте Firebase с помощью консоли Firebase.
Добавление Firebase в ваше приложение включает задачи как в консоли Firebase , так и в вашем открытом проекте Android (например, вы загружаете файлы конфигурации Firebase из консоли, а затем перемещаете их в свой проект Android).
Шаг 1. Создайте проект Firebase.
Прежде чем вы сможете добавить Firebase в свое Android-приложение, вам необходимо создать проект Firebase для подключения к вашему Android-приложению. Посетите страницу Understand Firebase Projects , чтобы узнать больше о проектах Firebase.
Шаг 2. Зарегистрируйте свое приложение в Firebase.
Чтобы использовать Firebase в своем приложении для Android, вам необходимо зарегистрировать свое приложение в проекте Firebase. Регистрация вашего приложения часто называется «добавлением» вашего приложения в ваш проект.
Перейдите в консоль Firebase .
В центре страницы обзора проекта щелкните значок Android (
) или «Добавить приложение» , чтобы запустить рабочий процесс установки.Введите имя пакета вашего приложения в поле имени пакета Android .
Имя пакета однозначно идентифицирует ваше приложение на устройстве и в магазине Google Play.
Имя пакета часто называют идентификатором приложения .
Найдите имя пакета вашего приложения в файле Gradle вашего модуля (уровня приложения), обычно
app/build.gradle
(пример имени пакета:com.yourcompany.yourproject
).Имейте в виду, что значение имени пакета чувствительно к регистру, и его нельзя изменить для этого приложения Firebase для Android после его регистрации в вашем проекте Firebase.
(Необязательно) Введите другую информацию о приложении: псевдоним приложения и сертификат подписи отладки SHA-1 .
Псевдоним приложения . Внутренний удобный идентификатор, который виден только вам в консоли Firebase.
Сертификат подписи отладки SHA-1 : хэш SHA-1 требуется для проверки подлинности Firebase (при использовании входа через Google или номера телефона ) и динамических ссылок Firebase .
Щелкните Зарегистрировать приложение .
Шаг 3. Добавьте файл конфигурации Firebase.
Загрузите и добавьте файл конфигурации Firebase Android (
) в свое приложение:google-services.json Нажмите Загрузить google-services.json , чтобы получить файл конфигурации Firebase Android.
Переместите файл конфигурации в корневой каталог модуля (уровня приложения) вашего приложения.
Файл конфигурации Firebase содержит уникальные, но не секретные идентификаторы вашего проекта. Чтобы узнать больше об этом конфигурационном файле, посетите страницу Understand Firebase Projects .
Вы можете снова загрузить файл конфигурации Firebase в любое время.
Убедитесь, что к имени файла конфигурации не добавляются дополнительные символы, например
(2)
.
Чтобы сделать значения в вашем файле конфигурации
доступными для SDK Firebase, вам нужен подключаемый модуль Gradle сервисов Google (google-services.json google-services
).В файле Gradle корневого уровня (уровня проекта) (
<project>/build.gradle
) добавьте плагин сервисов Google в качестве зависимости buildscript:buildscript { repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } dependencies { ... // Add the dependency for the Google services Gradle plugin classpath 'com.google.gms:google-services:4.3.15' } } allprojects { ... repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } }
В файле Gradle вашего модуля (уровня приложения) (обычно
<project>/<app-module>/build.gradle
) добавьте плагин сервисов Google:plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' ... }
Шаг 4. Добавьте SDK Firebase в свое приложение.
В файле Gradle вашего модуля (уровня приложения) (обычно
<project>/<app-module>/build.gradle
) добавьте зависимости для продуктов Firebase , которые вы хотите использовать в своем приложении. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотеки.Аналитика включена
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // Add the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics-ktx' // TODO: Add the dependencies for any other Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // Add the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics' // TODO: Add the dependencies for any other Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Используя Firebase Android BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.
Аналитика не включена
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // TODO: Add the dependencies for Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // TODO: Add the dependencies for Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Используя Firebase Android BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.
После добавления зависимостей для продуктов, которые вы хотите использовать, синхронизируйте проект Android с файлами Gradle.
Сборки Gradle, использующие подключаемый модуль Android Gradle (AGP) версии 4.2 или более ранней, должны включать поддержку Java 8. В противном случае эти проекты Android получат ошибку сборки при добавлении Firebase SDK.
Чтобы исправить эту ошибку сборки, вы можете воспользоваться одним из двух вариантов:
- Добавьте перечисленные
compileOptions
из сообщения об ошибке в файлbuild.gradle
уровня приложения . - Увеличьте
minSdkVersion
для вашего проекта Android до 26 или выше.
Узнайте больше об этом сбое сборки в этом FAQ .
- Добавьте перечисленные
Вот и все! Вы можете пропустить вперед, чтобы ознакомиться с рекомендуемыми следующими шагами .
Однако, если у вас возникли проблемы с настройкой, посетите раздел «Устранение неполадок Android и часто задаваемые вопросы» .
Вариант 2. Добавьте Firebase с помощью Firebase Assistant.
Помощник Firebase регистрирует ваше приложение в проекте Firebase и добавляет необходимые файлы, плагины и зависимости Firebase в ваш проект Android — и все это из Android Studio!
Откройте свой проект Android в Android Studio, затем убедитесь, что вы используете последние версии Android Studio и Firebase Assistant:
- Windows/Linux: Справка > Проверить наличие обновлений
- macOS: Android Studio > Проверить наличие обновлений
Откройте Помощник Firebase: Инструменты > Firebase .
На панели Assistant выберите продукт Firebase, который нужно добавить в приложение. Разверните его раздел, затем щелкните ссылку на руководство (например,
Analytics > Зарегистрировать событие Analytics ).Нажмите «Подключиться к Firebase» , чтобы подключить проект Android к Firebase.
Этот рабочий процесс автоматически создает новое приложение Firebase для Android, используя имя пакета вашего приложения. Вы можете создать это новое приложение Firebase для Android либо в существующем проекте Firebase, либо в новом проекте.
Вот несколько советов по настройке проекта Firebase:
Ознакомьтесь с нашими рекомендациями по добавлению приложений в проект Firebase, в том числе о том, как обрабатывать несколько вариантов.
Если вы создаете новый проект, мы настоятельно рекомендуем вам настроить Google Analytics для вашего проекта, что позволит вам оптимально использовать многие продукты Firebase.
Этот рабочий процесс также добавляет файл конфигурации Android вашего проекта Firebase (
) в каталог модуля (на уровне приложения) вашего приложения.google-services.json
Нажмите кнопку, чтобы добавить нужный продукт Firebase (например,
Добавить аналитику в свое приложение ).
Синхронизируйте свое приложение, чтобы убедиться, что все зависимости имеют необходимые версии.
На панели Assistant следуйте оставшимся инструкциям по настройке для выбранного продукта Firebase.
Добавьте столько других продуктов Firebase, сколько хотите, с помощью Firebase Assistant!
Вот и все! Обязательно ознакомьтесь с рекомендуемыми следующими шагами .
Однако, если у вас возникли проблемы с настройкой, посетите раздел «Устранение неполадок Android и часто задаваемые вопросы» .
Доступные библиотеки
В этом разделе перечислены продукты Firebase, поддерживаемые для Android, и их зависимости от Gradle. Узнайте больше об этих библиотеках Firebase для Android:
Справочная документация ( Kotlin+KTX | Java )
Обратите внимание, что при использовании Firebase Android BoM вы не указываете версии отдельных библиотек при объявлении зависимостей библиотек Firebase в build.gradle
.
Kotlin+KTX
Услуга или продукт | зависимость Gradle | Последний версия | Добавить аналитику? | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Спецификация Firebase для Android (Список материалов) | com.google.firebase: firebase-бом Последняя версия Firebase BoM содержит последние версии каждой библиотеки Firebase Android. Чтобы узнать, какие версии библиотек сопоставлены с конкретной версией BoM, просмотрите примечания к выпуску для этой версии BoM. | 32.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
AdMob | com.google.android.gms:play-сервисы-объявления | 22.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
Аналитика | com.google.firebase: firebase-analytics-ktx | 21.3.0 | |||||||||||||||||||||||||||||||||||||||||||||
Приложение Проверить настраиваемый поставщик | com.google.firebase: firebase-appcheck-ktx | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Поставщик отладки проверки приложений | com.google.firebase:firebase-appcheck-debug | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Поставщик проверки целостности приложений | com.google.firebase:firebase-appcheck-playintegrity | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Распространение приложений | com.google.firebase: firebase-appdistribution | 16.0.0-бета08 | |||||||||||||||||||||||||||||||||||||||||||||
API распространения приложений | com.google.firebase: firebase-appdistribution-api-ktx | 16.0.0-бета08 | |||||||||||||||||||||||||||||||||||||||||||||
Плагин распространения приложений | com.google.firebase: firebase-appdistribution-gradle | 4.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Аутентификация | com.google.firebase: firebase-auth-ktx | 22.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Облако Firestore | com.google.firebase: firebase-firestore-ktx | 24.6.1 | |||||||||||||||||||||||||||||||||||||||||||||
Облачные функции для Firebase Client SDK | com.google.firebase: firebase-функции-ktx | 20.3.1 | |||||||||||||||||||||||||||||||||||||||||||||
Облачный обмен сообщениями | com.google.firebase:firebase-сообщения-ktx | 23.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Облачное хранилище | com.google.firebase: firebase-storage-ktx | 20.2.0 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics | com.google.firebase:firebase-crashlytics-ktx | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics НДК | com.google.firebase:firebase-crashlytics-ndk | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Плагин Crashlytics | com.google.firebase: firebase-crashlytics-gradle | 2.9.5 | |||||||||||||||||||||||||||||||||||||||||||||
Поддержка динамических функциональных модулей | com.google.firebase:firebase-динамический-модуль-поддержка | 16.0.0-бета03 | |||||||||||||||||||||||||||||||||||||||||||||
Динамические ссылки | com.google.firebase:firebase-динамические ссылки-ktx | 21.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
Обмен сообщениями в приложении | com.google.firebase:firebase-inappmessaging-ktx | 20.3.2 | (необходимый) | ||||||||||||||||||||||||||||||||||||||||||||
Отображение сообщений в приложении | com.google.firebase:firebase-inappmessaging-display-ktx | 20.3.2 | (необходимый) | ||||||||||||||||||||||||||||||||||||||||||||
Установки Firebase | com.google.firebase:firebase-installations-ktx | 17.1.3 | |||||||||||||||||||||||||||||||||||||||||||||
API загрузчика моделей Firebase ML | com.google.firebase: firebase-ml-modeldownloader-ktx | 24.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Мониторинг производительности | com.google.firebase: firebase-perf-ktx | 20.3.2 | |||||||||||||||||||||||||||||||||||||||||||||
Плагин мониторинга производительности | com.google.firebase:perf-плагин | 1.4.2 | |||||||||||||||||||||||||||||||||||||||||||||
База данных реального времени | com.google.firebase:firebase-база данных-ktx | 20.2.2 | |||||||||||||||||||||||||||||||||||||||||||||
Удаленная конфигурация | com.google.firebase:firebase-config-ktx | 21.4.0 | |||||||||||||||||||||||||||||||||||||||||||||
Плагин сервисов Google Play | com.google.gms:сервисы google | 4.3.15 | |||||||||||||||||||||||||||||||||||||||||||||
Устаревшие библиотеки | |||||||||||||||||||||||||||||||||||||||||||||||
Приложение Проверить провайдера SafetyNet | com.google.firebase:firebase-appcheck-safetynet | 16.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Индексирование приложений | com.google.firebase: firebase-appindexing | 20.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Библиотеки Firebase ML Kit
|
Java
Услуга или продукт | зависимость Gradle | Последний версия | Добавить аналитику? | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Спецификация Firebase для Android (Список материалов) | com.google.firebase: firebase-бом Последняя версия Firebase BoM содержит последние версии каждой библиотеки Firebase Android. Чтобы узнать, какие версии библиотек сопоставлены с конкретной версией BoM, просмотрите примечания к выпуску для этой версии BoM. | 32.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
AdMob | com.google.android.gms:play-сервисы-объявления | 22.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
Аналитика | com.google.firebase:firebase-аналитика | 21.3.0 | |||||||||||||||||||||||||||||||||||||||||||||
Приложение Проверить настраиваемый поставщик | com.google.firebase:firebase-appcheck | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Поставщик отладки проверки приложений | com.google.firebase:firebase-appcheck-debug | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Поставщик проверки целостности приложений | com.google.firebase:firebase-appcheck-playintegrity | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Распространение приложений | com.google.firebase: firebase-appdistribution | 16.0.0-бета08 | |||||||||||||||||||||||||||||||||||||||||||||
API распространения приложений | com.google.firebase: firebase-appdistribution-api | 16.0.0-бета08 | |||||||||||||||||||||||||||||||||||||||||||||
Плагин распространения приложений | com.google.firebase: firebase-appdistribution-gradle | 4.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Аутентификация | com.google.firebase:firebase-аутентификация | 22.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Облако Firestore | com.google.firebase: firebase-firestore | 24.6.1 | |||||||||||||||||||||||||||||||||||||||||||||
Облачные функции для Firebase Client SDK | com.google.firebase:firebase-функции | 20.3.1 | |||||||||||||||||||||||||||||||||||||||||||||
Облачный обмен сообщениями | com.google.firebase: обмен сообщениями firebase | 23.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Облачное хранилище | com.google.firebase:firebase-хранилище | 20.2.0 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics | com.google.firebase:firebase-crashlytics | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics НДК | com.google.firebase:firebase-crashlytics-ndk | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Плагин Crashlytics | com.google.firebase: firebase-crashlytics-gradle | 2.9.5 | |||||||||||||||||||||||||||||||||||||||||||||
Поддержка динамических функциональных модулей | com.google.firebase:firebase-динамический-модуль-поддержка | 16.0.0-бета03 | |||||||||||||||||||||||||||||||||||||||||||||
Динамические ссылки | com.google.firebase:firebase-динамические ссылки | 21.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
Обмен сообщениями в приложении | com.google.firebase:firebase-inappmessaging | 20.3.2 | (необходимый) | ||||||||||||||||||||||||||||||||||||||||||||
Отображение сообщений в приложении | com.google.firebase:firebase-inappmessaging-display | 20.3.2 | (необходимый) | ||||||||||||||||||||||||||||||||||||||||||||
Установки Firebase | com.google.firebase:firebase-установки | 17.1.3 | |||||||||||||||||||||||||||||||||||||||||||||
API загрузчика моделей Firebase ML | com.google.firebase:firebase-ml-modeldownloader | 24.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Мониторинг производительности | com.google.firebase: firebase-perf | 20.3.2 | |||||||||||||||||||||||||||||||||||||||||||||
Плагин мониторинга производительности | com.google.firebase:perf-плагин | 1.4.2 | |||||||||||||||||||||||||||||||||||||||||||||
База данных реального времени | com.google.firebase:firebase-база данных | 20.2.2 | |||||||||||||||||||||||||||||||||||||||||||||
Удаленная конфигурация | com.google.firebase:firebase-config | 21.4.0 | |||||||||||||||||||||||||||||||||||||||||||||
Плагин сервисов Google Play | com.google.gms:сервисы google | 4.3.15 | |||||||||||||||||||||||||||||||||||||||||||||
Устаревшие библиотеки | |||||||||||||||||||||||||||||||||||||||||||||||
Приложение Проверить провайдера SafetyNet | com.google.firebase:firebase-appcheck-safetynet | 16.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Индексирование приложений | com.google.firebase: firebase-appindexing | 20.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Библиотеки Firebase ML Kit
|
Следующие шаги
Добавьте сервисы Firebase в свое приложение:
Получайте информацию о поведении пользователей с помощью Analytics .
Настройте поток аутентификации пользователя с помощью Authentication .
Храните данные, например информацию о пользователях, в Cloud Firestore или в базе данных реального времени .
Храните файлы, например фотографии и видео, в облачном хранилище .
Запустите серверный код, работающий в безопасной среде, с помощью Cloud Functions .
Отправляйте уведомления с помощью Cloud Messaging .
Узнайте, когда и почему происходит сбой вашего приложения с помощью Crashlytics .
Узнайте о Firebase:
Посетите страницу Understand Firebase Projects , чтобы узнать больше о проектах Firebase и рекомендациях по работе с проектами.
Посетите страницу Узнайте больше об Android и Firebase, если у вас есть вопросы о понятиях, которые незнакомы или относятся к разработке Firebase и Android.
Ознакомьтесь с примерами приложений Firebase .
Получите практический опыт работы с Firebase Android Codelab .
Узнайте больше с курсом Firebase на выходных .
Подготовьтесь к запуску вашего приложения:
- Настройте оповещения о бюджете для своего проекта в Google Cloud Console.
- Отслеживайте использование и выставление счетов в консоли Firebase, чтобы получить общую картину использования вашего проекта в нескольких сервисах Firebase.
- Ознакомьтесь с контрольным списком запуска Firebase .
Возникли проблемы с Firebase и вашим Android-проектом? Посетите раздел «Устранение неполадок Android и часто задаваемые вопросы» .