Il framework di compilazione automatica di Android O risolverà finalmente un problema di ritardo di lunga data con i gestori di password

click fraud protection

Il nuovo framework di compilazione automatica in Android O risolverà un problema di ritardo di lunga data associato ai servizi di accessibilità dei gestori di password.

È già passato un mese da quando Google ha rilasciato il prima anteprima per sviluppatori Android O (il tempo vola sicuramente velocemente!) e, come con qualsiasi nuova versione di Android, c'è molto da approfondire. Abbiamo pubblicato un sacco di articoli già su Android O, ma c'è una caratteristica che ritengo non abbia ricevuto l'attenzione che merita: il Quadro di compilazione automatica.

Compilazione automatica in Android O

Al giorno d'oggi i gestori di password sono una dozzina (anche se lo siamo parziale al KeePass open source), ma è solo con Android O che Google supporta ufficialmente i gestori di password. Con Android O, le applicazioni di terze parti possono riempire il ruolo di un servizio di compilazione automatica, che comunica con le app tramite il nuovo Autofill Framework. App che utilizzano standard Visualizzazione

elementi funzioneranno immediatamente con il framework di compilazione automatica, sebbene ci siano passaggi aggiuntivi che gli sviluppatori possono eseguire ottimizzare per il riempimento automatico per garantire che qualsiasi visualizzazione personalizzata dell'app possa essere compilata automaticamente.

Quando viene messa a fuoco una vista compilabile automaticamente, il framework di compilazione automatica richiamerà una richiesta di compilazione automatica. Il servizio di compilazione automatica risponde restituendo determinati set di dati di compilazione automatica (come nome utente, password, indirizzo, numeri di carta di credito, ecc.) che l'utente può quindi selezionare. Il servizio di compilazione automatica viene specificato dall'utente in Impostazioni --> App e notifiche --> App predefinite --> App di compilazione automatica.

App di compilazione automatica in Android O. Crediti: Ultimo passaggio.

La spiegazione sopra riportata del nuovo framework di compilazione automatica è solo un breve riepilogo di ciò che sta accadendo sia a livello dell'app richiedente che del servizio di compilazione automatica. Ciò che è più importante per la tua comprensione qui non sono i dettagli esatti di come funziona la compilazione automatica in Android O, ma il fatto che il le stesse app di gestione delle password non gestiscono più il rilevamento quando una vista può essere compilata automaticamente.


Lettura consigliata: AgileBits mostra come apparirà il framework di riempimento automatico di Android O


Compilazione automatica prima di Android O

Confrontalo con il funzionamento della compilazione automatica prima di Android O. Prima che i gestori di password disponessero di qualsiasi tipo di metodo ufficiale per rilevare quando una vista poteva essere riempita automaticamente, ciascuno l'applicazione doveva implementare un servizio di accessibilità per scansionare la vista corrente per trovarla compilabile automaticamente campi.

L'utilizzo di un Servizio di Accessibilità, invece, può comportare un notevole ritardo a determinate condizioni. Il ritardo associato al tipico servizio di accessibilità del gestore di password, tuttavia, è così evidente che servizi popolari come LastPass hanno addirittura pagine di supporto riguardo alla questione. Queste pagine di supporto in genere ti dicono che la tua unica risorsa per gestire il ritardo eccessivo causato da loro Il servizio di accessibilità consiste nel disabilitare il servizio di accessibilità o nel passare all'utilizzo del proprio input personalizzato metodo. In ogni caso, perdi qualsiasi tipo di capacità di riempimento automatico.

Ma perché esattamente il servizio di accessibilità di LastPass, o il servizio di accessibilità di qualsiasi altro gestore di password, sembra causare così tanto ritardo? Il motivo è dovuto al modo in cui questi gestori di password devono utilizzare i servizi di accessibilità per rilevare i campi di input. Un servizio di accessibilità attributi sono definiti in un File di risorse XML all'interno dell'APK, così possiamo vedere come funziona il Servizio decompilando il file APK.

Di seguito è riportato il file di risorse tratto dalla decompilazione dell'APK LastPass:


"@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 />

Da ciò, possiamo raccogliere le seguenti informazioni: Il servizio di accessibilità di LastPass richiede due tipi di eventi da monitorare: TYPE_VIEW_FOCUSED e TYPE_WINDOW_CONTENT_CHANGED. Lo fa perché ha bisogno di sapere quando il contenuto di un'app/pagina web cambia o viene messo a fuoco, quindi recupera il contenuto della finestra corrente per cercare eventuali campi di immissione della password. Ma poiché il servizio lo fa costantemente su due eventi di accessibilità attivati ​​​​con estrema frequenza, si verifica un ritardo. Per una trattazione più approfondita di come i servizi di accessibilità possano causare lag, vi rimando al mio precedente articolo sull'argomento.


Lettura consigliata: "Lavorare come previsto" - Un'esplorazione del ritardo nell'accessibilità di Android


Android O prende due piccioni con una fava

Prima di Android O, non c'era molto che gli sviluppatori di gestori di password potessero fare per mitigare questo ritardo. Questo perché i gestori di password non avevano modo di sapere quando sullo schermo era presente un campo di input compilabile automaticamente senza consentire a un servizio di accessibilità di monitorarli costantemente. Ma grazie al nuovo Autofill Framework di Android O, questi gestori di password possono ora ritirare i propri servizi di accessibilità. Invece, le app che necessitano di immissione dati richiederanno al Framework di compilazione automatica di chiamare il servizio di compilazione automatica che invierà quindi i dati. Grazie a questo nuovo framework, non solo l'immissione della password diventerà molto più semplice per gli utenti poiché non dovranno più fare affidamento su un file metodo di input aggiuntivo, ma il ritardo associato all'abilitazione dei servizi di accessibilità dei gestori di password sarà una cosa del genere passato.

So che per alcuni di voi questo fatto potrebbe non essere innovativo, ma ho pensato che, dal momento che la discussione sul servizio di accessibilità era così muta, forse valeva la pena riaccendere questo argomento. Solo qualche spunto di riflessione questo fine settimana!


Cosa ne pensate del nuovo Autofill Framework di Android O? Fateci sapere nei commenti qui sotto!