0Pricing
Android Academy · Lekcja

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 use

Styl 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.json do folderu app/.
  • 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.firestore itd.
  • 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

  1. Konfiguracja Firebase
  2. Uwierzytelnianie Firebase
  3. Podstawy Cloud Firestore
  4. Wysyłanie za pomocą Cloud Messaging
← Powrót do Android Academy