Android 7.1.1 prend en charge le mode démo en magasin au niveau du système, clients peuvent observer les appareils en action en magasin. Les appareils sont configurés pour la démonstration en magasin à l'aide d'une application de propriétaire de l'appareil afin de s'assurer que l'utilisation de l'appareil est qu'à certaines applications en mode démo. Les utilisateurs finaux ne doivent pas pouvoir ajouter un compte personnel sur un appareil de démonstration en magasin. Android 8.1 remplace cette prise en charge par créer utilisateurs de démonstration via le DevicePolicyManager createAndManageUser API. Cela permet une personnalisation beaucoup plus poussée des OEM par rapport au mode retail standard concernant la gestion des utilisateurs et des règles de l'appareil sur l'appareil de démonstration.
Si DevicePolicyManager
Les API peuvent être utilisées sur des versions antérieures à Android 8.1,
Impossible de créer des utilisateurs de type demo-type (DevicePolicyManager.MAKE_USER_DEMO
)
avec la propriété createAndManageUser
dans les versions 8.0 et antérieures.
Implémentation sous Android 8.1 et versions ultérieures
Cette section présente les améliorations apportées à la plate-forme et décrit la démonstration en magasin. Android 8.1 et versions ultérieures.
Modifications de la plate-forme
Définir DEVICE_DEMO_MODE
Les appareils qui implémentent un mode de démonstration en magasin basé sur le propriétaire de l'appareil doivent définir
Settings.Global.DEVICE_DEMO_MODE
à 1 avant
pour indiquer que l'appareil est en cours de provisionnement pour la démonstration en magasin
.
SystemServer (Serveur système)
utilise cet indicateur pour gérer les aspects du mode Point de vente, comme le profil d'alimentation et
SystemUI (UI du système).
Activer RetailDemoModeService
Sur les appareils sur lesquels le mode démo en magasin est implémenté, l'assistant de configuration définit une configuration globale
paramètre
Global.DEVICE_DEMO_MODE
à true
pour indiquer que l'appareil est passé en mode Point de vente. Le
RetailDemoModeService crée un utilisateur de démonstration et y accède au démarrage de l'utilisateur 0, active
le lanceur d’applications personnalisé spécifié dans une
ressource de superposition et désactive SUW. Système
Server et SystemUI utilisent également cet indicateur pour gérer les aspects du mode Retail.
Définir un lanceur d'applications ou un lecteur vidéo personnalisé
Les fabricants d'appareils peuvent spécifier un lanceur d'applications personnalisé en remplaçant le framework
la ressource config_demoModeLauncherComponent
spécifiée dans le fichier config.xml
comme suit.
<!-- Component that is the default launcher when Retail Mode is enabled. -->
<string name="config_demoModeLauncherComponent">com.android.retaildemo/.DemoPlayer</string>
L'application de démonstration en magasin DemoPlayer située à l'adresse /packages/apps/RetailDemo. est le lanceur d'applications personnalisé par défaut dans le projet Android Open Source (AOSP). La L'application recherche une vidéo dans une partition d'appareil telle que /data/preloads/demo/retail_demo.mp4. et le lit en boucle. Lorsque l'utilisateur touche l'écran, le lanceur d'applications personnalisé désactive son composant d'activité, ce qui fait que le lanceur système par défaut démarrer.
Le composant personnalisé du lanceur d'applications personnalisé doit être marqué comme désactivé par défaut
afin qu'il n'apparaisse pas
dans des scénarios autres que la catégorie démographique. Dans le scénario de démonstration,
Le serveur active le config_demoModeLauncherComponent
spécifié lors du démarrage d'une
nouvelle session de démonstration.
L'assistant de configuration recherche également la vidéo mentionnée précédemment pour fournir une l' affordance pour passer au mode de vente au détail. SUW peut être modifié pour rechercher d'autres Signe spécifique à l'OEM que le mode Point de vente est disponible si la vidéo ne fait pas partie la démonstration. S'il existe des partitions système A/B, la partition du système B doit contient la vidéo de démonstration sur /preloads/demo. Ceci est copié sur /data/preloads/demo au premier démarrage.
Personnaliser les applications préchargées pour le mode démo en magasin
Les applications préchargées peuvent personnaliser leur expérience pour le mode démo en magasin en appelant
le UserManager.isDemoUser()
API pour voir si l'application est lancée dans un environnement de démonstration.
Certaines restrictions sont définies dans l'utilisateur de la version de démonstration, comme pour les appareils gérés ou
qui empêchent les applications et les utilisateurs d'effectuer certaines opérations.
L'une de ces restrictions est DISALLOW_MODIFY_ACCOUNTS
. Avec cette restriction, le AccountManager
et Paramètres
n'autorisez pas l'ajout de comptes. Certaines applications Google réagissent à cette restriction
et afficher un message d'erreur. Les autres utilisateurs ne vous inviteront pas à créer un compte (par exemple,
YouTube et Photos). Nous recommandons aux applications OEM de vérifier
DISALLOW_MODIFY_ACCOUNTS
est défini et gère le scénario en conséquence.
Mises à jour du système
Par défaut, lorsque le mode Point de vente est activé, les règles relatives aux appareils sont définies sur Over The Air (OTA) se mettent à jour automatiquement. Les appareils de vente au détail seront téléchargés, redémarrés et installés. la mise à jour (en respectant le seuil de batterie) sans intervention de l'utilisateur.
Application de démonstration en magasin
Pour implémenter le mode démo en magasin basé sur le propriétaire de l'appareil, Outil de contrôle des règles relatives aux appareils app pour être défini comme propriétaire de l'appareil. L'AOSP contient une application RetailDemo de référence dans /packages/apps/RetailDemo.
Les applications de propriétaire de l'appareil ne nécessitent pas de droits élevés ni d'installation préalable sur le et peut être téléchargée lors du processus de configuration ou de provisionnement. Elles sont généralement implémentées comme les applications traditionnelles, avec les éléments suivants : différences:
Toutes les applications du propriétaire de l'appareil doivent étendre la DeviceAdminReceiver qui sert de jeton d'autorisation pour toutes Gestionnaire de règles d'appareil API. Le composant doit contenir le
android.permission.BIND_DEVICE_ADMIN
autorisation, inclure les règles spéciales demandées en tant que métadonnées et filtrerandroid.app.action.PROFILE_PROVISIONING_COMPLETE
etandroid.app.action.DEVICE_ADMIN_ENABLED
les intents.DevicePolicyManager#Make_USER_DEMO qui est configuré pour créer des utilisateurs spéciaux de type démo, est une API cachée. Cet indicateur présente une valeur constante de 0x4.
La propriété des appareils ne doit être attribuée que via le rôle de gestion des appareils ou l'API ManagedProvisioning l'application.
API dans DevicePolicyManager permettent aux propriétaires d'appareils et de profils d'appliquer différents paramètres règles. Certains éléments DevicePolicyManager applicables au mode démo en magasin sont indiquées ci-dessous.
Créer et gérer des utilisateurs
Redémarrez l'appareil.
Définir les packages autorisés de LockTask.
Installez les packages via PackageInstaller.
Empêcher la désinstallation de packages
Activer les mises à jour automatiques du système Les appareils téléchargeront et appliqueront automatiquement les mises à jour OTA.
Désactivez la protection du clavier.
Empêchez la configuration de mots de passe ou d'empreintes digitales.
Définissez un ensemble d'éléments Settings.Global sur la liste d'autorisation, Settings.Secure et Settings.System paramètres.
Définissez la règle d'autorisation sur
PERMISSION_POLICY_AUTO_GRANT
. accorde automatiquement toutes les autorisations d'exécution. Des autorisations peuvent aussi être accordées plus restreinte: une autorisation unique pour une seule application. Cela ne s'applique pas des autorisations de fonctionnement des applications, que les utilisateurs doivent toujours accorder au niveau de chaque utilisateur et de chaque application.Définissez les restrictions utilisateur applicables au mode Point de vente, telles que définies dans Gestionnaire d'utilisateurs comme suit.
DISALLOW_MODIFY_ACCOUNTS
DISALLOW_USB_FILE_TRANSFER
DISALLOW_DEBUGGING_FEATURES
DISALLOW_CONFIG_WIFI
DISALLOW_CONFIG_BLUETOOTH
DISALLOW_INSTALL_UNKNOWN_SOURCES
DISALLOW_CONFIG_MOBILE_NETWORKS
Mettre à jour la vidéo de démonstration depuis le Web
L'application RetailDemo dans /packages/apps/RetailDemo a la possibilité de mettre à jour la vidéo de démonstration s'il y a une connectivité réseau. Pour configurer l'URL de téléchargement de la vidéo, remplacez les éléments suivants : dans l'application RetailDemo.
<!-- URL where the retail demo video can be downloaded from. -->
<string name="retail_demo_video_download_url"></string>
Si des vidéos différentes doivent être utilisées dans différentes régions, vous devez Les URL de téléchargement peuvent être configurées à l'aide de ressources de chaîne spécifiques aux paramètres régionaux. dans res/values-*/strings.xml. Par exemple, si des vidéos différentes doivent être utilisées aux États-Unis et de la Grande-Bretagne, les URL de téléchargement correspondantes peuvent être placées res/values-en-rUS/strings.xml et res/values-en-rGB/strings.xml, respectivement, comme indiqué ci-dessous.
Dans res/values-en-rUS/strings.xml:
<string name="retail_demo_video_download_url">download URL for US video goes here</string>
Dans res/values-en-rGB/strings.xml:
<string name="retail_demo_video_download_url">download URL for UK video goes here</string>
Cette vidéo est téléchargée une fois au maximum à chaque redémarrage de l'appareil. Lorsque vidéo sur l'appareil en cours de lecture, l'application RetailDemo s'exécute en arrière-plan Si l'URL de téléchargement est fournie et que la vidéo associée à cette URL est plus récente que en cours de lecture.
Si c'est le cas, l'application RetailDemo est téléchargée et la lecture de la vidéo commence. Une fois que la vidéo est téléchargé, il sera utilisé pour être utilisé dans toutes les sessions de démonstration à venir. Aucune des vérifications se produisent à nouveau jusqu'au redémarrage suivant.
Consignes pour les vidéos de démonstration
Les vidéos de démonstration doivent être en mode portrait. Si vous utilisez une tablette, en orientation naturelle, et leur durée doit être supérieure à cinq secondes. Contenu ne doit pas entraîner de brûlures d'écran, car la vidéo est lue en permanence lorsqu'elle est affichée.
Consultez les définitions des développeurs Android. des utilisateurs, profils et comptes, documentation de l'API Device Policy Manager et Exemple d'application Propriétaire de l'appareil pour en savoir plus.
Validation
CTS ne couvre pas le mode démo en magasin, car il s'agit d'une fonctionnalité facultative. Tests doivent être effectuées manuellement ou à l'aide de tests unitaires pour l'application de démonstration.
Session de démonstration
Configuration de la session de démonstration
Les appareils de démonstration en magasin peuvent démarrer en mode démo en magasin s'ils sont configurés pour ce mode de l'usine. Les employés du secteur du retail peuvent aussi activer le mode Retail directement dans l'assistant de configuration.
Figure 2. Mode de démonstration en magasin
Session de démonstration sur le Réseau Display
Lorsque l'appareil passe en mode Point de vente, il passe à un nouvel utilisateur de démonstration. lance automatiquement le lanceur d'applications personnalisé spécifié dans la ressource de superposition comme décrit dans la section Implémentation. Par défaut, Ce lanceur d'applications personnalisé lit la vidéo de démonstration en boucle jusqu'à ce que l'utilisateur appuie sur pour lancer une session utilisateur de démonstration. À ce moment-là, le lanceur d'applications personnalisé le lanceur d’applications système, puis se ferme. Les OEM peuvent modifier le lanceur d'applications personnalisé pour et lancer un autre service ou une autre activité à la fermeture.
Afin de maintenir l'intégrité du mode Point de vente, la protection du clavier est désactivée et certaines actions des Réglages rapides qui pourraient avoir un impact négatif sur le mode Point de vente sont également interdites, y compris les suivantes.
- Bouton d'activation du mode Avion.
- Suppression ou modification de points d'accès Wi-Fi (paramètres)
- Modification de l'opérateur (Paramètres).
- Configuration du point d'accès (paramètres).
- Changement d'utilisateur.
De plus, l'accès à certains paramètres globaux susceptibles d'affecter mode retail en désactivant les éléments suivants:
- Paramètres Wi-Fi.
- Options de configuration des réseaux mobiles, en particulier les points d'accès
- Configuration Bluetooth.
- Sauvegarde et Réinitialiser, dater et "Réseaux mobiles" (ils n'apparaissent pas du tout).
Si l'utilisateur est inactif pendant un certain temps (90 secondes par défaut), le mode Point de vente affiche une boîte de dialogue système invitant l'utilisateur à quitter la session ou à continuer. Si l'utilisateur décide de quitter ou si aucune réponse ne s'affiche au bout de cinq secondes, supprime l'utilisateur actuel de la démonstration, le remplace par un nouvel utilisateur ; revient en boucle sur la vidéo d'origine. Si l'écran est éteint à l'aide du bouton Marche/Arrêt, il se rallumera automatiquement au bout de quelques secondes.
Lorsque vous quittez une session de démonstration, le son est coupé et certains paramètres généraux sont réinitialisés. y compris les suivants:
- Luminosité
- Rotation automatique
- Lampe de poche
- Langue
- Accessibilité
Quitter le mode démo en magasin
Pour quitter le mode Point de vente, les employés doivent s'assurer que l'appareil de démonstration n'est pas enregistré dans la gestion des appareils et rétablissez la configuration d'usine de l'appareil le chargeur de démarrage.