Dans cette section, nous partons du principe que vous avez déjà suivi le guide "Hello World". Il vous guidera pour convertir cela en implémentation complète. Il renvoie souvent aux sections de référence de développement de ce document.
Remplacez la logique de l'exemple Hello World par votre logique interprofil réelle.
N'hésitez pas à créer un désordre et à ne pas vous préoccuper des bonnes pratiques comme la testabilité. Assurez-vous qu'elle fonctionne.
Cela inclut la modification de la classe interprofils, des appels interprofils et du fournisseur. Si vous avez besoin d'un Context
dans la méthode du fournisseur ou dans le constructeur de la classe du fournisseur, vous pouvez en ajouter un en tant que paramètre, et le SDK le fournira automatiquement.
Vous devez décider si vos appels seront asynchrones ou synchrones. Vous devez également vous assurer que tous les types de paramètres et de renvois utilisés par vos appels interprofils sont compatibles.
Refactorisez votre logique pour obtenir une architecture que vous pourrez soumettre
Commencez par lire chacune des suggestions d'architecture afin de ne pas avoir à effectuer plusieurs refactorisations contradictoires. Une fois que vous avez planifié les modifications, examinez-les et cochez-les, puis recréez et testez les modifications après chaque modification.
Vérifiez la confidentialité et la sécurité
Vérifiez que vous ne risquez pas de stocker des données dans le mauvais profil ou d'envoyer des données à un serveur (y compris la journalisation du serveur) à partir du mauvais profil.
Envisager d'autres solutions recommandées
- Pour simplifier vos appels, envisagez de désigner un profil comme profil principal. Réfléchissez à ce qui se passe si votre logique est exécutée sur l'un ou l'autre de ces profils.
- Actualisez l'interface utilisateur lorsque la disponibilité de l'autre profil change.
- Consultez la discussion sur les exceptions au cas où vous devriez prendre des mesures.
- Si vous prévoyez que les utilisateurs n'utiliseront l'icône de l'application que dans l'un des deux profils, ajoutez l'attribut de fichier manifeste
android:crossProfile = "true"
. Cela empêche l'application qui n'est pas directement utilisée par l'utilisateur d'être déléguée à des buckets de mise en veille des applications inférieurs.
Ajouter des tests
Consultez la documentation de test.
Tenir compte des autorisations
Si votre application nécessite un consentement total, remplacez
INTERACT_ACROSS_USERS
parINTERACT_ACROSS_PROFILES
et demandez l'autorisation à l'utilisateur. Les applications déclarantINTERACT_ACROSS_PROFILES
ne peuvent pas être importées sur le Play Store tant qu'elles ne figurent pas sur la liste d'autorisation. Par conséquent, cette modification du fichier manifeste doit être associée à un indicateur jusqu'à ce que cela soit fait.Si votre application est pré-autorisée, vous pouvez également le faire si vous souhaitez inviter les utilisateurs qui l'ont précédemment désactivée (mais soyez responsable : n'envoyez pas de spam aux utilisateurs).