Az Android O automatikus kitöltési keretrendszere végül megoldja a jelszókezelők régóta fennálló késleltetési problémáját

Az Android O új automatikus kitöltési keretrendszere megoldja a jelszókezelők akadálymentesítési szolgáltatásaival kapcsolatos, régóta fennálló késleltetési problémát.

Már egy hónap telt el azóta, hogy a Google kiadta a első Android O fejlesztői előnézet (az idő biztosan gyorsan elrepül!), és mint az Android minden új verziójában, sok mindenben kell elmélyedni. közzétettük rengeteg cikk már az Android O-ról szól, de van egy olyan funkció, amelyről úgy érzem, hogy nem igazán kapta meg a megérdemelt figyelmet: a Automatikus kitöltési keret.

Automatikus kitöltés Android O-ban

A jelszókezelők manapság tucatnyiak (bár mi részleges a nyílt forráskódú KeePasshoz), de a Google hivatalosan csak az Android O-val támogatja a jelszókezelőket. Az Android O-val a harmadik féltől származó alkalmazások betölthetik az automatikus kitöltési szolgáltatás tekercsét, amelyek az új Autofill Framework keretrendszeren keresztül kommunikálnak az alkalmazásokkal. Szabványt használó alkalmazások Kilátás Az elemek már a dobozból is működni fognak az Automatikus kitöltési keretrendszerrel, bár vannak további lépések is, amelyeket a fejlesztők megtehetnek 

optimalizálja az automatikus kitöltést annak biztosítása érdekében, hogy az alkalmazás bármely egyéni nézete automatikusan kitölthető legyen.

Amikor egy automatikusan kitölthető nézet kerül fókuszba, az Automatikus kitöltési keretrendszer automatikus kitöltési kérelmet indít el. Az automatikus kitöltési szolgáltatás bizonyos automatikus kitöltési adatkészletek visszaküldésével válaszol (például felhasználónév, jelszó, cím, hitelkártyaszám stb.), amelyeket a felhasználó kiválaszthat. Az automatikus kitöltési szolgáltatást a felhasználó határozza meg a Beállítások --> Alkalmazások és értesítések --> Alapértelmezett alkalmazások --> Automatikus kitöltés alkalmazásban.

Automatikus kitöltési alkalmazás Android O-ban. Jóváírások: Lastpass.

Az új automatikus kitöltési keretrendszer fenti magyarázata csak egy rövid összefoglalása annak, hogy mi történik mind a kérelmező alkalmazás, mind az automatikus kitöltési szolgáltatás végén. A megértéshez nem az a legfontosabb, hogy pontosan hogyan működik az automatikus kitöltés Android O-ban, hanem az a tény, hogy a maguk a jelszókezelő alkalmazások már nem képesek észlelni, hogy mikor lehet automatikusan kitölteni egy nézetet.


Ajánlott irodalom: Az AgileBits megmutatja, hogyan fog kinézni az Android O automatikus kitöltési keretrendszere


Automatikus kitöltés Android O előtt

Hasonlítsa össze az automatikus kitöltés működésével az Android O előtt. Azelőtt a jelszókezelőknek bármilyen hivatalos módszerük volt annak észlelésére, hogy egy View mikor tölthető ki automatikusan Az alkalmazásnak kisegítő lehetőségeket kellett megvalósítania az aktuális nézet átvizsgálásához, hogy megtalálja az automatikus kitöltést mezőket.

Az akadálymentesítési szolgáltatás használata azonban megteheti jelentős késést eredményez bizonyos feltételek mellett. A tipikus jelszókezelő akadálymentesítési szolgáltatásához kapcsolódó késés azonban annyira nyilvánvaló, hogy a népszerű szolgáltatások, például a LastPass támogatási oldalak fel a témával kapcsolatban. Ezek a támogatási oldalak általában azt mondják, hogy az egyetlen lehetőség az általuk okozott túlzott késleltetés kezelésére A Kisegítő lehetőségek szolgáltatásnak le kell tiltania az akadálymentesítési szolgáltatást, vagy át kell váltania a saját egyéni bemenet használatára módszer. Akárhogy is, elveszít mindenféle automatikus kitöltési képességet.

De miért pont úgy tűnik, hogy a LastPass Accessibility Service vagy bármely más jelszókezelő akadálymentesítési szolgáltatása okoz ekkora késést? Ennek az az oka, hogy ezeknek a jelszókezelőknek az Accessibility Services szolgáltatást kell használniuk a beviteli mezők észleléséhez. Egy akadálymentesítési szolgáltatás attribútumok egyben vannak meghatározva XML erőforrásfájl az APK-n belül, így az APK fájl visszafordításával láthatjuk, hogyan működik a szolgáltatás.

Az alábbiakban látható a LastPass APK visszafordításából származó erőforrásfájl:


"@string/accessibility_service_description"
android: accessibilityEventTypes="typeViewFocused|typeWindowContentChanged"
android: accessibilityFeedbackType="feedbackGeneric"
android: notificationTimeout="200"
android: accessibilityFlags="flagReportViewIds"
android: canRetrieveWindowContent="true"
android: canRequestEnhancedWebAccessibility="true"
xmlns: andro />

Ebből a következő információkat gyűjthetjük ki: A LastPass akadálymentesítési szolgáltatása két eseménytípust kér megfigyelésre – TYPE_VIEW_FOCUSED és TYPE_WINDOW_CONTENT_CHANGED. Ezt azért teszi, mert tudnia kell, ha egy alkalmazás/weboldal tartalma megváltozik vagy fókuszba kerül, majd lekéri az aktuális ablak tartalmát, hogy megkeresse a jelszóbeviteli mezőket. De mivel a szolgáltatás folyamatosan ezt teszi két rendkívül gyakran aktiválódó akadálymentesítési eseményen, ez késést eredményez. Ha részletesebben szeretné megvitatni azt, hogy az akadálymentesítési szolgáltatások miként okozhatnak késést, hivatkozom az üggyel kapcsolatos korábbi cikkemre.


Ajánlott irodalom: „Working as Intended” – Az Android kisegítő lehetőségek késésének felfedezése


Android O Egy csapásra megöl két madarat

Az Android O előtt a jelszókezelők fejlesztői nem igazán tudtak tenni ennek a késésnek a csökkentése érdekében. Ennek az az oka, hogy a jelszókezelők nem tudhatták, hogy mikor van egy automatikusan kitölthető beviteli mező a képernyőn anélkül, hogy lehetővé tették volna a kisegítő lehetőségek számára, hogy folyamatosan figyeljék őket. Az Android O új automatikus kitöltési keretrendszerének köszönhetően azonban ezek a jelszókezelők megszüntethetik a kisegítő lehetőségeket. Ehelyett az adatbevitelt igénylő alkalmazások arra kérik az Automatikus kitöltési keretrendszert, hogy hívja fel az automatikus kitöltési szolgáltatást, amely ezután elküldi az adatokat. Ennek az új keretrendszernek köszönhetően nem csak a jelszó megadása lesz sokkal könnyebb a felhasználók számára, mivel többé nem kell egy további beviteli mód, de a jelszókezelők akadálymentesítési szolgáltatásainak engedélyezésével kapcsolatos késés a múlt.

Tudom, hogy egyesek számára ez a tény nem feltétlenül úttörő, de úgy gondoltam, hogy mivel az akadálymentesítési szolgáltatás körüli vita annyira néma volt, ezt a témát érdemes lett volna újraéleszteni. Csak egy kis elgondolkodtató a hétvégére!


Mi a véleménye az Android O új automatikus kitöltési keretrendszeréről? Tudassa velünk az alábbi megjegyzésekben!