Aplicațiile mobile au nevoie de un server back-end pentru a efectua activități cum ar fi autentificarea utilizatorilor și sincronizarea datelor utilizatorilor pe mai multe dispozitive. Crearea unui astfel de server, totuși, necesită un set de competențe pe care majoritatea dezvoltatorilor independenți de aplicații le lipsește. Din fericire, există mai multe back-end ca platforme de servicii, numite adesea BaaS, pe care le puteți utiliza astăzi. Firebase-ul Google este o astfel de platformă.
Firebase oferă servicii esențiale, cum ar fi analiza, raportarea la accidente, autentificarea utilizatorilor și mesageria în cloud, fără costuri. Serviciile sale gratuite includ o bază de date NoSQL în timp real, găzduire de fișiere și găzduire web statică.
În acest tutorial, vă vom arăta cum să adăugați autentificarea utilizatorilor, analizele și stocarea de date la distanță în aplicația dvs. Android utilizând Firebase.
Pentru a urmări, veți avea nevoie de:
Firebase Analytics este una dintre cele mai populare soluții de analiză pentru aplicații mobile disponibile astăzi. Folosind-o, puteți obține o înțelegere precisă a utilizatorilor dvs. și a modului în care utilizează aplicația dvs..
Ultimele versiuni de canare ale aplicației Android Studio au built-in suport pentru Firebase Analytics. Aceasta înseamnă că puteți adăuga Firebase Analytics la proiectul dvs. fără a fi nevoie să părăsiți Android Studio.
Pentru a începe integrarea Firebase Analytics cu proiectul dvs., faceți clic pe Instrumente> Firebase. Vi se va prezenta următoarele Asistent fereastră:
Click pe Google Analytics și apoi Conectați un eveniment Google Analytics.
Acum trebuie să asociați proiectul dvs. Android Studio cu un proiect Firebase. Prin urmare, faceți clic pe Conectați-vă la Firebase buton.
În dialogul care apare, veți putea vedea toate proiectele Firebase existente. Puteți alege una dintre ele sau puteți alege să creați un nou proiect. Pentru moment, vă sugerez să alegeți Creați un nou proiect Firebase și dă un nume unic proiectului.
Odată ce apăsați butonul Conectați-vă la Firebase care este în interiorul dialogului, Android Studio va efectua automat toate modificările de configurare necesare, cum ar fi generarea unui google-services.json fișier și încărcarea unei amprente SHA1.
Acum puteți apăsa butonul Adăugați Google Analytics la aplicația dvs. pentru a adăuga pluginul Firebase și dependența Firebase Core de proiectul dvs. Android Studio vă va arăta exact modificările care vor fi făcute build.gradle fișiere.
presa Acceptați modificările pentru a finaliza configurația.
După ce ați configurat Firebase Analytics pentru aplicația dvs., nu trebuie să scrieți niciun cod suplimentar dacă sunteți mulțumit doar de evenimentele analitic generate automat, cum ar fi utilizatorul care vă deschide aplicația pentru prima dată, folosindu-l pentru mai mult de 10 secunde, efectuând o achiziție în aplicație sau dezinstalând aplicația. Prin urmare, puteți rula aplicația acum într-un emulator sau într-un dispozitiv real - și în următoarele 24 de ore veți putea vedea jurnalele de analiză în consola Firebase.
Dacă doriți să analizați mai atent comportamentele utilizatorilor dvs., puteți genera manual evenimente de analiză personalizată utilizând logEvent ()
metodă a FirebaseAnalytics
clasă. Metoda așteaptă doi parametri: un șir care specifică numele evenimentului personalizat și a Pachet
care conține detalii despre eveniment sub formă de perechi cheie-valoare.
De exemplu, dacă doriți să generați un eveniment numit my_custom_event de fiecare dată când un utilizator dă clic pe un anumit buton, va trebui să adăugați următorul cod la butonul de manipulare a clicurilor al butonului:
// Creați o instanță a FirebaseAnalytics FirebaseAnalytics fa = FirebaseAnalytics.getInstance (aceasta); // Creați un pachet care conține informații despre // evenimentul de analiză Bundle eventDetails = new Bundle (); eventDetails.putString ("my_message", "A apăsat butonul special"); // Înregistrați evenimentul fa.logEvent ("my_custom_event", eventDetails);
În cea mai mare parte, evenimente personalizate sunt indistinguizabile față de evenimentele colectate automat în consola Firebase.
Rețineți că numele evenimentului sunt sensibile la minuscule. Prin urmare, este o idee bună să definiți toate numele evenimentului ca șiruri de caractere constante. Alternativ, puteți utiliza constante predefinite ale numelor de evenimente care sunt disponibile în FirebaseAnalytics.Event
clasă.
Autentificarea utilizatorilor este o cerință importantă pentru majoritatea aplicațiilor Android astăzi. Prin faptul că vă puteți autentifica în siguranță utilizatorii și, astfel, le puteți identifica în mod unic, vă puteți oferi o experiență personalizată pe baza intereselor și preferințelor acestora. De asemenea, puteți să vă asigurați că nu au probleme la accesarea datelor private în timp ce utilizează aplicația dvs. de pe mai multe dispozitive.
Firebase Auth vă permite să vă autentificați utilizatorii folosind o varietate de mecanisme de conectare. În acest tutorial, vă vom arăta cum să permiteți utilizatorilor dvs. să se conecteze la aplicația dvs. utilizând adresele de e-mail și parolele acestora.
Pentru a putea utiliza Firebase Auth în proiectul Android Studio, trebuie să adăugați următoarele compila
dependența față de aplicaţia
ale modulului build.gradle fişier.
compile 'com.google.firebase: firebase-auth: 9.4.0'
Implicit, Firebase nu permite autentificarea utilizatorilor. Prin urmare, trebuie să activați manual autentificarea bazată pe parolă în consola Firebase. Pentru a face acest lucru, navigați la Auth și apăsați pe Configurați metoda de conectare buton. Veți vedea acum o listă a tuturor furnizorilor de conectare disponibili.
Alege E-mail / parolă, activați-o și apăsați Salvați.
Cu autentificare bazată pe parolă, noii utilizatori trebuie să se înregistreze prin furnizarea unei adrese de e-mail unice și a unei parole. Pentru a adăuga această funcție la aplicația dvs., puteți utiliza funcția createUserWithEmailAndPassword ()
metodă a FirebaseAuth
clasă. După cum sugerează și numele, metoda așteaptă ca argumente o adresă de e-mail și o parolă.
Pentru a putea determina rezultatul createUserWithEmailAndPassword ()
metoda, trebuie să adăugați un OnCompleteListener
la utilizarea acestuia addOnCompleteListener ()
metodă. Următorul fragment de cod vă arată cum să înregistrați un utilizator nou și, de asemenea, să indicați dacă procesul de înregistrare a fost finalizat cu succes:
FirebaseAuth.getInstance () .createUserWithEmailAndPassword (adresa de e-mail, parola) .addOnCompleteListener (noul OnCompleteListener() @Override publice void onComplete (@NonNull Task task) if (task.isSuccessful ()) // Utilizator înregistrat cu succes);
Rețineți că este responsabilitatea dvs. să validați adresele de e-mail și să vă asigurați că utilizatorii utilizează parole puternice.
Puteți să vă uitați la adresele de e-mail ale tuturor utilizatorilor înregistrați cu succes în Utilizatori fila consolei Firebase Auth secțiune.
După înregistrarea reușită, utilizatorul este conectat automat. Utilizatorul va continua să rămână conectat chiar dacă aplicația va reporni. Cu toate acestea, aplicația dvs. trebuie să includă un cod care permite utilizatorilor să se conecteze manual utilizând adresa de e-mail și parola pe care au specificat-o în timpul procesului de înregistrare.
Pentru a semna un utilizator în manual, trebuie să utilizați signInWithEmailAndPassword ()
metodă a FirebaseAuth
clasă. Metoda așteaptă o adresă de e-mail și o parolă ca singurele argumente și returnează a Sarcină
obiect. Prin adăugarea unui OnCompleteListener
la acesta, puteți verifica dacă semnalul a fost încheiat cu succes.
Pentru a evita semnarea unui utilizator care a fost deja conectat, trebuie să apelați signInWithEmailAndPassword ()
metoda numai în cazul în care curentul FirebaseUser
este nul
.
Următorul fragment de cod vă arată cum să semnați un utilizator în:
FirebaseAuth autor = FirebaseAuth.getInstance (); dacă (auth.getCurrentUser ()! = null) // Ați semnat deja // Nu faceți nimic altceva auth.signInWithEmailAndPassword (emailAddress, password) .addOnCompleteListener (noul OnCompleteListener() @Override publice void onComplete (@NonNull Task sarcină) if (task.isSuccessful ()) // Utilizatorul a fost conectat cu succes);
Pentru a semna un utilizator, puteți apela pur și simplu Sign out()
metodă a FirebaseAuth
clasă.
. FirebaseAuth.getInstance () deconectați-vă ();
Una dintre cele mai puternice caracteristici ale platformei Firebase este baza de date în timp real și este numită pentru un motiv bun: toate operațiile de scriere efectuate pe aceasta sunt disponibile instantaneu tuturor clienților care o observă. Cu o astfel de bază de date, puteți crea aplicații care să permită utilizatorilor să treacă fără probleme de la un dispozitiv la altul și, de asemenea, să colaboreze instantaneu cu alți utilizatori.
Înainte de a utiliza baza de date în timp real, va trebui să adăugați următoarele compila
dependență față de dvs. aplicaţia
ale modulului build.gradle fişier:
compile 'com.google.firebase: baza de date firebase: 9.4.0'
Vă puteți gândi la baza de date în timp real ca obiect JSON. Aceasta înseamnă că puteți adăuga perechi cheie-valoare în ea, unde cheile sunt întotdeauna șiruri de caractere, iar valorile sunt primitive, matrice sau alte obiecte JSON.
Înainte de a scrie în baza de date în timp real, trebuie să obțineți o trimitere la acesta folosind getInstance ()
metodă a FirebaseDatabase
clasă. Apoi, puteți obține o referință la orice cale din interiorul bazei de date folosind getReference ()
metodă. Calea poate conține fie o singură tastă, fie mai multe chei aranjate ierarhic.
Odată ce ai DatabaseReference
la o cale, puteți să-i setați valoarea folosind SetValue ()
metodă.
Următorul fragment de cod vă arată cum să adăugați o pereche simplă cheie-valoare în baza de date:
FirebaseDatabase db = FirebaseDatabase.getInstance (); Bază de referință ref = db.getReference ("mesaj"); // Key ref.setValue ("Acesta este un mesaj de test"); // Valoare
Dacă mergeți la Bază de date din consola Firebase, puteți vizualiza toate datele care se află în baza de date în timp real.
Pentru a citi o valoare din baza de date în timp real, trebuie să atașați un observator asincron la cheia sau calea asociată. Mai precis, trebuie să atașați a ValueEventListener
la a DatabaseReference
obiect folosind addValueEventListener ()
metodă.
onDataChange ()
metodă a ValueEventListener
vă oferă acces la un serviciu DataSnapshot
obiect al cărui getvalue ()
metoda poate fi utilizată pentru a obține ultima valoare a cheii.
De exemplu, iată cum puteți prelua valoarea pe care am setat-o în etapa anterioară:
FirebaseDatabase db = FirebaseDatabase.getInstance (); Bază de referință ref = db.getReference ("mesaj"); // Key // Atașați ascultătorul ref.addValueEventListener (noul ValueEventListener () @Override public void onDataChange (DataSnapshot dataSnapshot) // Retrieva ultima valoare String message = dataSnapshot.getValue (String.class); @Override public void onCancelled ( DatabaseError databaseError) // Eroare de manipulare);
Rețineți că o dată ValueEventListener
este adăugat onDataChange ()
metoda este declanșată de fiecare dată când valoarea pe care o observă se schimbă.
Platforma Firebase elimină necesitatea unui server back-end și vă permite să vă concentrați asupra construirii de aplicații mai bune. În acest tutorial, ați învățat cum să îl utilizați pentru a adăuga analiza, autentificarea utilizatorului și stocarea de date în timp real în aplicația dvs. Android.
Pentru a afla mai multe despre Firebase, vă puteți referi la documentația oficială. Puteți consulta, de asemenea, tutorialul nostru privind utilizarea Firebase Crash Reporting în Android: