Android Academy · Oppitunti

Firebasen käyttöönotto

Yhdistäkää sovelluksenne Firebase-projektiin.

Oppitunti 1/413 vaihetta

Firebasen käyttöönotto on ilmainen Android Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Android Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Android Academy-kurssilla on yhteensä 4 oppituntia.

Mikä Firebase on

Firebase on Googlen sovelluskehitysalusta. Se tarjoaa Android-sovelluksellesi valmiin taustajärjestelmän, joten sinun ei tarvitse rakentaa ja ylläpitää palvelimia itse.

Tässä kurssissa yhdistät sovelluksen Firebaseen ja käytät sitten kolmea sen suosituinta palvelua:

  • Authentication — kirjaa käyttäjät sisään sähköpostilla tai Google-tilillä
  • Cloud Firestore — reaaliaikainen NoSQL-tietokanta
  • Cloud Messaging (FCM) — push-ilmoitukset

Tässä ensimmäisessä oppitunnissa keskitytään kokonaan käyttöönottoon: projektin luomiseen ja sen yhdistämiseen Android-sovellukseen.

Firebase-projektin luominen

Kaikki alkaa Firebase-konsolista osoitteessa console.firebase.google.com.

  • Napsauta Add project ja anna projektille nimi.
  • Jokainen Firebase-projekti vastaa taustalla Google Cloud -projektia.
  • Yksi Firebase-projekti voi sisältää useita sovelluksia (Android, iOS ja web).

Rekisteröi projektin sisällä Android-sovelluksesi käyttämällä sen sovellustunnusta (paketin nimeä), esimerkiksi com.coddykit.demo. Tämän tunnuksen perusteella Firebase tietää, mistä sovelluksesta pyyntö tulee.

google-services.json-tiedosto

Kun rekisteröit Android-sovelluksesi, Firebase luo asetustiedoston nimeltä google-services.json.

Lataa tiedosto ja sijoita se sovellusmoduulin juurikansioon (build.gradle.kts-tiedoston viereen app/-kansion sisälle).

JSON-tiedosto sisältää projektin tunnuksen, API-avaimet ja sovelluksen rekisteröintitiedot. Koontityökalut lukevat sen automaattisesti — tiedostoa tarvitsee avata itse vain erittäin harvoin.

// 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 -lisäosan lisääminen

Jotta Gradle osaa lukea tiedoston google-services.json, lisää Google Services Gradle -lisäosa.

Nykyaikainen tapa on käyttää plugins-lohkoa version catalogien kanssa. Ilmoita lisäosa juuren koontitiedostossa (käyttämällä apply false) ja ota se sitten käyttöön moduulin koontitiedostossa.

// 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
}

Lisäosan ottaminen käyttöön moduulissa

Ota lisäosa käyttöön app-moduulin tiedostossa build.gradle.kts, jotta se käsittelee asetustiedoston koonnin aikana.

Ilman tätä riviä Firebase-alustus epäonnistuu ajon aikana, vaikka kaikki muu olisi oikein.

// app/build.gradle.kts (module level)
plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    id("com.google.gms.google-services")
}

Firebase BoM

Firebasella on useita kirjastoja (Auth, Firestore, Messaging, Analytics...). Niiden versioiden pitäminen synkronoituina on helppoa Bill of Materials (BoM) -kokonaisuuden avulla.

Ilmoita BoM kerran ja lisää sitten kukin Firebase-riippuvuus ilman versiota — BoM valitsee puolestasi yhteensopivat versiot.

// 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")
}

Automaattinen alustus

Saatat olettaa, että Application-luokassa on kutsuttava jotakin Firebase.initialize()-funktion kaltaista. Nykyaikaisella SDK:lla tätä ei yleensä tarvitse tehdä.

Google Services -lisäosa luo automaattisesti alustuspalvelun, joka suoritetaan sovelluksen käynnistyessä käyttäen tiedostoa google-services.json. Kun Activity käynnistyy, Firebase on jo valmis.

// 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 -tyyli

Firebase tarjoaa idiomattiset Kotlin-käyttöoikeudet Firebase-olion kautta. FirebaseFirestore.getInstance()-kutsun sijaan kirjoitat Firebase.firestore.

Nämä laajennukset ovat luettavampia ja niitä suositellaan nykyaikaisessa Android-koodissa.

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()

Internet-luvan lisääminen

Firebase kommunikoi Googlen palvelinten kanssa, joten sovellus tarvitsee verkkoyhteyden. Ilmoita manifestissa INTERNET-lupa.

Tämä on normaali lupa, joka myönnetään automaattisesti asennuksen yhteydessä — ajonaikaista lupapyyntöä ei tarvita.

<!-- AndroidManifest.xml -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="android.permission.INTERNET" />

    <application ... >
        <!-- activities, services -->
    </application>
</manifest>

Yhteyden tarkistaminen

Nopea tapa varmistaa asetusten toimivuus on lukea jokin arvo tai tarkistaa nykyinen Firebase-sovellus. Jos Firebasea ei olisi alustettu, palvelun käyttäminen aiheuttaisi poikkeuksen.

Monet kehittäjät lisäävät myös tilapäisesti Analytics-riippuvuuden ja etsivät konsolista tapahtumaa savutestinä, mutta pelkkä palvelun käyttäminen koodissa osoittaa jo yhteyden toimivan.

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}")
}

Yleisiä käyttöönottovirheitä

Jos Firebase ei toimi, tarkista ensin seuraavat asiat:

  • Väärä paketin nimi — sovelluksen applicationId-arvon on vastattava rekisteröityä arvoa.
  • google-services.json puuttuu — tiedoston on oltava app/-kansiossa.
  • Lisäosa unohtui ottaa käyttöön moduulin koontitiedostossa.
  • INTERNET-lupa puuttuu manifestista.
  • SHA-1-sormenjälkeä ei ole lisätty — sitä tarvitaan myöhemmin Google-sisäänkirjautumiseen.

Pikatarkistus

Mikä on google-services.json-tiedoston tarkoitus?

Kertaus: käyttöönotto valmis

Yhdistit Android-sovelluksen Firebaseen. Tärkeimmät vaiheet:

  • Luo projekti Firebase-konsolissa ja rekisteröi sovelluksesi paketin nimen perusteella.
  • Lisää google-services.json app/-kansioon.
  • Ota Google Services -lisäosa käyttöön ja lisää Firebase BoM sekä tarvitsemasi kirjastot.
  • Firebase alustetaan automaattisesti — käytä palveluita esimerkiksi Firebase.auth- ja Firebase.firestore-kutsujen avulla.
  • Älä unohda INTERNET-lupaa.

Seuraavaksi kirjaamme käyttäjiä sisään Firebase Authenticationin avulla.

Aloita maksutta

Opi Kotlin tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
36
Oppitunnit
152

Usein kysytyt kysymykset

Onko oppitunti ”Firebasen käyttöönotto” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Android Academy-oppimispolun 3 oppituntia, myös oppitunnin “Firebasen käyttöönotto”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Android Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Firebasen käyttöönotto”?

Yhdistäkää sovelluksenne Firebase-projektiin. Harjoittelet Android Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Android Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Android Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Firebasen käyttöönotto”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Android Academy-oppitunnilla?

Kyllä. Jokainen Android Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Firebasen käyttöönotto
  2. Firebase Authentication
  3. Cloud Firestoren perusteet
  4. Push-viestit Cloud Messagingilla
← Takaisin: Android Academy