Google promovează cu adevărat noua navigare prin gesturi în Android 10. Deși nu au interzis alte scheme de control prin gesturi, au stabilit o mulțime de limite.
După ce a experimentat cu comenzile prin gesturi bazate pe butoane în Android 9 Pie, Google a revenit la planșa de desen la îmbunătățiți fluiditatea și utilizarea cu o singură mână a navigației prin gesturi Android. Cu Android 10, Google a ajuns la o soluție care este vizual ca iOS: o bară de gesturi care poate fi glisată în sus pentru a merge acasă sau glisată la stânga sau la dreapta pentru a comuta între aplicații. Deoarece bara de gesturi este mult mai subțire decât spațiul dedicat pentru schema anterioară de navigare cu trei butoane, gesturile Android 10 oferă aplicațiilor mai mult spațiu pentru a afișa conținut în partea de jos a ecranului. Pentru a face față lipsei unui buton înapoi dedicat, Google a adăugat o glisare spre interior de la marginile din stânga sau din dreapta ale ecranului pentru a declanșa acțiunea înapoi. Gesturile noi și îmbunătățite ale Google sunt un pas în direcția corectă, deși unii încă cred că alternativele terțe sunt superioare.
Chiar dacă mai e loc de îmbunătățit (si cu siguranta exista), Google își împinge partenerii Android să adopte aceste noi gesturi de navigare din cauza companiei nu dorește să împovăreze dezvoltatorii de aplicații cu nevoia de a se adapta mai multor navigații prin gesturi diferite scheme. Producătorii de dispozitive Android precum OnePlus, Samsung, Xiaomi, Huawei, OPPO, Vivo și ASUS sunt doar câteva dintre companiile cu propria lor abordare a navigării prin gesturi. Aceste companii au investit deja mult efort de dezvoltare în construirea propriilor gesturi, deci Google nu îi obligă să-și abandoneze complet munca.
„Utilizatorii își doresc din ce în ce mai mult experiențe captivante în Android și un lucru pe care l-au făcut producătorii de dispozitive este să încerce să abordeze acest lucru din punct de vedere software. Și ceea ce au făcut este să-și construiască propria navigație prin gesturi. Și fiecare producător de dispozitive are o impresie diferită despre modul în care ar trebui să funcționeze navigarea prin gesturi. Ceea ce recunoaștem din punctul de vedere al platformei este că acest lucru devine nebun pentru un dezvoltator. Gândindu-vă la N navigații prin gesturi diferite atunci când încercați să dezvoltați, să proiectați, să testați aplicația dvs., devine un fel de nebun. Deci, având în vedere asta, am introdus acest gest de navigare în Q și vom standardiza ecosistemul începând cu Q pe 3 butoane și modelul nostru merge mai departe.” – Ronan Shah, Product Manager la Google în echipa Android System UI, la Google I/O 2019.
În schimb, Google și-a rescris setul de reguli pentru compatibilitatea cu aplicațiile Android și Google, forțând OEM-urile să o facă marginalizează propriile gesturi în favoarea celor de la Google, restrângând totodată și funcționalitatea OEM gesturi.
Cerințe de compatibilitate cu Android 10 Gesture
După fiecare lansare majoră a platformei Android, Google actualizează Documentul de definire a compatibilităţii Android (CDD) la subliniază noile cerințe pe care trebuie să le îndeplinească toate dispozitivele pentru a fi considerate compatibile cu cea mai recentă versiune a Android. Aceasta este una dintre condițiile preliminare pentru obținerea unei licențe Android, care este necesară pentru a utiliza brandingul Android în marketing. Este, de asemenea, o condiție prealabilă pentru a obține aprobarea pentru a distribui Serviciile mobile Google, suita de aplicații, servicii și biblioteci Google preinstalate pe majoritatea dispozitivelor Android vândute la nivel internațional.
În CDD pentru Android 10, Google a actualizat secțiunea 2.2.3 privind cerințele software pentru dispozitivele portabile (AKA smartphone-uri) cu formularea de mai jos. Aceste declarații informează OEM despre așteptările Google cu privire la cât de mare ar trebui să fie zona de declanșare pentru gesturile de navigare.
Google recomandă ca zona de recunoaștere a gesturilor pentru acțiunea de acasă să fie în 32 dp (dp înseamnă density-independent pixel) din partea de jos a ecranului, dar nu fac acest lucru o cerință, astfel încât OEM-urile pot oferi în continuare comenzi prin gesturi plutitoare ca Docul de navigare plutitor al EMUI.
Dacă un OEM oferă un gest de glisare de pe marginile din stânga sau din dreapta ecranului, atunci Google cere ca zona de declanșare să fie mai mică de 40 dp față de margine. (ideal 24 dp în lățime.) Rețineți că acest lucru permite OEM-urilor să creeze diferite opțiuni de sensibilitate pentru gesturile laterale, atâta timp cât zona de declanșare nu depășește 40 dp. De fapt, Google ofera exact asta în propria versiune Android 10. În mod implicit, inserția pentru gestul din spate este de 24 dp pe Pixel, dar poate fi redusă la 18 dp sau crescută la 32 dp sau 40 dp.
Într-o secțiune ulterioară a CDD, în special secțiunea 7.2.3 care acoperă tastele de navigare, Google oferă cerințe detaliate despre modul în care ar trebui să funcționeze gesturile pentru acțiunile din spate, de acasă și ale aplicațiilor recente. Majoritatea cerințelor se concentrează pe asigurarea faptului că comportamentul sistemului este consecvent pentru dezvoltatorii de aplicații, dar există câteva afirmații notabile care ar putea afecta experiența utilizatorului.
În timp ce Google nu impune ca o glisare în sus de la marginea de jos să declanșeze acțiunea de pornire sau o glisare în sus și menținerea apăsată declanșează prezentarea recentă a aplicațiilor, Google cere ca gesturile de glisare din lateral să declanșeze acțiunea înapoi. În special, acest lucru ar însemna că gesturile personalizabile oferite de Operațiunea cu o singură mână+ de la Samsung nu ar fi permis, deși, din moment ce One Hand Operation+ nu este instalat imediat, ar putea primi o trecere.
Dacă un OEM oferă un panou de sistem plutitor care este declanșat printr-un gest de glisare laterală, atunci OEM trebuie să plaseze declanșatorul zona din partea superioară a 1/3 din partea stângă sau dreaptă și nu trebuie să permită panoului să depășească o dimensiune de 1/3 din dimensiunea ecranului margine. OEM poate, totuși, să permită utilizatorului să seteze zona de declanșare sub 1/3 de sus a marginilor. Această limbă a fost probabil adăugată pentru a găzdui caracteristica Samsung Edge Panel.
Documentul de definire a compatibilității Android 10 nu este plasat acea multe restricții cu privire la ceea ce OEM pot face cu gesturi, dar, așa cum am menționat anterior, respectarea CDD este doar unu a condițiilor preliminare pentru a obține o licență Android și aprobarea de a distribui GMS. Google are un document separat pe care îl distribuie în mod privat tuturor partenerilor săi Android licențiați; acest document enumeră cerințele tehnice pe care companiile trebuie să le respecte pentru a li se permite să distribuie GMS și are prevederi suplimentare referitoare la navigarea prin gesturi în Android 10. Am obținut o copie a acestui document, intitulată Cerințe GMS v7, din 3 septembrie 2019.
Cerințe de navigare prin gesturi pentru aprobarea GMS
Asistentul Google este un serviciu incredibil de important pentru Google, așa că Google îl include ca parte a aplicației Google și solicită tuturor partenerilor Android să-l distribuie ca parte a suitei de aplicații GMS pentru dispozitivele „obișnuite” (non-Android Go). Cu toate acestea, cerințele nu se opresc aici. Începând cu Android 5.1, Google impune ca o apăsare lungă a butonului Acasă să declanșeze acțiunea Asistență, care în mod implicit va invoca Asistentul Google, deoarece Google obligă, de asemenea, ca aplicația Google să fie handler implicit pentru Asistent acțiune. Cu toate acestea, nu mai există un buton de pornire dedicat în Android 10, așa că Google a stabilit noi cerințe privind modul de declanșare a Asistentului printr-un gest.
Pentru a declanșa Google Assistant cu navigarea prin gesturi Google, trebuie să glisați în diagonală din colțul din stânga/dreapta jos. Google cere ca acest gest să fie prezent pe toate dispozitivele care rulează Android 10, indiferent dacă gesturile Google sunt sau nu comenzile implicite de navigare din nou. Dacă un OEM implementează propriile controale de navigare prin gesturi, atunci își poate implementa propriul declanșator pentru a lansa aplicația Asistent, dar implementarea exactă va fi supusă revizuirii de la Google. Unii producători OEM precum OnePlus și Xiaomi vă permit să declanșați Asistentul apăsând lung butonul de pornire, de exemplu.
Google definește trei tipuri de modele de navigare de referință:
- Comenzi clasice de navigare cu trei butoane. Acestea pot fi butoane de pe ecran sau hardware, dar trebuie să aibă o anumită distanță între ele. Cele trei butoane declanșează acasă, înapoi și aplicațiile recente.
- Comenzile de navigare cu două butoane ale Android 9 Pie. Acestea nu pot fi butoane hardware, deși cele două butoane trebuie să aibă încă o anumită distanță între ele. Butoanele înapoi și acasă declanșează acțiunile înapoi și, respectiv, acasă, deși butonul de aplicații recente a fost îmbinat cu butonul de pornire, astfel încât o glisare în sus a butonului de pornire declanșează aplicațiile recente Prezentare generală.
- Noua navigare gestuală a Android 10.
Toate dispozitivele care se lansează cu Android 10 trebuie să implementeze A și C, deși este la latitudinea OEM să decidă care dintre ele devine implicit standard. B nu mai este acceptat și nu poate fi permis ca opțiune selectabilă de utilizator.
Deci, unde lasă asta controale alternative de navigare de la OEM? Google spune că, deși partenerii Android pot oferi propriile controale de navigare, alternativele lor nu pot fi prezentate utilizatorului în timpul configurării și nici nu pot fi anunțate utilizatorului prin notificări sau pe ecran ferestre pop-up. În timp ce A și C trebuie să fie afișate la nivelul superior al setărilor de navigare, orice opțiune de navigare alternativă trebuie plasată cu o intrare mai adânc în Setări.
Acest lucru înseamnă efectiv că gesturile alternative, probabil mai bune, vor fi găsite doar de utilizatorii cu putere care caută setări sau citesc articole online despre dispozitivul lor. Am notat în nostru Recenzie OnePlus 7T că OnePlus nu oferă gesturile sale OxygenOS pe ecran complet și probabil că acesta va fi cazul altor dispozitivele care se lansează cu Android 10 în continuare, deoarece nu are rost să ofere un gest alternativ sistem. Motivul probabil pentru care OnePlus 7 și OnePlus 7 Pro au încă vechile gesturi OxygenOS este că Google recomandă insistent OEM-urilor să nu elimine opțiunile de navigare existente atunci când fac upgrade la dispozitive Android 10.
În cele din urmă, Google recomandă insistent OEM-urilor să nu comute utilizatorul la un alt mod de navigare atunci când setează un lansator terță parte ca implicit. În mod ironic, asta este exact ceea ce se întâmplă când tu încercați să setați un lansator terță parte ca implicit în Android 10 pentru Google Pixel. Google a promis că va lansa o remediere pentru a face gesturile Android 10 compatibile cu lansatoarele terțe, așa că este probabil că au adăugat această declarație specială, astfel încât utilizatorii să nu acuze lansatoarele terțe pentru gest incompatibilitate. Fă cum spun, nu cum fac eu.
În rezumat, Google a luat în sfârșit pași pentru a unifica navigarea prin gesturi în Android și utilizează procesul de aprobare CDD și GMS pentru a-i determina pe OEM să joace. Totuși, acesta nu este un lucru rău, deoarece fragmentarea controalelor de navigare este problematică pentru dezvoltatorii de aplicații. Google a pus în mod clar multă gândire și cercetare asupra utilizabilității noilor gesturi. Din moment ce Google știe că nu toată lumea va fi mulțumită de gesturile lor, totuși, ei încă dau OEM-urilor o oarecare marjă de manevră, permițându-le să facă propriile gesturi, atâta timp cât acele gesturi urmează anumite reguli.
În versiunile viitoare de Android, Google poate interzice în totalitate moduri alternative de navigare. OnePlus poate vedea deja scrierea pe perete, ceea ce ar explica de ce nu mai oferă vechile gesturi pe OnePlus 7T, deși va trebui să așteptăm lansarea mai multor dispozitive cu Android 10 pentru a vedea dacă aceasta este o industrie unică sau nouă tendinţă.