Настройка Firebase
Подключите приложение к проекту Firebase
«Настройка Firebase» — бесплатный урок Android Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Android Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Android Academy содержит 4 уроков всего.
Что такое Firebase
Firebase — платформа Google для разработки приложений. Она предоставляет вашему приложению Android готовую серверную часть, поэтому вам не нужно самостоятельно создавать и размещать серверы.
На этом курсе вы подключите приложение к Firebase, а затем воспользуетесь тремя наиболее популярными сервисами:
- Аутентификация — вход пользователей по электронной почте или через Google
- Cloud Firestore — база данных NoSQL с обновлением в реальном времени
- Обмен сообщениями Cloud (FCM) — push-уведомления
Этот первый урок посвящён настройке: созданию проекта и подключению его к приложению Android.
Создание проекта Firebase
Всё начинается в консоли Firebase по адресу console.firebase.google.com.
- Нажмите Добавить проект и укажите его название.
- Каждый проект Firebase связан с проектом Google Cloud, который создаётся в фоновом режиме.
- В одном проекте Firebase может находиться несколько приложений: Android, iOS и веб-приложения.
Внутри проекта зарегистрируйте конкретное приложение Android с помощью его идентификатора приложения (имени пакета), например com.coddykit.demo. По этому идентификатору Firebase определяет, от какого приложения поступил запрос.
Файл google-services.json
После регистрации приложения Android Firebase создаёт конфигурационный файл с именем google-services.json.
Скачайте его и поместите в корневую папку модуля приложения (рядом с build.gradle.kts, внутри каталога app/).
В этом JSON-файле содержатся идентификатор проекта, ключи API и регистрационные данные приложения. Инструменты сборки считывают его автоматически — почти никогда не нужно открывать его вручную.
// File location in your project:
// app/google-services.json
// It is generated for you and looks roughly like:
{
"project_info": {
"project_id": "my-demo-app",
"storage_bucket": "my-demo-app.appspot.com"
},
"client": [
{ "client_info": { "mobilesdk_app_id": "1:1234567890:android:abc123" } }
]
}Добавление плагина Google Services
Чтобы Gradle мог прочитать google-services.json, добавьте плагин Google Services для Gradle.
Современный подход использует блок plugins с каталогами версий. Объявите плагин в корневом файле сборки (с параметром apply false), а затем примените его в файле сборки модуля.
// Root build.gradle.kts (project level)
plugins {
id("com.android.application") version "8.5.0" apply false
id("org.jetbrains.kotlin.android") version "2.0.0" apply false
id("com.google.gms.google-services") version "4.4.2" apply false
}Применение плагина в модуле
В файле build.gradle.kts модуля app примените плагин, чтобы во время сборки он обработал конфигурационный файл.
Без этой строки инициализация Firebase завершится ошибкой во время выполнения, даже если всё остальное настроено правильно.
// app/build.gradle.kts (module level)
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.gms.google-services")
}Firebase BoM
У Firebase много библиотек: Auth, Firestore, Messaging, Analytics и другие. Синхронизировать их версии легко с помощью спецификации материалов (BoM).
Объявите BoM один раз, а затем добавляйте каждую зависимость Firebase без указания версии — BoM подберёт совместимые версии автоматически.
// app/build.gradle.kts -> dependencies { }
dependencies {
// One BoM controls all Firebase versions
implementation(platform("com.google.firebase:firebase-bom:33.1.0"))
// No version numbers here - the BoM decides
implementation("com.google.firebase:firebase-auth")
implementation("com.google.firebase:firebase-firestore")
implementation("com.google.firebase:firebase-messaging")
}Автоматическая инициализация
Возможно, вы ожидаете, что нужно вызвать что-то вроде Firebase.initialize() в классе Application. В современном SDK обычно этого делать не нужно.
Плагин Google Services автоматически создаёт поставщик инициализации, который запускается при старте приложения и использует google-services.json. К моменту запуска вашего Activity Firebase уже готов.
// You normally do NOT need this anymore:
// FirebaseApp.initializeApp(context)
// Firebase is initialized automatically on app launch.
// You can just start using a service:
import com.google.firebase.Firebase
import com.google.firebase.firestore.firestore
val db = Firebase.firestore // ready to useСтиль Kotlin KTX
Firebase предоставляет идиоматичные средства доступа Kotlin через объект Firebase. Вместо FirebaseFirestore.getInstance() вы пишете Firebase.firestore.
Такие расширения читаются естественнее и рекомендуются в современном коде Android.
import com.google.firebase.Firebase
import com.google.firebase.auth.auth
import com.google.firebase.firestore.firestore
import com.google.firebase.messaging.messaging
val auth = Firebase.auth // FirebaseAuth
val db = Firebase.firestore // FirebaseFirestore
val fcm = Firebase.messaging // FirebaseMessaging
// Equivalent old style:
// val auth = FirebaseAuth.getInstance()Добавление разрешения на интернет
Firebase взаимодействует с серверами Google, поэтому приложению нужен доступ к сети. Объявите разрешение INTERNET в манифесте.
Это обычное разрешение: оно предоставляется автоматически во время установки, поэтому запрашивать его во время выполнения не нужно.
<!-- AndroidManifest.xml -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application ... >
<!-- activities, services -->
</application>
</manifest>Проверка подключения
Быстро проверить правильность настройки можно, прочитав значение или проверив текущее приложение Firebase. Если Firebase не был инициализирован, обращение к сервису вызовет ошибку.
Многие разработчики также временно добавляют зависимость Analytics и ищут событие в консоли в качестве поверхностного теста, но простого обращения к сервису в коде уже достаточно, чтобы подтвердить правильность подключения.
import android.util.Log
import com.google.firebase.Firebase
import com.google.firebase.firestore.firestore
fun verifyFirebase() {
val app = Firebase.firestore.app
Log.d("Firebase", "Connected to project: ${app.options.projectId}")
}Распространённые ошибки настройки
Если Firebase не работает, сначала проверьте следующее:
- Неправильное имя пакета — applicationId приложения должен совпадать с зарегистрированным значением.
- Отсутствует google-services.json — файл должен находиться в папке
app/. - Плагин не применён в файле сборки модуля.
- Нет разрешения INTERNET в манифесте.
- Не добавлен отпечаток SHA-1 — он потребуется позднее для входа через Google.
Быстрая проверка
Для чего нужен файл google-services.json?
Итоги: настройка завершена
Вы подключили приложение Android к Firebase. Основные шаги:
- Создайте проект в консоли Firebase и зарегистрируйте приложение по имени пакета.
- Добавьте
google-services.jsonв папкуapp/. - Примените плагин Google Services и добавьте Firebase BoM вместе с необходимыми библиотеками.
- Firebase инициализируется автоматически — обращайтесь к сервисам через
Firebase.auth,Firebase.firestoreи другие средства. - Не забудьте добавить разрешение INTERNET.
Далее вы научитесь выполнять вход пользователей с помощью Firebase Authentication.
Часто задаваемые вопросы
Урок «Настройка Firebase» бесплатный?
Да — полный текст урока «Настройка Firebase» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Android Academy, подпишись на CoddyKit PRO. Курс Android Academy содержит 4 уроков всего.
Чему я научусь в уроке «Настройка Firebase»?
Подключите приложение к проекту Firebase Ты практикуешь Android Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Android Academy?
Предыдущий опыт не требуется. Android Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Настройка Firebase»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Android Academy?
Да. Каждый урок Android Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Настройка Firebase
- Аутентификация Firebase
- Основы Cloud Firestore
- Отправка уведомлений через Cloud Messaging