Konfiguracja Firebase
Połącz swoją aplikację z projektem Firebase
Konfiguracja Firebase to bezpłatna lekcja Android Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Android Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Android Academy zawiera 4 lekcji w sumie.
Czym jest Firebase?
Firebase to platforma Google do tworzenia aplikacji. Zapewnia aplikacji na Androida gotowy backend, dzięki czemu nie trzeba samodzielnie tworzyć i hostować serwerów.
W tym kursie połączysz aplikację z Firebase, a następnie użyjesz trzech jego najpopularniejszych usług:
- Authentication — logowanie użytkowników za pomocą adresu e-mail lub konta Google
- Cloud Firestore — baza danych NoSQL działająca w czasie rzeczywistym
- Cloud Messaging (FCM) — powiadomienia push
Ta pierwsza lekcja dotyczy wyłącznie konfiguracji: utworzenia projektu i połączenia go z aplikacją na Androida.
Tworzenie projektu Firebase
Wszystko zaczyna się w konsoli Firebase pod adresem console.firebase.google.com.
- Kliknij Add project i nadaj projektowi nazwę.
- Każdy projekt Firebase odpowiada w tle projektowi Google Cloud.
- Jeden projekt Firebase może zawierać wiele aplikacji (Android, iOS, web).
W projekcie zarejestruj konkretną aplikację na Androida za pomocą jej application ID (nazwy pakietu), na przykład com.coddykit.demo. To na podstawie tego identyfikatora Firebase rozpoznaje, z której aplikacji pochodzi żądanie.
Plik google-services.json
Po zarejestrowaniu aplikacji na Androida Firebase generuje plik konfiguracyjny o nazwie google-services.json.
Pobierz go i umieść w głównym folderze modułu aplikacji (obok build.gradle.kts, w katalogu app/).
Ten plik JSON zawiera identyfikator projektu, klucze API i dane rejestracji aplikacji. Narzędzia kompilacji odczytują go automatycznie — prawie nigdy nie trzeba otwierać go ręcznie.
// 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" } }
]
}Dodawanie wtyczki Google Services
Aby Gradle mógł odczytać google-services.json, dodaj wtyczkę Google Services Gradle.
Współczesne podejście korzysta z bloku plugins z katalogami wersji. Zadeklaruj wtyczkę w głównym pliku kompilacji (z apply false), a następnie zastosuj ją w pliku kompilacji modułu.
// 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
}Zastosowanie wtyczki w module
W pliku build.gradle.kts modułu app zastosuj wtyczkę, aby podczas kompilacji przetwarzała plik konfiguracyjny.
Bez tej linii inicjalizacja Firebase zakończy się błędem w czasie działania, nawet jeśli cała reszta konfiguracji jest poprawna.
// 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 udostępnia wiele bibliotek (Auth, Firestore, Messaging, Analytics...). Dzięki Bill of Materials (BoM) łatwo utrzymać ich wersje w zgodności.
Zadeklaruj BoM raz, a następnie dodawaj każdą zależność Firebase bez wersji — BoM dobierze za Ciebie zgodne wersje.
// 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")
}Automatyczna inicjalizacja
Możesz oczekiwać, że w klasie Application trzeba wywołać coś w rodzaju Firebase.initialize(). W nowoczesnym SDK zazwyczaj nie trzeba tego robić.
Wtyczka Google Services automatycznie generuje dostawcę inicjalizacji, który uruchamia się podczas startu aplikacji z użyciem google-services.json. Zanim uruchomi się Activity, Firebase jest już gotowy.
// 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 useStyl Kotlin KTX
Firebase udostępnia idiomatyczne akcesory Kotlin za pośrednictwem obiektu Firebase. Zamiast FirebaseFirestore.getInstance() możesz napisać Firebase.firestore.
Takie rozszerzenia są bardziej naturalne w użyciu i stanowią zalecany styl we współczesnym kodzie 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()Dodawanie uprawnienia do internetu
Firebase komunikuje się z serwerami Google, dlatego aplikacja potrzebuje dostępu do sieci. Zadeklaruj uprawnienie INTERNET w manifeście.
Jest to uprawnienie normalne, przyznawane automatycznie podczas instalacji — nie wymaga żądania w czasie działania.
<!-- AndroidManifest.xml -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
<application ... >
<!-- activities, services -->
</application>
</manifest>Sprawdzanie połączenia
Szybkim sposobem na potwierdzenie poprawnej konfiguracji jest odczytanie wartości lub sprawdzenie bieżącej aplikacji Firebase. Jeśli Firebase nie został zainicjalizowany, dostęp do usługi spowoduje wyjątek.
Wielu deweloperów dodaje też tymczasowo zależność Analytics i sprawdza, czy w konsoli pojawiło się zdarzenie, ale samo odwołanie do usługi w kodzie już potwierdza poprawne połączenie.
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}")
}Typowe błędy konfiguracji
Jeśli Firebase nie działa, najpierw sprawdź:
- Nieprawidłową nazwę pakietu — applicationId aplikacji musi odpowiadać nazwie zarejestrowanej w Firebase.
- Brak pliku google-services.json — musi znajdować się w folderze
app/. - Brak zastosowania wtyczki w pliku kompilacji modułu.
- Brak uprawnienia INTERNET w manifeście.
- Brak dodanego odcisku SHA-1 — będzie wymagany później podczas logowania za pomocą Google.
Szybkie sprawdzenie
Do czego służy plik google-services.json?
Podsumowanie: konfiguracja ukończona
Połączyłeś aplikację na Androida z Firebase. Najważniejsze kroki:
- Utwórz projekt w konsoli Firebase i zarejestruj aplikację za pomocą nazwy pakietu.
- Dodaj
google-services.jsondo folderuapp/. - Zastosuj wtyczkę Google Services i dodaj Firebase BoM oraz potrzebne biblioteki.
- Firebase inicjalizuje się automatycznie — uzyskuj dostęp do usług za pomocą
Firebase.auth,Firebase.firestoreitd. - Nie zapomnij o uprawnieniu INTERNET.
W następnej lekcji zalogujesz użytkowników za pomocą Firebase Authentication.
Często zadawane pytania
Czy lekcja „Konfiguracja Firebase” jest bezpłatna?
Tak — pełny tekst „Konfiguracja Firebase” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Android Academy, przejdź na CoddyKit PRO. Kurs Android Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Konfiguracja Firebase”?
Połącz swoją aplikację z projektem Firebase Ćwiczysz Android Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Android Academy?
Nie wymagamy żadnego doświadczenia. Android Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Konfiguracja Firebase”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Android Academy?
Tak. Każda lekcja Android Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Konfiguracja Firebase
- Uwierzytelnianie Firebase
- Podstawy Cloud Firestore
- Wysyłanie za pomocą Cloud Messaging