Firebase Remote Config pentru aplicații Android

Firebase Remote Config este un serviciu unic conceput pentru a vă oferi un control fin în cazul aplicațiilor în timp ce acestea sunt instalate pe dispozitivele utilizatorilor. Prin utilizarea acesteia, puteți modifica în mod fiabil aspectul și comportamentul aplicațiilor dvs. în întreaga bază de utilizatori fără a publica actualizări pe Google Play.

Dacă vă gândiți că acest lucru ar putea fi un risc de securitate, permiteți-mi să vă asigur că Remote Config nu vă permite să introduceți de la distanță cod nou în aplicațiile dvs. Vă permite doar să modificați, prin intermediul consolei Firebase, valorile anumitor variabile pre-decise care sunt deja prezente în cod. De fapt, vă puteți gândi la variabile ca variabile de la server la care depinde aplicația dvs..

În acest tutorial, vă vom arăta cum să utilizați unele dintre cele mai puternice caracteristici ale Remote Config în aplicațiile Android.

1. De ce să utilizați configurația de la distanță?

API-ul Remote Config este în primul rând menit să fie folosit ca o alternativă la valorile simple codate greu în aplicațiile dvs. Exemple de astfel de valori pot fi culorile, dimensiunile, întârzierile și etichetele.

Pentru a înțelege mai bine importanța API, luați în considerare următorul scenariu: Creați și publicați o aplicație cu valori codate greu pentru dimensiunea fontului și culoarea tuturor etichetelor sale. Câteva zile mai târziu, utilizatorii dvs. vă spun că preferă o dimensiune mai mare a fontului și o altă culoare a fontului. Deoarece valorile sunt codate greu, pentru a le modifica, va trebui să modificați codul, să îl construiți din nou, oferindu-i un nou număr de versiune și să-l republicați pe Google Play. E o mulțime de lucruri pentru o astfel de remediere minoră. În plus, dacă utilizatorii își schimbă mintea, va trebui să o faceți din nou!

Cu Firebase Remote Config, puteți face dimensiunea fontului și culoarea fontului variabilele configurabile de la distanță și utilizați consola Firebase pentru a schimba rapid valorile lor ori de câte ori doriți, ori de câte ori doriți. Această abordare modernă asigură, de asemenea, că schimbările se întâmplă cât mai curând posibil pe dispozitivele tuturor utilizatorilor dvs., fără ca aceștia să descarce manual actualizările.

2. Configurarea proiectului

Cu Firebase Assistant pentru Android Studio, adăugarea Remote Config la proiectul dvs. durează doar câteva clicuri.

Începeți prin a merge la Instrumente> Firebase și alegerea Remote Config> Configurați Firebase Remote Config în panoul care apare. 

Apoi, apăsați pe Conectați-vă la Firebase pentru a asocia proiectul dvs. Android Studio cu un proiect Firebase. În dialogul care apare, selectați Creați un nou proiect Firebase și apăsați butonul Conectați-vă la Firebase buton.

După o conexiune reușită, puteți apăsa pe Adăugați Remote Config la aplicația dvs. pentru a adăuga toate dependențele necesare la fișierele Gradle ale proiectului. Când vi se solicită, apăsați pe Acceptați modificările pentru a finaliza configurarea proiectului.

3. Definirea parametrilor Config

Toate variabilele pe care doriți să le puteți modifica de la distanță trebuie să fie definite în proiectul dvs. Firebase ca parametri Remote Config. Deci, utilizați un browser pentru a vă conecta la consola Firebase, derulați în jos rezumatul proiectului pentru a găsi Remote Config card și apăsați pe Incepe buton.

În ecranul de întâmpinare al serviciului Remote Config, apăsați pe Adăugați primul parametru pentru a începe adăugarea variabilelor.

Să definim acum doi parametri: marimea fontului și font_color. Primul trebuie să fie un număr, iar cel din urmă un șir. Asigurați-vă că atribuiți valorile implicite rezonabile ambelor.

Acum ar trebui să vedeți cei doi parametri pe care i-ați creat. Cu toate acestea, valorile lor nu vor fi disponibile pentru aplicația dvs. decât dacă le publicați. Deci, apăsați tasta Publicați modificările buton.

4. Pregătirea unui aspect

Pentru a putea utiliza parametrii pe care i-am creat, adăugați a TextView widget care afișează un mesaj în fișierul XML al aranjamentului activității. Dacă ați creat un nou proiect Android Studio pentru acest tutorial, nu ezitați să utilizați "Hello World" TextView widgetul disponibil în mod prestabilit, dar asigurați-vă că îi dați un ID.

În interiorul onCreate () metodă a activității dvs., puteți obține acum o referință la widget folosind findViewById () metodă.

val myMessage = findViewById(R.id.my_message)

5. Inițializarea configurării la distanță

Aplicația noastră trebuie să poată funcționa corect prima dată când este deschisă, chiar dacă utilizatorul nu este conectat la Internet. Prin urmare, trebuie să cunoască atât numele, cât și valorile implicite ale parametrilor Remote Config. Crearea unei hărți pentru a le stoca este o idee bună.

val implicit = mapOf ("font_size" la 18, "font_color" la "# ff0000")

Rețineți că numele și valorile implicite trebuie să fie identice cu cele ale corespondenților din consola Firebase.

Acum putem inițializa un client pentru serviciul Remote Config folosind implicite Hartă. Pentru a face acest lucru, mai întâi creați o instanță a clientului sunând la getInstance () metodă a FirebaseRemoteConfig clasa, apoi treceți harta la ea setDefaults () metodă.

val remoteConfig = FirebaseRemoteConfig.getInstance () remoteConfig.setDefaults (implicit)

În acest moment, clientul Remote Config este gata și putem începe să folosim valorile pe care le furnizează.

6. Utilizarea valorilor implicite

FirebaseRemoteConfig instanța oferă câteva metode cu nume intuitiv pe care le puteți utiliza pentru a prelua valorile parametrilor Remote Config. De exemplu, puteți apela getDouble () pentru a obține valori care sunt numere. În mod similar, puteți apela getString () pentru a obține valori care sunt șiruri de caractere.

Următorul cod vă arată cum să preluați valorile marimea fontului și font_color parametrii.

val fontSize = remoteConfig.getDouble ("font_size") val fontColor = remoteConfig.getString ("font_color")

Odată ce aveți valorile, sunteți liber să le folosiți în orice fel doriți. Pentru moment, să le folosim pentru a schimba aspectul mesajul meu widget.

myMessage.textSize = fontSize.toFloat () myMessage.setTextColor (Color.parseColor (fontColor))

Dacă rulați aplicația acum, veți putea vedea TextView widget utilizând valorile implicite ale parametrilor Remote Config.

7. Preluarea ultimelor valori

În acest moment, clientul Remote Config doar returnează valori din harta pe care am trecut-o. Pentru a le permite să utilizeze valorile pe care le primește de la Firebase, trebuie să le numim activateFetched () metodă.

remoteConfig.activateFetched ()

activateFetched () metoda, însă, nu aduce valori de la Firebase. Prin urmare, trebuie să sunăm fetch () metoda următoare, care rulează în mod asincron, pentru a prelua valorile.

remoteConfig.fetch ()

Dacă executați aplicația în acest moment, va utiliza în continuare valorile implicite. Cu toate acestea, dacă așteptați câteva secunde, închideți-l și deschideți-l din nou, acesta va începe să utilizeze valorile pe care le-ați introdus în consola Firebase.

De obicei, este o idee bună ca valorile modificate să aibă efect numai când utilizatorii deschid aplicația data viitoare. Ai putea atașa un ascultător Sarcină obiect returnat de către fetch () și actualizați interfața de utilizator în interiorul ascultătorului, dar utilizatorii dvs. ar putea să nu-i placă schimbarea bruscă.

Cu toate acestea, puteți utiliza ascultătorul pentru scopuri de depanare.

remoteConfig.fetch () addOnSuccessListener Log.i (TAG, "Valorile preluate cu succes")

8. Schimbarea valorilor

În prezent, valorile din hartă se potrivesc cu valorile la distanță. Pentru a vedea serviciul Remote Config în acțiune, trebuie să schimbăm valorile pe care le-am menționat în consolă Firebase. Așa că întoarceți-vă la consola și faceți clic pe unul dintre parametrii pe care îi vedeți în secțiunea Remote Config.

În dialogul care apare, părăsiți Tasta de parametri câmp neschimbat, dar modificați valoarea. În mod similar, puteți schimba și valoarea celuilalt parametru.

În cele din urmă, asigurați-vă că apăsați pe Publicați modificările , astfel încât valorile să devină disponibile pentru clientul Remote Config.

Dacă deschideți aplicația acum, închideți-o și deschideți-o din nou, ar trebui să vedeți că TextView widgetul arată diferit.

9. Adăugarea condițiilor la parametri

Nu trebuie întotdeauna să introduceți aceleași valori de configurare la distanță pentru toți utilizatorii. Consola Firebase vă permite să adăugați condiții parametrilor dvs., astfel încât să returneze diferite valori diferitelor subseturi ale bazei dvs. de utilizatori. Există multe reguli pe care le puteți utiliza pentru a crea astfel de subseturi. De exemplu, puteți viza utilizatorii care aparțin unei anumite țări, utilizatorii cu dispozitive care rulează o anumită versiune de Android sau chiar utilizatori care vorbesc o anumită limbă.

Deoarece Firebase le administrează în mod transparent, nu trebuie să faceți nicio modificare în codul dvs. pentru a face față condițiilor asociate parametrilor dvs..

De dragul unui exemplu, să adăugăm acum o condiție pentru font_color astfel încât valoarea sa să fie albastră numai pentru utilizatorii indieni.

Începeți prin a face clic pe parametrul din consola Firebase. În formularul care apare, faceți clic pe Adăugați valoare pentru condiție drop-down și selectați Definiți o nouă condiție.

În dialogul care se deschide în continuare, veți putea da un nume despre starea dvs. și, de la Se aplică dacă ...  lista derulantă, selectați o varietate de opțiuni care vă vor permite să vă concentrați asupra unui anumit grup de utilizatori. Pentru a viza utilizatorii unei anumite țări, va trebui să alegeți Tara / Regiune opțiune. În lista care apare lângă aceasta, puteți alege una sau mai multe țări. Alege India aici.

După ce ați completat toate câmpurile, apăsați pe Creați o condiție pentru finalizarea stării.

În acest moment, parametrul dvs. va putea accepta două valori în loc de unul. Paraseste Valoare implicită câmp așa cum este acesta și introduceți codul hex pentru culoarea albastră în câmpul cu valoare condițională.

Dacă publicați modificările acum, utilizatorii din India vor primi o actualizare suplimentară, iar textul din TextView widgetul va apărea albastru pentru ei.

Concluzie

Acum știi cum să modifici o aplicație de la distanță utilizând Firebase Remote Config și consola Firebase. Cu o anumită creativitate, aveți multe de făcut cu serviciul pentru a îmbunătăți experiența utilizatorului din aplicație. De exemplu, majoritatea dezvoltatorilor folosesc astăzi pentru a schimba temele aplicațiilor lor pentru a marca zilele festive. Mulți îl folosesc, de asemenea, cu Firebase Analytics pentru a executa teste A / B pe bazele utilizatorilor.

Pentru a afla mai multe despre Remote Config, consultați documentația oficială.

Cod