Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Android SDK
Code

Začíname s Firebase pre Android

by
Difficulty:BeginnerLength:MediumLanguages:

Slovak (Slovenčina) translation by Ryan (you can also view the original English article)

Mobilné aplikácie potrebujú server aby vykonali úlohy ako sú autentifikácia alebo synchronizácia dát medzi zariadeniami. Avšak tvorba servera vyžaduje nejaké zručnosti ktoré väčšina nezávislých vývojárov nemá. Našťastie existujú platformy, ktoré sa nazývajú “back-end as a service” (skrátene BaaS). Firebase od Googlu je jednou z nich.

Firebase ponúka podstatné služby ako sú analytiká, nahlasovanie chýb, autentifikácia a cloud messaging bez nejakých nákladov. Ich freemium služby zahŕňajú NoSQL databázu v reálnom čase, hosting súborov a hosting statických stránok.

V tomto návode si ukážeme ako pridať autentifikáciu, analytiká a diaľkovú úschovú dát do vašej Android aplikácie pomocou Firebase.

Podmienky

Ak chcete nasledovať tento návod, potrebujete:

  • Android Studio 2.2 RC2 alebo vyššie

1. Používanie Firebase Analytics

Firebase Analytics je jednou z najpopulárnejších riešení analytík pre mobilné aplikácie. Použitím tejto služby získate presné informácie o vašich používateľoch a ich používaní vašej aplikácie.

1. krok: Nastavenie Firebase Analytics

Najnovšie testovacie verzie Android Studia majú vstavanú podporu pre Firebase Analytics. To znamená, že do vášho projektu môžete pridať Firebase Analytics bez toho, aby ste opustili Android Studio.

Keď chcete začať integrovať Firebase Analytics do vášho projektu, choďte na Tools > Firebase. Malo by sa vám ukázať nové okno Assistant:

Firebase Assistant window

Kliknite na Analytics a potom na Log an Analytics event.

Teraz musíte prepojiť vás projekt na Android Studiu spolu s projektom na Firebase. Teraz kliknite na tlačidlo Connect to Firebase.

V dialógovom okne by ste mali vidieť všetky vaše projekty na Firebase. Môžete si vybrať jeden z nich alebo môžete vytvoriť nový. Pre tento prípad klikneme na možnosť Create new Firebase project a nazveme ho nejakým unikátnym názvom.

Connect to Firebase dialog

Keď kliknete na tlačidlo Connect to Firebase, ktoré je vo vnútri dialógu, Android Studio automaticky vytvorí požadované zmeny v konfigurácii ako je generácia súboru google-services.json a odovzdanie odtlačku typu SHA1.

Teraz môžete kliknúť na tlačidlo Add Analytics to your app aby ste do vášho projektu pridali rozšírenie Firebase a závislosť Firebase Core. Android Studio vám ukáže aké zmeny budú vykonané do súborov build.gradle.

buildgradle changes

Kliknite na Accept Changes pre dokončenie konfigurácie.

2. krok: Vytváranie udalostí

Teraz, keď máme v našej aplikácii nastavený Firebase Analytics a ste s konfiguráciou spokojný, nepotrebujeme písať žiaden ďalší kód pre udalosti ako je použitie aplikácie po prvý krát, viac ako 10 sekúnd, vykonanie nákupu v aplikácii alebo odinštalovanie aplikácie. Takže teraz tú aplikáciu môžeme spustiť—v emulátore alebo na naozajstnom zariadení—a do 24 hodín by sme mali vidieť zaznamenané udalosti v konzole Firebase.

Keď chcete bližšie zanalyzovať správanie vašich používateľov, môžete vytvoriť vlastné udalosti pomocou metódy logEvent() triedy FirebaseAnaytics. Metóda prijíma dva parametre: reťazec spolu s názvom vlastnej udalosti a Bundle obsahujúci detaily o udalosti vo forme párov kľúč-hodnota.

Napríklad, keď chcete vytvoriť udalosť zvanú my_custom_event, ktorá bude zaznamenaná vždy, keď používateľ klikne na určené tlačidlo, musíte pridať tento kód do udalosti kliknutia tlačidla:

Vo väčšine prípadov sú v konzole vlastné udalosti nerozoznateľné od automaticky vytvorených udalostí.

Custom event in the console

Vedzte, že názvy udalostí sa rozlišujú medzi malými a veľkými písmenami. Práve preto je dobrý nápad nazvať všetky vaše udalosti podobne ako konštanty. Taktiež môžete použiť predurčené názvy, ktoré sú dostupné pod triedou FirebaseAnalytics.Event.

2. Používame Firebase Auth

Autentifikácia používateľov je dôležitou súčasťou väčsiny Android aplikácií. Keď môžete bezpečne autentifikovať používateľov—a taktiež ich identifikovať—môžete im ponúknuť prisposobený zážitok podľa ich záujmov a preferencií. Taktiež si musíte byť istí, že nebudú mať problém pristupovať k ich súkromným dátam zatiaľčo používajú vašu aplikáciu vo viacerých zariadeniach.

Pomocou Firebase Auth môžete autentifikovať vašich používateľov pomocou rôznych prihlasovacích mechanizmov. V tomto návode si ukážeme ako sa vaši používatelia môžu prihlásiť do aplikácie pomocou ich emailu a hesla.

1. krok: Konfigurácia projektu

Aby ste vo vašom projekte mohli používať Firebase Auth, potrebujete pridať závislosť compile do súbora build.gradle modulu app.

2. krok: Zapíname autentifikáciu pomocou hesla

Predvolene Firebase nemá zapnutú autentifikáciu používateľov. Práve preto musíte manuálne zapnuť prihlasovanie heslom v konzole Firebase. Pre zapnutie choďte do sekcie Auth a kliknite na tlačidlo Set up sign-in method. Teraz uvidíte zoznam dostupných poskytovateľov autentifikácie.

List of available providers

Vyberte Email/Password, zapnite ho a kliknite na Save.

3. krok: Registrácia používateľov

Vďaka prihlasovaniu heslom sa noví používatelia musia zaregistrovať poskytnutím nového emailu a hesla. Keď do vašej aplikácie chcete pridať túto funkcionalitu, môžete použiť metódu createUserWithEmailAndPassword() triedy FirebaseAuth. Ako názov tomu napovedá, metóda prijíma emailovú adresu a heslo ako jej argumenty.

Keď chcete vedieť výsledok metódy createUserWithEmailAndPassword(), musíte do metódy prepojiť OnCompleteListener pomocou metódy addOnCompleteListener(). Tento útržok kódu ukazuje ako zaregistrovať nového používateľa ako rozoznať úspešnú registráciu:

Vedzte, že je vašou zodpovednosťou overiť si platnosť e-mailových adries a silu hesla.

Môžete sa pozrieť na e-mailové adresy všetkých zaregistrovaných používateľov na karte Users v sekcii Auth na konzole Firebase.

List of registered email addresses

4. krok: Prihlasovanie používateľa

Po úspešnej registrácii je používateľ automaticky prihlásený. Používateľ bude stále prihlásený aj po reštarte aplikácie. Avšak vaša aplikácia musí obsahovať kód, ktorá povoľuje používateľom prihlásiť sa pomocou e-mailu a hesla, ktoré určili počas procesu registrácie.

Pre manuálne prihlásenie musíte použiť metódu signInWithEmailAndPassword() triedy FirebaseAuth. Metóda prijíma e-mail a heslo ako ich argumenty a vracia objekt Task<AuthResult>. Keď chcete vedieť, či prihlásenie bolo úspešné, musíte do metódy pridať OnCompleteListener.

Aby sa používateľ odznova neprihlasoval do aplikácie, musíme zavolať metódu signInWithEmailAndPassword() iba ak je prítomný objekt FirebaseUser nastavený na hodnotu null.

Tento úržok kódu vykonáva proces prihlasovania používateľa:

5. krok: Odhlásenie používateľa

Keď chcete odhlásiť používateľa, stačí zavolať metódu signOut() triedy FirebaseAuth.

3. Používanie Firebase databázy v reálnom čase

Jednou z vlastností platformy Firebase je jeho databáza v reálnom čase a volá sa to tak, pretože všetky vykonané operácie sú okamžite dostupné pre všetkých klientov. S takouto databázov môžete vytvárať aplikácie, ktoré povoľujú používateľom bezproblémovo prejsť z jedného zariadenia do iného a taktiež povoľuje okamžitú spoluprácu medzi používateľmi.

1. krok: Konfigurácia projektu

Predtým, než začneme používať databázu v reálnom čase musíme pridať závislosť compile to súbora build.gradle modulu app:

2. krok: Zápis dát

Môžete si myslieť o databáze v reálnom čase ako o JSON objekte. To znamená, že do nej môžete pridať páry kľúč-hodnota, kde kľúče sú vždycky reťazce a hodnoty sú buď primitíva, polia alebo iné JSON objekty.

Predtým, než začneme písať do databázy musíme získať jej referenciu pomocou metódy getInstance() triedy FirebaseDatabase. Pomocou metódy getReference() môžeme získať referenciu k akejkoľvek ceste. Cesta môže obsahovať buď jeden alebo viac kľúčov, ktoré sú usporiadané hierarchicky.

Keď získate DatabaseReference, môže nastaviť jej hodnotu pomocou metódy setValue().

Tento úržok kódu pridáva jednoduchý pár kľúč-hodnota do databázy:

Keď pôjdete do sekcie Database v konzole Firebase, uvidíte všetky dáta, ktoré sú uložené v databáze v reálnom čase.

Contents of realtime database in console

3. krok: Čítanie dát

Keď chcete čítať dáta z databázy, musíte do nej pripojiť asychronného pozorovateľa do prepojeného kľúča alebo cesty. Presnejšie musíte prepojiť ValueEventListener do objektu DatabaseReference pomocou metódy addValueEventListener().

Metóda onDataChange() objektu ValueEventListener vám dáva prístup k objektu DataSnapshot, kde môžete získať súčasnú hodnotu kľúča pomocou metódy getValue().

Napríklad, takto získate hodnotu, ktorú sme nastavili v predchadzajúcom kroku:

Vedzte, že keď sa pridá ValueEventListener, metóda onDataChange() je zavolaná vždycky, keď sa pozorovaná hodnota zmení.

Záver

Platforma Firebase odstraňuje potrebu vytvárať server a umožňuje vám sa zamerať na tvorbu lepších aplikácií. V tomto návode sme sa naučili ako pridať analytiká, autentifikáciu používateľov a diaľové úložisko dát v reálnom čase do vašej Android aplikácie.

Keď chcete vedieť viac o Firebase, pozrite sa na oficiálnu dokumentáciu. Taktiež sa môžete pozrieť na náš návod ako používať Firebase Crash Reporting na Androide:


Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.