Tema scuro, API termica e bolle: prepara l'app per Android 10

Autore: Louise Ward
Data Della Creazione: 6 Febbraio 2021
Data Di Aggiornamento: 2 Luglio 2024
Anonim
Tema scuro, API termica e bolle: prepara l'app per Android 10 - Applicazioni
Tema scuro, API termica e bolle: prepara l'app per Android 10 - Applicazioni

Contenuto


La versione più recente, più grande e ancora senza nome di Android introduce funzionalità e API che puoi utilizzare per progettare nuove esperienze per i tuoi utenti, oltre ad alcune modifiche comportamentali che devi fare attenzione.

Anche se non stai ancora aggiornando la tua app per indirizzare Android Q, alcune di queste modifiche avranno un impatto ogni applicazione installata su Android Q, anche se la tua app non ha come target esplicito questa versione di Android.

Alcune di queste modifiche avranno effetto su ogni applicazione installata su Android Q.

Indipendentemente dal fatto che tu sia impaziente di sperimentare con le ultime funzionalità o che desideri solo assicurarti che la tua app non si interrompa nel momento in cui è installata su Android Q, ora è il momento perfetto per iniziare a preparare l'imminente rilascio di Android Q.

Leggi anche:Android Q: tutto ciò che gli sviluppatori devono sapere


In questo articolo, illustrerò tutti i passaggi che devi eseguire per preparare la tua app per Android Q: dalle nuovissime funzionalità alle piccole modifiche alla sicurezza che potrebbero potenzialmente interrompere l'intera applicazione.

Evita il throttling di CPU e GPU: monitoraggio della temperatura del dispositivo

Il surriscaldamento può danneggiare gravemente lo smartphone o il tablet. Come misura di protezione, Android limiterà la CPU e la GPU del dispositivo quando rileva che le temperature si stanno avvicinando a livelli pericolosi.

Sebbene questo comportamento aiuti a proteggere l'hardware del dispositivo, può anche avere un impatto notevole sulle prestazioni dell'applicazione, in particolare se l'app utilizza grafica ad alta risoluzione, calcoli pesanti o esegue attività di rete in corso.

Mentre questo rallentamento è imposto dal sistema, l'utente tipico di smartphone o tablet incolperà la tua applicazione per qualsiasi calo delle prestazioni. Nel peggiore dei casi, l'utente può decidere che l'applicazione è difettosa o danneggiata, potenzialmente anche disinstallando l'app e lasciandoti una recensione negativa di Google Play nel processo.


Nel peggiore dei casi, l'utente può decidere che l'applicazione è difettosa o danneggiata.

Android Q introduce una nuova API termica che può aiutarti a evitare questo throttling di CPU e GPU. Puoi utilizzare il metodo addThermalStatusListener () di questa API per creare un listener per le modifiche dello stato termico, quindi regolare il comportamento della tua app ogni volta che la temperatura del dispositivo inizia a salire. Questo può aiutare a ridurre le possibilità che il sistema faccia ricorso alla limitazione della CPU o della GPU. Ad esempio, è possibile ridurre lo sforzo che l'applicazione sta ponendo sul sistema di surriscaldamento riducendo la risoluzione o la frequenza dei fotogrammi o disabilitando le funzionalità ad alta intensità di risorse come la connettività di rete.

Nota che l'API termica di Android Q richiede un nuovo livello HAL del dispositivo, che al momento della scrittura era disponibile solo sui dispositivi Pixel.

Riduci l'affaticamento degli occhi e migliora la visibilità con il tema Dark

Su Android Q, gli utenti possono attivare un tema scuro a livello di sistema progettato per ridurre l'affaticamento della vista, migliorare la visibilità in condizioni di scarsa illuminazione e ridurre il consumo di energia sui dispositivi con schermi OLED.

Il tema Scuro è un'interfaccia utente in condizioni di scarsa illuminazione che utilizza superfici scure per lo sfondo e colori di primo piano chiari per elementi come testo e iconografia.

Gli utenti possono attivare questo tema scuro a livello di sistema in qualsiasi momento tramite un nuovo riquadro Impostazioni rapide o avviando l'applicazione Impostazioni del dispositivo e accedendo a Visualizza> Tema. Sui dispositivi Pixel, il passaggio alla modalità Risparmio batteria abilita automaticamente anche il tema Scuro.

Il tema scuro viene applicato su tutto il dispositivo, quindi per fornire un'esperienza utente coerente è necessario assicurarsi che l'applicazione supporti completamente il tema scuro.

Per aggiungere il supporto per Dark Theme, assicurati di utilizzare l'ultima versione della libreria di Material Android, quindi aggiorna l'app per ereditare da Theme.MaterialComponents.DayNight, ad esempio:

Dovrai quindi creare un file res / valori-notte / themes.xml ed ereditare da Theme.MaterialComponents:

Per fornire una buona esperienza utente, potrebbe essere necessario modificare il comportamento della tua app quando è attivato il tema Scuro, ad esempio sostituendo o rimuovendo la grafica che emette una quantità significativa di luce.

Puoi verificare se il tema Dark è abilitato, utilizzando il seguente frammento:

int currentNightMode = configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK; switch (currentNightMode) {// Dark Theme non è attualmente attivo // case Configuration.UI_MODE_NIGHT_NO: break; // Dark Theme è attivo // case Configuration.UI_MODE_NIGHT_YES: break; }

L'applicazione può quindi modificarne il comportamento, a seconda del tema attualmente attivo.

API del pannello delle impostazioni: visualizzazione delle impostazioni del dispositivo all'interno dell'app

Se la tua app ha come target Android Q, non sarai più in grado di modificare direttamente le impostazioni Wi-Fi del dispositivo. Dovrai invece richiedere all'utente di apportare le modifiche desiderate utilizzando l'API del Pannello impostazioni.

Puoi utilizzare questa nuova API per visualizzare i contenuti dall'applicazione Impostazioni del dispositivo, come un pannello incorporato che scorre sul contenuto della tua app. Dal punto di vista dell'utente, questi controlli in-app consentono loro di modificare rapidamente e facilmente le impostazioni del proprio dispositivo senza dover avviare un'app separata. Per uno sviluppatore di applicazioni, l'API del pannello Impostazioni ti consente di modificare lo stato del Wi-Fi e altre impostazioni cruciali del dispositivo, senza incoraggiare l'utente a uscire dalla tua app.

In Android Q, Google sta trasformando le notifiche in stile testa di chat in una parte ufficiale della piattaforma Android con l'introduzione dell'API Bubble.

Progettate come un'alternativa a SYSTEM_ALERT_WINDOW, le notifiche bolla sembrano "fluttuare" sopra altri contenuti dell'applicazione, in uno stile che ricorda le notifiche mobili utilizzate da Facebook Messenger per Android.

Le notifiche bolla possono essere espanse per rivelare informazioni aggiuntive o azioni personalizzate che consentono agli utenti di interagire con la tua app, al di fuori del contesto dell'applicazione.

Quando la tua app tenta di creare la sua prima bolla, Android chiederà all'utente se desidera consentire tutte le bolle della tua applicazione o bloccare tutte le bolle. Se l'utente sceglie di bloccare tutte le bolle della tua app, verranno invece visualizzate come notifiche standard. Le bolle verranno inoltre visualizzate come notifiche standard ogni volta che il dispositivo è bloccato o è sempre attivo il display. Per fornire una buona esperienza utente, è necessario assicurarsi che tutte le bolle vengano visualizzate e funzionino correttamente come notifiche regolari.

Per creare una bolla, avrai bisogno di un'attività che definisca il comportamento della bolla espansa e un layout che ne definisca l'interfaccia utente. Per una guida dettagliata su come creare la tua prima notifica bolla, dai un'occhiata a Esplorazione di Android Q: aggiunta di notifiche bolla alla tua app.

Maggiore accessibilità con la navigazione gestuale a livello di sistema

Gli utenti con problemi di destrezza possono trovare più facile interagire con il proprio dispositivo usando i gesti. In Android Q, gli utenti hanno la possibilità di abilitare la navigazione gestuale su tutto il dispositivo, il che avrà un impatto ogni applicazione installata su quel dispositivo.

Anche se non aggiorni la tua app per indirizzare Android Q, la tua applicazione volontà essere influenzato dalle impostazioni di navigazione del dispositivo, quindi devi assicurarti che la tua app sia compatibile con la navigazione gestuale di Android Q.

Nella modalità di navigazione gestuale, l'app dovrebbe utilizzare l'intero schermo, quindi il primo passo è dire al sistema Android che l'applicazione supporta la visualizzazione edge-to-edge. Per impaginare la tua applicazione a schermo intero, puoi utilizzare i flag SYSTEM_UI_FLAG_LAYOUT_STABLE e SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, ad esempio:

view.setSystemUiVisibility (View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

Dovrai anche implementare il supporto per una barra di sistema trasparente aggiungendo quanto segue al tuo tema:

Quando è il momento di testare la tua app, devi verificare che i gesti di sistema di Android Q non attivino alcun controllo della tua app, come pulsanti o menu. In particolare, Android Q utilizza un passaggio verso l'interno per l'azione Indietro e un passaggio verso l'alto per Home e Cambio rapido, che possono interferire con qualsiasi elemento dell'interfaccia utente situato in queste aree.

Se durante il test scopri che lo scorrimento dalla parte inferiore dello schermo o lo scorrimento verso l'interno sta attivando i controlli della tua app, puoi indicare quali aree sono configurate per ricevere input touch. Per bloccare determinate aree, passare un elenco all'API View.setSystemGestureExclusionRects () di Android Q, ad esempio:

Elenco exclusionRects; public void onLayout (booleano changedCanvas, int left, int top, int right, int bottom) {setSystemGestureExclusionRects (exclusionRects); } public void onDraw (Canvas canvas) {setSystemGestureExclusionRects (exclusionRects); }

Se la tua app utilizza gesti personalizzati, dovresti anche verificare che non siano in conflitto con i gesti di navigazione del sistema.

Catturare l'audio da applicazioni di terze parti

Android Q introduce un'API AudioPlaybackCapture che consente alla tua app di acquisire audio da altre applicazioni, perfetta se stai creando un'app di registrazione dello schermo!

Per acquisire la riproduzione audio, è necessario richiedere l'autorizzazione RECORD_AUDIO, quindi:

  • Crea un'istanza AudioPlaybackCaptureConfiguration, utilizzando AudioPlaybackCaptureConfiguration.Builder.build ().
  • Configurare e creare l'istanza AudioRecord, chiamando setAudioPlaybackCaptureConfig e quindi passando la configurazione all'oggetto AudioRecord.

Per esempio:

MediaProjection mediaProjection; AudioPlaybackCaptureConfiguration config = new AudioPlaybackCaptureConfiguration.Builder (mediaProjection) .addMatchingUsage (AudioAttributes.USAGE_MEDIA) .build (); Record AudioRecord = new AudioRecord.Builder () .setAudioPlaybackCaptureConfig (config) .build ();

Questa nuova API significa che, per impostazione predefinita, le app di terze parti saranno in grado di registrare tutti dell'audio dell'applicazione. Per alcune app, questo può essere un problema di privacy o può persino mettere la tua app a rischio di violazione del copyright. Se necessario, puoi impedire a terzi di acquisire l'audio della tua app, aggiungendo android: allowAudioPlaybackCapture = "false" al tuo manifest.

Anche con questo flag, le app di sistema saranno comunque in grado di catturare la riproduzione audio della tua app, poiché le funzioni di accessibilità come i sottotitoli dipendono dalla cattura audio.

Per fornire un'esperienza accessibile, si consiglia di consentire sempre ai componenti di sistema di acquisire l'audio dell'app, ma è possibile bloccare le app di sistema utilizzando la costante ALLOW_CAPTURE_BY_NONE, se necessario.

Autenticazione biometrica migliorata

Android Q sta apportando una serie di modifiche all'autenticazione BiometricPrompt di Android.

1. Verificare la capacità biometrica

Prima di richiamare BiometricPrompt, è ora possibile verificare se il dispositivo supporta l'autenticazione biometrica, utilizzando il nuovo metodo canAuthenticate ().

2. Finestre di dialogo di autenticazione biometrica ottimizzate

Android Q apporta una leggera modifica alle finestre di dialogo di autenticazione di BiometricPrompt.

Android consente agli utenti di autenticare la propria identità utilizzando una serie di modalità biometriche implicite "a mani libere", come l'autenticazione del viso o dell'iride. Tuttavia, anche se l'utente verifica correttamente la propria identità utilizzando una modalità implicita, lo farà ancora devi toccare il pulsante Conferma della finestra di dialogo per completare il processo di autenticazione.

Per molte modalità biometriche implicite, questa azione di conferma non è necessaria, quindi in Android Q è possibile richiedere che il sistema rimuova il pulsante Conferma dalla finestra di dialogo di autenticazione biometrica.

Questa piccola modifica può avere un impatto positivo sull'esperienza dell'utente, in quanto verificare la tua identità guardando il tuo dispositivo è più semplice che guardare il tuo dispositivo, aspettando che riconosca il tuo viso e quindi tocca il pulsante Conferma.

In Android Q, è possibile richiedere al sistema di rimuovere il pulsante Conferma passando false al metodo setConfirmationRequired (). Tieni presente che il sistema può scegliere di ignorare la tua richiesta in determinati scenari, ad esempio se l'utente ha disabilitato l'autenticazione implicita nelle Impostazioni del proprio dispositivo.

3. Metodi di autenticazione alternativi

A volte, un utente potrebbe non essere in grado di autenticarsi utilizzando input biometrici. In questi scenari, puoi consentire loro di autenticare la propria identità utilizzando il PIN, la sequenza o la password del dispositivo utilizzando il nuovo metodo setDeviceCredentialAllowed ().

Una volta abilitato questo fallback, all'utente verrà inizialmente richiesto di eseguire l'autenticazione utilizzando la biometria, ma avrà quindi la possibilità di autenticarsi utilizzando un PIN, una sequenza o una password.

Esegui il codice DEX incorporato direttamente dal tuo APK

In Android Q, è possibile eseguire il codice DEX incorporato direttamente dal tuo file APK, il che può aiutare a impedire agli aggressori di manomettere il codice compilato localmente della tua app.

Puoi abilitare questa nuova funzione di sicurezza aggiungendo quanto segue all'elemento del tuo manifest:

Android: useEmbeddedDex = "true”

È quindi possibile creare un APK che contenga un codice DEX non compresso, aggiungendo quanto segue al file di compilazione Gradle:

aaptOptions {noCompress dex}

Nuove autorizzazioni per il riconoscimento delle attività

Android Q introduce un nuovo permesso di runtime com.google.android.gms.permission.ACTIVITY_RECOGNITION per le applicazioni che devono registrare il conteggio dei passi dell'utente o classificare la propria attività fisica, come la corsa o il ciclismo.

L'API di riconoscimento attività di Android non fornirà più risultati a meno che la tua applicazione non abbia questa nuova autorizzazione ACTIVITY_RECOGNITION. Se l'app utilizza dati provenienti da sensori integrati come il giroscopio o l'accelerometro, non è necessario richiedere l'autorizzazione ACTIVITY_RECOGNITION.

Restrizioni sull'attività inizia

Per ridurre al minimo le interruzioni, Android Q impone nuove restrizioni quando l'applicazione può avviare un'attività. Troverai un elenco completo di tutte le condizioni che consentono l'avvio dell'attività, nei documenti ufficiali di Android.

Overlay di avvisi di sistema rimossi da Android Go

Se la tua app viene caricata su un dispositivo che esegue Android Q e Android Go, non sarà in grado di accedere all'autorizzazione SYSTEM_ALERT_WINDOW. Questa modifica è stata implementata per evitare le notevoli riduzioni delle prestazioni che possono verificarsi quando i dispositivi Android Go tentano di disegnare la finestra di overlay SYSTEM_ALERT_WINDOW.

Dì addio ad Android Beam

Android Q segna la fine di Android Beam, poiché questa funzione di condivisione dei dati è ora ufficialmente deprecata.

Proteggere i tuoi utenti: le principali modifiche alla privacy

Android Q introduce una serie di modifiche alla privacy che offrono agli utenti un maggiore controllo sui propri dati e sulle funzioni sensibili del proprio dispositivo.

Sfortunatamente, queste modifiche possono influire sul comportamento della tua app e possono persino interrompere completamente la tua app. Quando si verifica l'applicazione su Android Q, è necessario prestare particolare attenzione alle seguenti modifiche alla privacy:

1. Archiviazione con ambito: il nuovo modello di archiviazione esterna di Android

Android Q pone nuove restrizioni su come le applicazioni accedono alla memoria esterna.

Per impostazione predefinita, se la tua app ha come target Android Q, avrà una "vista filtrata" nella memoria esterna del dispositivo (precedentemente denominata "vista sandbox"), che fornisce solo l'accesso a una directory specifica dell'app.

Con l'archiviazione con ambito, l'applicazione può accedere a questa directory specifica dell'app e a tutto il suo contenuto, senza dover dichiarare eventuali permessi di archiviazione.Tuttavia, la tua app può accedere ai file creati da altre applicazioni solo se è stata concessa l'autorizzazione READ_EXTERNAL_STORAGE e i file si trovano in Foto (MediaStore.Images), Video (MediaStore.Video) o Musica (MediaStore.Audio). Se la tua app richiede l'accesso a un file che non soddisfa questi criteri, dovrai utilizzare Storage Access Framework.

Al momento della stesura, è stato possibile disattivare la memorizzazione con ambito aggiungendo android: requestLegacyExternalStorage = "true" al Manifest del progetto, ma in base ai documenti Android ufficiali l'archiviazione con ambito alla fine sarà richiesta da tutte le applicazioni, quindi è consigliabile che aggiorni la tua app il prima possibile.

2. Decidi quando un'app può accedere alla tua posizione

Android Q offre agli utenti un maggiore controllo su quando un'applicazione può accedere alla loro posizione.

Quando l'app richiede informazioni sulla posizione, Android Q visualizzerà una finestra di dialogo che chiede se l'utente desidera condividere queste informazioni:

  • Quando l'app è in esecuzione in primo piano solo.
  • Sempre (ad es. Quando l'app è in primo piano e lo sfondo).

Se l'utente concede l'accesso costante alla tua app, Android Q creerà notifiche regolari per ricordare all'utente che la tua app può accedere alla sua posizione in qualsiasi momento.

Per implementare queste modifiche, Android Q introduce una nuova autorizzazione ACCESS_BACKGROUND_LOCATION.

Se la tua app richiede l'accesso alle informazioni sulla posizione mentre è in background, dovrai richiedere questa nuova autorizzazione, insieme alle autorizzazioni ACCESS_COARSE_LOCATION o ACCESS_FINE_LOCATION esistenti. Per esempio:

3. Nuove restrizioni sugli identificatori di sistema non ripristinabili

Se hai bisogno di accedere a identificativi di sistema non ripristinabili, come IMEI e numero di serie, dovrai ora richiedere l'autorizzazione READ_PRIVILEGED_PHONE_STATE.

Ove possibile, si consiglia di utilizzare metodi alternativi di tracciamento dell'utente. Ad esempio, se si desidera registrare le analisi degli utenti, è possibile creare un ID pubblicità Android anziché richiedere l'accesso a identificatori di dispositivo non ripristinabili.

Assicurati di essere pronto per Android Q: test della tua app

Il modo migliore per garantire che la tua applicazione offra una buona esperienza utente su Android Q è testarla su un dispositivo che esegue Android Q.

Mentre stiamo aspettando il rilascio ufficiale, ci sono tre modi per testare la tua app rispetto alle anteprime degli sviluppatori di Android Q: registrare il tuo dispositivo nel programma Android Beta, inviare manualmente un'immagine del sistema Android Q sul tuo dispositivo o utilizzare un Android Virtual Dispositivo (AVD).

1. Installa Android Q beta su un dispositivo fisico

Se possiedi un dispositivo compatibile (l'elenco completo è disponibile qui), puoi ottenere aggiornamenti Android Q over-the-air iscrivendoti al programma Android Beta. Al momento della scrittura, tutti i telefoni Google Pixel sono supportati dal programma Android Beta. Ciò include Google Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, Pixel 3a e Pixel 3a XL.

Se non possiedi un Pixel, Android Q beta è disponibile anche su dispositivi selezionati di una manciata di produttori, tra cui Asus, Huawei, LG, Xiaomi e altri. Per l'elenco completo dei dispositivi supportati, controlla l'elenco qui.

Dopo esserti iscritto, Google stima che riceverai tra tre e sei aggiornamenti nel corso del programma.

Prima di iscriverti al programma Beta, ci sono diversi svantaggi di cui devi essere consapevole. Le versioni pre-release di Android possono contenere bug ed errori che potrebbero impedire il normale funzionamento del tuo dispositivo e non c'è supporto ufficiale disponibile in caso di difficoltà. Gli utenti che eseguono versioni pre-release di Android non riceveranno inoltre aggiornamenti mensili di sicurezza separati, che potrebbero rendere il dispositivo vulnerabile ad attacchi e exploit.

Infine, sebbene sia possibile disattivare il programma e tornare a una versione stabile di Android in qualsiasi momento, tutti i dati salvati localmente sul dispositivo verranno cancellati quando si torna alla versione stabile. Tieni presente che se rimani iscritto fino alla fine del programma beta, ti laureerai e riceverai la versione pubblica finale di Android Q senza perdere i tuoi dati.

Se desideri iniziare a ricevere aggiornamenti Android Q over-the-air, visita il sito Web Android Beta per ulteriori informazioni.

2. Esegui il flashing manuale di un'immagine del sistema Android Q.

Se non ti piace l'idea di ricevere gli aggiornamenti di Android Q via etere, puoi scaricare e inviare manualmente un'immagine del sistema Android Q sul tuo dispositivo Pixel.

Google ha pubblicato le immagini di sistema per tutti i dispositivi Pixel compatibili, insieme alle istruzioni su come eseguire il flashing di un'immagine di sistema. Questo approccio manuale può essere utile se devi testare una versione specifica di Android Q o se vuoi iniziare subito i test piuttosto che iscriverti al programma Beta e potenzialmente attendere fino a 24 ore per ricevere il tuo primo aggiornamento.

3. Utilizzare l'emulatore Android

Se non desideri i rischi associati all'installazione del software beta su uno smartphone o un tablet fisico o se non possiedi un dispositivo compatibile, puoi invece utilizzare un AVD.

Per scaricare l'ultima immagine di anteprima di Android Q, attenersi alla seguente procedura:

  • Avvia Android Studio.
  • Seleziona Strumenti> Gestione SDK dalla barra degli strumenti di Android Studio.
  • Assicurarsi che la scheda Piattaforme SDK sia selezionata.
  • Seleziona Mostra dettagli pacchetto.
  • Seleziona Google Play Intel x86 Atom System Image.

  • Clicca OK.
  • Crea un AVD usando questa immagine di sistema.

Come testare la mia app con Android Q?

Una volta che hai un dispositivo fisico o AVD che esegue Android Q, dovresti sottoporre la tua app agli stessi processi e procedure di test che usi durante la preparazione qualunque pubblicazione. Durante i test, dovresti anche prestare particolare attenzione alle modifiche alla privacy di Android Q, poiché potrebbero potenzialmente rompere la tua app.

Dopo aver verificato che la tua applicazione offre un'esperienza utente positiva su Android Q, devi pubblicare la tua app Android Q compatibile su Google Play il prima possibile. Rilasciando la tua app in anticipo, puoi raccogliere feedback prima che la maggior parte della tua base di utenti passi ad Android Q.

In alternativa, puoi utilizzare le tracce di test di Google Play per inviare l'APK a un gruppo selezionato di tester, quindi eseguire un'implementazione graduale alla produzione quando sei soddisfatto del loro feedback.

Speriamo che questo articolo ti abbia aiutato a preparare la tua app per Android Q! Di quale funzionalità Android Q sei più entusiasta?

Redmi - Lockcreen Glance Redmi - Annunci lettore videoI telefoni ono, in otanza, i vettori per il buine dei ervizi di Xiaomi, che conente di inviare un'intera gamma di ervizi a milioni di utenti...

econdo quanto riferito, Xiaomi ha lanciato un dipartimento africano dedicato per guidare l'epanione nel continente.I telefoni del marchio cinee ono attualmente diponibili per l'acquito nel con...

Popolare