Thème sombre, API thermique et bulles: Préparez votre application pour Android 10

Auteur: Louise Ward
Date De Création: 6 Février 2021
Date De Mise À Jour: 2 Juillet 2024
Anonim
Thème sombre, API thermique et bulles: Préparez votre application pour Android 10 - Applications
Thème sombre, API thermique et bulles: Préparez votre application pour Android 10 - Applications

Contenu


La dernière version d'Android, encore inédite et sans nom, introduit des fonctionnalités et des API que vous pouvez utiliser pour créer de nouvelles expériences pour vos utilisateurs - ainsi que quelques changements de comportement que vous devez surveiller.

Même si vous ne mettez pas à jour votre application pour cibler Android Q, certains de ces changements auront un impact. chaque l’application installée sur Android Q, même si votre application ne cible pas explicitement cette version d’Android.

Certaines de ces modifications affecteront toutes les applications installées sur Android Q.

Que vous souhaitiez expérimenter les dernières fonctionnalités ou que vous souhaitiez simplement vous assurer que votre application ne sera pas interrompue au moment de son installation sur Android Q, c'est le moment idéal pour commencer à préparer la sortie imminente d'Android Q.


Lisez aussi:Android Q: Tout ce que les développeurs doivent savoir

Dans cet article, je vais décrire toutes les étapes à suivre pour préparer votre application pour Android Q, des fonctionnalités les plus récentes aux solutions de sécurité mineures susceptibles de détruire l’ensemble de votre application.

Eviter les limitations du processeur et du processeur graphique: surveiller la température de l’appareil

Une surchauffe peut sérieusement endommager votre smartphone ou votre tablette. Par mesure de protection, Android limitera le processeur et le processeur graphique de votre appareil lorsqu'il détectera que les températures approchent de niveaux dangereux.

Ce comportement contribue à protéger le matériel du périphérique, mais il peut également avoir un impact notable sur les performances de l’application, en particulier si votre application utilise des graphiques haute résolution, des calculs lourds ou une activité réseau continue.


Tandis que ce ralentissement est imposé par le système, votre utilisateur de smartphone ou de tablette typique reprochera à votre application toute baisse de performances. Dans le pire des cas, l'utilisateur peut décider que votre application est défectueuse ou endommagée, voire même désinstaller votre application, ce qui vous laissera un avis négatif sur Google Play.

Dans le pire des cas, l'utilisateur peut décider que votre application est défectueuse ou endommagée.

Android Q introduit une nouvelle API Thermal qui peut vous aider à éviter cette limitation du processeur et du processeur graphique. Vous pouvez utiliser la méthode addThermalStatusListener () de cette API pour créer un écouteur pour les changements d’état thermique, puis ajuster le comportement de votre application lorsque la température de l’appareil commence à augmenter. Cela peut aider à réduire les risques que le système ait recours à la limitation du processeur ou du processeur graphique. Par exemple, vous pouvez réduire la pression exercée par votre application sur le système en surchauffe en diminuant votre résolution ou votre cadence, ou en désactivant des fonctionnalités gourmandes en ressources, telles que la connectivité réseau.

Notez que l’API thermique d’Android Q requiert une nouvelle couche HAL de périphérique, qui n’était disponible au moment de la rédaction que sur les périphériques Pixel.

Réduisez la fatigue oculaire et améliorez la visibilité avec le thème Dark

Sur Android Q, les utilisateurs peuvent activer un thème Dark à l’échelle du système, conçu pour réduire la fatigue oculaire, améliorer la visibilité par faible luminosité et réduire la consommation électrique sur les appareils dotés d’écrans OLED.

Dark Theme est une interface utilisateur à faible luminosité qui utilise des surfaces sombres pour l'arrière-plan et des couleurs de premier plan claires pour des éléments tels que le texte et l'iconographie.

Les utilisateurs peuvent activer ce thème Dark à l’échelle du système à tout moment via une nouvelle vignette Paramètres rapides ou en lançant l’application Paramètres de leur appareil et en naviguant jusqu'à Afficher> Thème. Sur les appareils Pixel, le passage en mode Économiseur de batterie activera également le thème sombre automatiquement.

Le thème sombre est appliqué à l’ensemble du périphérique. Par conséquent, pour vous offrir une expérience utilisateur cohérente, vous devez vous assurer que votre application prend entièrement en charge le thème sombre.

Pour ajouter la prise en charge de Dark Theme, assurez-vous d’utiliser la dernière version de la bibliothèque Material Android, puis mettez à jour votre application pour hériter de Theme.MaterialComponents.DayNight, par exemple:

Vous devrez ensuite créer un fichier res / values-night / themes.xml et hériter de Theme.MaterialComponents:

Pour offrir une bonne expérience utilisateur, vous devrez peut-être modifier le comportement de votre application lorsque le thème sombre sera activé, par exemple remplacer ou supprimer des graphiques émettant une quantité importante de lumière.

Vous pouvez vérifier si le thème sombre est activé à l'aide de l'extrait de code suivant:

int currentNightMode = configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK; switch (currentNightMode) {// Le thème sombre n'est pas actif // la casse Configuration.UI_MODE_NIGHT_NO: break; // Le thème sombre est actif // la casse Configuration.UI_MODE_NIGHT_YES: break; }

Votre application peut alors modifier son comportement en fonction du thème actuellement actif.

API du panneau de configuration: affichage des paramètres de périphérique dans votre application

Si votre application cible Android Q, vous ne pourrez plus modifier directement les paramètres Wi-Fi de l'appareil. Au lieu de cela, vous devrez demander à l'utilisateur d'apporter les modifications souhaitées à l'aide de l'API du panneau de configuration.

Vous pouvez utiliser cette nouvelle API pour afficher le contenu de l’application Paramètres de l’appareil, sous la forme d’un panneau incorporé qui glisse sur le contenu de votre application. Du point de vue de l'utilisateur, ces contrôles intégrés à l'application lui permettent de modifier rapidement et facilement les paramètres de son appareil sans avoir à lancer une application distincte. Pour un développeur d’application, l’API du panneau de configuration vous permet de modifier l’état du Wi-Fi et d’autres paramètres essentiels du périphérique, sans inciter l’utilisateur à quitter son application.

Avec Android Q, Google fait des notifications sous forme de tête de chat un élément officiel de la plateforme Android avec l'introduction de l'API Bubble.

Conçues comme une alternative à SYSTEM_ALERT_WINDOW, les notifications par bulles semblent «flotter» au-dessus du contenu des autres applications, dans un style qui rappelle les notifications flottantes utilisées par Facebook Messenger pour Android.

Les notifications par bulles peuvent être développées pour révéler des informations supplémentaires ou des actions personnalisées permettant aux utilisateurs d'interagir avec votre application, en dehors du contexte de l'application.

Lorsque votre application tente de créer sa première bulle, Android demande à l'utilisateur s'il souhaite autoriser toutes les bulles de votre application ou s'il bloque toutes les bulles. Si l'utilisateur choisit de bloquer toutes les bulles de votre application, elles seront alors affichées sous forme de notifications standard. Vos bulles seront également affichées sous forme de notifications standard chaque fois que l'appareil est verrouillé ou que l'affichage permanent est actif. Pour offrir une bonne expérience utilisateur, vous devez vous assurer que toutes vos bulles s’affichent et fonctionnent correctement comme des notifications régulières.

Pour créer une bulle, vous aurez besoin d’une activité définissant le comportement de la bulle développée et d’une présentation définissant son interface utilisateur. Pour un guide pas à pas sur la création de votre première notification par bulle, consultez Explorez Android Q: Ajouter des notifications par bulle à votre application.

Augmentation de l'accessibilité avec la navigation gestuelle à l'échelle du système

Les utilisateurs ayant des problèmes de dextérité peuvent trouver plus facile d'interagir avec leur appareil en utilisant des gestes. Dans Android Q, les utilisateurs ont la possibilité d'activer la navigation gestuelle sur l'ensemble de leur appareil, ce qui aura un impact sur chaque application installée sur ce périphérique.

Même si vous ne mettez pas à jour votre application pour cibler Android Q, votre application volonté affectés par les paramètres de navigation de l'appareil, vous devez donc vous assurer que votre application est compatible avec la navigation gestuelle d'Android Q.

En mode de navigation gestuelle, votre application doit utiliser l'intégralité de l'écran. Par conséquent, la première étape consiste à indiquer au système Android que votre application prend en charge la vue de bout en bout. Pour mettre en page votre application en plein écran, vous pouvez utiliser les indicateurs SYSTEM_UI_FLAG_LAYOUT_STABLE et SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, par exemple:

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

Vous devez également implémenter la prise en charge d’une barre système transparente en ajoutant les éléments suivants à votre thème:

Lorsque le moment est venu de tester votre application, vous devez vérifier que les gestes du système d'Android Q ne déclenchent aucun contrôle de votre application, tel que des boutons ou des menus. En particulier, Android Q utilise un balayage vers l’intérieur pour l’action Retour et un balayage vers le haut pour les sélections Home et Quick, qui peuvent interférer avec tous les éléments de l’UI situés dans ces zones.

Si, au cours des tests, vous découvrez que glisser depuis le bas de l'écran ou vers l'intérieur déclenche les contrôles de votre application, vous pouvez indiquer quelles régions sont configurées pour recevoir la saisie tactile. Pour bloquer certaines zones, passez une liste à l’API View.setSystemGestureExclusionRects () d’Android Q, par exemple:

liste exclusionRects; public void onLayout (boolean modifiedCanvas, int gauche, int haut, int droite, int bas) {setSystemGestureExclusionRects (exclusionRects); } public void onDraw (toile Canvas) {setSystemGestureExclusionRects (exclusionRects); }

Si votre application utilise des mouvements personnalisés, vous devez également vérifier qu’ils ne sont pas en conflit avec les mouvements de navigation du système.

Capturer l'audio à partir d'applications tierces

Android Q introduit une API AudioPlaybackCapture qui permet à votre application de capturer de l'audio à partir d'autres applications. Parfait si vous créez une application d'enregistrement d'écran!

Pour capturer la lecture audio, vous devez demander l’autorisation RECORD_AUDIO, puis:

  • Générez une instance AudioPlaybackCaptureConfiguration à l'aide de AudioPlaybackCaptureConfiguration.Builder.build ().
  • Configurez et créez l'instance AudioRecord en appelant setAudioPlaybackCaptureConfig, puis en transmettant la configuration à l'objet AudioRecord.

Par exemple:

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

Cette nouvelle API signifie que, par défaut, les applications tierces pourront enregistrer tout audio de votre application. Pour certaines applications, cela peut poser un problème de confidentialité ou même exposer votre application à un risque de violation du droit d'auteur. Si nécessaire, vous pouvez empêcher des tiers de capturer l'audio de votre application en ajoutant android: allowAudioPlaybackCapture = "false" à votre manifeste.

Même avec ce drapeau en place, les applications système pourront toujours capturer la lecture audio de votre application, car les fonctionnalités d'accessibilité telles que le sous-titrage dépendent de la capture audio.

Pour offrir une expérience accessible, il est recommandé de toujours autoriser les composants système à capturer le son de votre application, mais vous pouvez bloquer les applications système à l’aide de la constante ALLOW_CAPTURE_BY_NONE, si nécessaire.

Authentification biométrique améliorée

Android Q apporte de nombreuses modifications à l’authentification BiometricPrompt d’Android.

1. Vérifier la capacité biométrique

Avant d'appeler BiometricPrompt, vous pouvez maintenant vérifier si le périphérique prend en charge l'authentification biométrique, à l'aide de la nouvelle méthode canAuthenticate ().

2. Dialogues d'authentification biométriques simplifiés

Android Q apporte une modification subtile aux dialogues d’authentification de BiometricPrompt.

Android permet aux utilisateurs d'authentifier leur identité à l'aide d'un certain nombre de modalités biométriques implicites «mains libres», telles que l'authentification du visage ou de l'iris. Cependant, même si l’utilisateur réussit à vérifier son identité en utilisant une modalité implicite, il encore appuyer sur le bouton Confirmer de la boîte de dialogue pour terminer le processus d'authentification.

Pour de nombreuses modalités biométriques implicites, cette action de confirmation est inutile. Dans Android Q, vous pouvez donc demander au système de supprimer le bouton de confirmation de la boîte de dialogue d'authentification biométrique.

Ce petit changement peut avoir un impact positif sur l'expérience utilisateur. Vérifier votre identité en regardant votre appareil est plus facile que de regarder votre appareil, d'attendre qu'il reconnaisse votre visage, puis d'appuyer sur le bouton Confirmer.

Sous Android Q, vous pouvez demander au système de supprimer le bouton de confirmation en transmettant false à la méthode setConfirmationRequired (). Notez que le système peut choisir d’ignorer votre demande dans certains scénarios, par exemple si l’utilisateur a désactivé l’authentification implicite dans les paramètres de son périphérique.

3. Méthodes d'authentification alternatives

Il peut arriver qu'un utilisateur ne puisse pas s'authentifier à l'aide d'une entrée biométrique. Dans ces scénarios, vous pouvez leur permettre d’authentifier leur identité à l’aide du code PIN, du modèle ou du mot de passe de leur périphérique à l’aide de la nouvelle méthode setDeviceCredentialAllowed ().

Une fois cette solution de secours activée, l'utilisateur sera initialement invité à s'authentifier à l'aide de la biométrie, mais aura ensuite la possibilité de s'authentifier à l'aide d'un code confidentiel, d'un modèle ou d'un mot de passe.

Exécutez le code DEX intégré directement à partir de votre APK

Sous Android Q, il est possible d’exécuter le code DEX incorporé directement à partir de votre fichier APK, ce qui permet d’empêcher les pirates de manipuler le code compilé localement de votre application.

Vous pouvez activer cette nouvelle fonctionnalité de sécurité en ajoutant les éléments suivants à l’élément de votre manifeste:

android: useEmbeddedDex = "true"

Vous pouvez ensuite créer un fichier APK contenant du code DEX non compressé, en ajoutant les éléments suivants à votre fichier de génération Gradle:

aaptOptions {noCompress dex}

Nouvelles autorisations pour la reconnaissance d'activité

Android Q introduit une nouvelle autorisation d'exécution com.google.android.gms.permission.ACTIVITY_RECOGNITION pour les applications qui doivent enregistrer le nombre de pas de l'utilisateur ou catégoriser son activité physique, telle que la course ou le cycle.

L’API de reconnaissance d’activité d’Android ne fournira plus de résultats si votre application ne dispose pas de cette nouvelle autorisation ACTIVITY_RECOGNITION. Notez que si votre application utilise des données de capteurs intégrés tels que le gyroscope ou l'accéléromètre, vous n'avez pas besoin de demander l'autorisation ACTIVITY_RECOGNITION.

Restrictions sur l'activité commence

Pour aider à minimiser les interruptions, Android Q impose de nouvelles restrictions au moment où votre application peut démarrer une activité. Vous trouverez une liste complète de toutes les conditions permettant le démarrage d’Activity sur la documentation Android officielle.

Superpositions d'alerte système supprimées d'Android Go

Si votre application arrive sur un appareil utilisant Android Q et Android Go, elle ne pourra pas accéder à l’autorisation SYSTEM_ALERT_WINDOW. Cette modification a été implémentée pour éviter les baisses de performances notables pouvant survenir lorsque les appareils Android Go tentent de dessiner la fenêtre de superposition SYSTEM_ALERT_WINDOW.

Dites adieu à Android Beam

Android Q marque la fin d'Android Beam, cette fonctionnalité de partage de données étant désormais obsolète.

Assurer la sécurité de vos utilisateurs: modifications clés de la confidentialité

Android Q introduit un certain nombre de modifications de la confidentialité qui permettent aux utilisateurs de mieux contrôler leurs données et les fonctions sensibles de leur appareil.

Malheureusement, ces modifications peuvent affecter le comportement de votre application et peuvent même complètement casser votre application. Lorsque vous testez votre application sur Android Q, vous devez accorder une attention particulière aux modifications de confidentialité suivantes:

1. Scoped storage: le nouveau modèle de stockage externe d’Android

Android Q impose de nouvelles restrictions sur la manière dont les applications accèdent au stockage externe.

Par défaut, si votre application cible Android Q, elle disposera d’une «vue filtrée» dans la mémoire de stockage externe de l’appareil (appelée auparavant «vue en mode bac à sable»), qui fournit uniquement l’accès à un répertoire spécifique à l’application.

Avec le stockage ciblé, votre application peut accéder à ce répertoire spécifique à l’application et à tout son contenu. sans pour autant avoir à déclarer des autorisations de stockage.Toutefois, votre application ne peut accéder aux fichiers créés par d’autres applications que si elle dispose de l’autorisation READ_EXTERNAL_STORAGE et que le ou les fichiers se trouvent dans Photos (MediaStore.Images), Vidéos (MediaStore.Video) ou Musique (MediaStore.Audio). Si votre application nécessite un accès à un fichier ne répondant pas à ces critères, vous devez utiliser Storage Access Framework.

Au moment de la rédaction de cet article, il était possible de désactiver le stockage ciblé en ajoutant Android: requestLegacyExternalStorage = "true" au manifeste de votre projet, mais selon le document officiel Android, le stockage ciblé de la portée sera éventuellement requis par toutes les applications. Il est donc recommandé vous mettez à jour votre application dès que possible.

2. Déterminez quand une application peut accéder à votre emplacement

Android Q donne aux utilisateurs plus de contrôle sur le moment où une application peut accéder à leur emplacement.

Lorsque votre application nécessite des informations de localisation, Android Q affiche une boîte de dialogue vous demandant si l'utilisateur souhaite partager ces informations:

  • Lorsque votre application est exécutée au premier plan seulement.
  • Tout le temps (c'est-à-dire lorsque votre application est au premier plan et l'arrière-plan).

Si l'utilisateur accorde à votre application un accès permanent, alors Android Q créera des notifications régulières pour lui rappeler que votre application peut accéder à leur emplacement à tout moment.

Pour implémenter ces modifications, Android Q introduit une nouvelle autorisation ACCESS_BACKGROUND_LOCATION.

Si votre application nécessite l’accès aux informations de localisation en arrière-plan, vous devez demander cette nouvelle autorisation, ainsi que l’autorisation ACCESS_COARSE_LOCATION ou ACCESS_FINE_LOCATION existante. Par exemple:

3. Nouvelles restrictions sur les identificateurs de système non réinitialisables

Si vous devez accéder à des identifiants système non réinitialisables, tels que IMEI et un numéro de série, vous devez maintenant demander l’autorisation READ_PRIVILEGED_PHONE_STATE.

Dans la mesure du possible, il est recommandé d'utiliser d'autres méthodes de suivi de l'utilisateur. Par exemple, si vous souhaitez enregistrer les analyses des utilisateurs, vous pouvez créer un identifiant de publicité Android plutôt que de demander l'accès à des identificateurs de périphérique non réinitialisables.

Assurez-vous d’être prêt pour Android Q: Tester votre application

La meilleure façon de vous assurer que votre application offre une bonne expérience utilisateur sur Android Q consiste à la tester sur un appareil utilisant Android Q.

En attendant la version officielle, il existe trois façons de tester votre application par rapport aux aperçus des développeurs Android Q: inscrivez votre appareil dans le programme Android Beta, placez une image système Android Q manuellement sur votre appareil ou utilisez un lecteur virtuel Android. Appareil (AVD).

1. Installez Android Q beta sur un périphérique physique

Si vous possédez un appareil compatible (la liste complète est disponible ici), vous pouvez obtenir des mises à jour d'Android Q par liaison radio en vous inscrivant au programme Android Beta. Au moment de la rédaction de ce document, tous les téléphones Google Pixel sont pris en charge par le programme Android Beta. Cela inclut Google Pixel, Pixel XL, Pixel 2, Pixel 2 XL, Pixel 3, Pixel 3 XL, Pixel 3a et Pixel 3a XL.

Si vous ne possédez pas de Pixel, la version bêta d’Android Q est également disponible sur certains appareils de nombreux fabricants, dont Asus, Huawei, LG, Xiaomi, etc. Pour la liste complète des périphériques pris en charge, consultez la liste ici.

Une fois inscrit, Google estime que vous recevrez entre trois et six mises à jour au cours du programme.

Avant de vous inscrire au programme bêta, vous devez être conscient de plusieurs inconvénients. Les versions préliminaires d’Android peuvent contenir des bogues et des erreurs susceptibles d’empêcher votre appareil de fonctionner normalement. En outre, aucun support officiel n’est disponible si vous rencontrez des difficultés. Les utilisateurs qui utilisent des versions préliminaires d’Android ne recevront pas non plus de mises à jour de sécurité mensuelles distinctes, ce qui pourrait rendre votre appareil vulnérable aux attaques et aux exploits.

Enfin, bien que vous puissiez désactiver le programme et revenir à tout moment à une version stable d'Android, toutes les données enregistrées localement sur votre appareil seront effacées lorsque vous reviendrez à la version stable. Notez que si vous restez inscrit jusqu'à la fin du programme bêta, vous obtiendrez votre diplôme et recevrez la version finale publique d'Android Q. sans pour autant perdre l'une de vos données.

Si vous souhaitez commencer à recevoir des mises à jour d'Android Q par liaison radio, rendez-vous sur le site Web Android Beta pour plus d'informations.

2. Flash manuellement une image du système Android Q

Si vous n’aimez pas l’idée de recevoir des mises à jour Android Q par liaison radio, vous pouvez télécharger et faire clignoter manuellement une image du système Android Q sur votre appareil Pixel.

Google a publié les images système de tous les appareils Pixel compatibles, ainsi que des instructions sur la manière de flasher une image système. Cette approche manuelle peut s'avérer utile si vous devez tester une version spécifique d'Android Q ou si vous souhaitez commencer les tests immédiatement plutôt que de vous inscrire au programme bêta et d'attendre potentiellement jusqu'à 24 heures pour recevoir votre première mise à jour.

3. Utilisez l'émulateur Android

Si vous ne souhaitez pas que les risques associés à l'installation du logiciel en version bêta sur un smartphone ou une tablette physique, ou si vous ne possédez pas d'appareil compatible, vous pouvez utiliser un AVD à la place.

Pour télécharger la dernière image d’aperçu Android Q, procédez comme suit:

  • Lancer Android Studio.
  • Sélectionnez Outils> Gestionnaire de SDK dans la barre d’outils Android Studio.
  • Assurez-vous que l'onglet SDK Platforms est sélectionné.
  • Sélectionnez Afficher les détails du paquet.
  • Sélectionnez Image système Intel x86 Atom de Google Play.

  • Cliquez sur OK.
  • Créez un DAV avec cette image système.

Comment tester mon application avec Android Q?

Une fois que vous avez un périphérique physique ou un AVD sous Android Q, vous devez soumettre votre application aux mêmes processus et procédures de test que vous utilisez lors de la préparation. tout Libération. Lors des tests, vous devez également porter une attention particulière aux modifications de la confidentialité d’Android Q, car elles pourraient potentiellement endommager votre application.

Une fois que vous avez vérifié que votre application offre une bonne expérience utilisateur sur Android Q, vous devez publier votre application compatible Android Q sur Google Play dès que possible. En publiant votre application au plus tôt, vous pouvez recueillir des informations avant que la majorité de vos utilisateurs ne passe à Android Q.

Vous pouvez également utiliser les pistes de test de Google Play pour envoyer votre APK à un groupe de testeurs sélectionné, puis effectuer un déploiement par étapes en production lorsque vous êtes satisfait de leurs commentaires.

Nous espérons que cet article vous a aidé à préparer votre application pour Android Q! Quelle fonction Android Q êtes-vous le plus excité?

Xiaomi a réui à tuer beaucoup de martphone trè bon marché à un rythme preque inceant. Qu'il 'agie de la publication d'un appareil Xiaomi authentique ou d'un ap...

Bien que beaucoup d’entre nou aux État-Uni connaient le ligne Galaxy et Note de amung, la ociété dipoe d’un vate portefeuille de combiné detiné au marché intermédia...

Nouveaux Articles