Android 7.1.1 ha introdotto il supporto a livello di sistema per la modalità demo retail in modo che i clienti possono esaminare i dispositivi in azione nei punti vendita. I dispositivi sono configurati per la demo retail utilizzando l'app di un proprietario del dispositivo per garantire che l'utilizzo del dispositivo sia limitato solo ad alcune app in modalità demo. Gli utenti finali non devono essere in grado di aggiungere un account personale su un dispositivo in modalità demo retail. Android 8.1 rivede l'assistenza in crea utenti dimostrativi tramite DevicePolicyManager CreaEGestisciUtente tramite Google Cloud CLI o tramite l'API Compute Engine. Ciò consente una personalizzazione molto maggiore dall'OEM rispetto alla modalità retail standard termini di gestione utenti e criteri relativi ai dispositivi sul dispositivo demo.
Mentre DevicePolicyManager
Le API possono essere utilizzate su versioni precedenti ad Android 8.1,
Impossibile creare utenti demo-type (DevicePolicyManager.MAKE_USER_DEMO
)
con createAnd ManageUser
l'API nelle versioni 8.0 e precedenti.
Implementazione in Android 8.1 e versioni successive
Questa sezione evidenzia i miglioramenti della piattaforma e descrive la demo retail in Android 8.1 e versioni successive.
Modifiche alla piattaforma
Imposta DEVICE_DEMO_MODE
È necessario impostare i dispositivi che implementano una modalità demo retail basata sul proprietario del dispositivo
Settings.Global.DEVICE_DEMO_MODE
a 1 prima del giorno
per indicare che è in corso il provisioning del dispositivo per la demo retail
.
SystemServer
usa questo flag per gestire aspetti della modalità retail, come il profilo di alimentazione e
UI di sistema.
Abilita RetailDemoModeService
Nei dispositivi che implementano una modalità demo retail, la configurazione guidata imposta una
impostazione
Da Global.DEVICE_DEMO_MODE
a true
per indicare che il dispositivo è entrato in modalità retail. In data
vedendo questa impostazione, RetailDemoModeService crea un utente demo e vi passa all'avvio dell'utente 0, abilitando
l'Avvio app personalizzato specificato in una risorsa overlay e disabilita SUW. Sistema
Server e SystemUI usano questo flag anche per gestire aspetti della modalità retail.
Impostare Avvio app o video player personalizzati
I produttori di dispositivi possono specificare un Avvio app personalizzato sostituendo il framework
la risorsa config_demoModeLauncherComponent
specificata in config.xml
come segue.
<!-- Component that is the default launcher when Retail Mode is enabled. -->
<string name="config_demoModeLauncherComponent">com.android.retaildemo/.DemoPlayer</string>
L'app DemoPlayer demo retail è disponibile all'indirizzo /packages/apps/RetailDemo è l'Avvio app personalizzato predefinito nell'Android Open Source Project (AOSP). La cerca un video in una partizione del dispositivo, ad esempio /data/preloads/demo/retail_demo.mp4 e la riproduce in loop. Quando l'utente tocca lo schermo, Avvio app personalizzato disattiva il componente relativo all'attività, quindi l'Avvio app predefinito del sistema all'avvio.
L'Avvio app personalizzata deve avere il proprio componente personalizzato contrassegnato come disattivato per impostazione predefinita
in modo da non apparire
in scenari non demografici. Nello scenario della demo,
Il server abilita config_demoModeLauncherComponent
specificato all'avvio di un
nuova sessione demo.
La configurazione guidata cerca anche il video indicato in precedenza per fornire per entrare in modalità retail. SUW può essere modificato per cercare Indicazione specifica per l'OEM che indica che la modalità retail è supportata se il video non fa parte la demo. Se ci sono partizioni A/B del sistema, la partizione del sistema B deve contengono il video dimostrativo all'indirizzo /preloads/demo. Questo viene copiato /data/preloads/demo al primo avvio.
Personalizza le app precaricate per la modalità demo retail
Le app precaricate possono personalizzare la loro esperienza per la modalità demo retail chiamando
UserManager.isDemoUser()
per vedere se l'app viene avviata in un ambiente demo.
Nell'utente della demo vengono impostate alcune limitazioni, analogamente al dispositivo gestito o
criteri del profilo che impediscono ad app e utenti di eseguire determinate operazioni.
Una di queste limitazioni è DISALLOW_MODIFY_ACCOUNTS
. Con questa limitazione, l'AccountManager
e Impostazioni
non consentono l'aggiunta di account. Alcune app Google reagiscono a questa limitazione
e visualizzano un messaggio di errore, mentre gli altri non chiedono l'inserimento di un account (come
YouTube e Foto). Consigliamo alle app OEM di controllare anche
DISALLOW_MODIFY_ACCOUNTS
è impostato e gestisce lo scenario di conseguenza.
Aggiornamenti di sistema
Per impostazione predefinita, quando è attiva la modalità retail, i criteri relativi ai dispositivi sono impostati su over-the-air (OTA) si aggiornano automaticamente. I dispositivi retail verranno scaricati, riavviati e installati l'aggiornamento (rispettando le soglie della batteria) senza interazione da parte dell'utente.
App demo retail
L'implementazione della modalità demo retail basata sul proprietario del dispositivo richiede Controller dei criteri dei dispositivi l'app da impostare come proprietario del dispositivo. L'AOSP contiene un'app RetailDemo di riferimento in /packages/apps/RetailDemo.
Le app del proprietario del dispositivo non richiedono privilegi elevati o preinstallazione nella immagine di sistema e può essere scaricata durante il processo di configurazione o di provisioning. Vengono implementate principalmente come le app tradizionali, con le seguenti differenze:
Tutte le app del proprietario del dispositivo devono estendere RicevitoreAmministratoreDispositivo che funge da token di autorizzazione per tutti DevicePolicyManager su quelle di livello inferiore. Il componente deve contenere il token
android.permission.BIND_DEVICE_ADMIN
l'autorizzazione, includi i criteri speciali richiesti come metadati e filtraandroid.app.action.PROFILE_PROVISIONING_COMPLETE
eandroid.app.action.DEVICE_ADMIN_ENABLED
intent.Il file DevicePolicyManager#Make_USER_DEMO impostato per creare utenti speciali di tipo demo è un'API nascosta. Questo flag ha un valore costante 0x4.
La proprietà del dispositivo deve essere assegnata solo tramite il ruolo di gestione dei dispositivi proprietario o ManagedProvisioning dell'app.
API in DevicePolicyManager abilitare Proprietario dispositivo (DO) e Proprietario profilo (PO) per applicare vari dispositivi criteri. Alcune funzionalità di DevicePolicyManager le funzioni applicabili alla modalità demo retail sono elencate come segue.
Creare e gestire gli utenti.
riavvia il dispositivo.
Imposta i pacchetti consentiti per LockTask.
Installa i pacchetti tramite PackageInstaller.
Blocca la disinstallazione dei pacchetti.
Attiva gli aggiornamenti di sistema automatici. I dispositivi scaricheranno e applicheranno automaticamente gli aggiornamenti OTA.
Disattiva il blocco della tastiera.
Impedisci di impostare password o impronte.
Imposta Settings.Global nella lista consentita Settings.Secure, e Settings.System (Impostazioni.Sistema) impostazioni.
Imposta il criterio di autorizzazione su
PERMISSION_POLICY_AUTO_GRANT
, che verrà concede automaticamente tutte le autorizzazioni di runtime. Possono essere concesse anche le autorizzazioni in modo più limitato: una singola autorizzazione per una singola app. Ciò non si applica a autorizzazioni per le operazioni delle app, che gli utenti devono comunque concedere a livello di singolo utente e di singola app.Imposta le limitazioni relative agli utenti per la modalità retail come definito in Gestione utenti come segue:
DISALLOW_MODIFY_ACCOUNTS
DISALLOW_USB_FILE_TRANSFER
DISALLOW_DEBUGGING_FEATURES
DISALLOW_CONFIG_WIFI
DISALLOW_CONFIG_BLUETOOTH
DISALLOW_INSTALL_UNKNOWN_SOURCES
DISALLOW_CONFIG_MOBILE_NETWORKS
Aggiorna il video demo tramite il web
L'app RetailDemo in /packages/apps/RetailDemo ha la possibilità di aggiornare il video della demo se è disponibile la connettività di rete. L'URL da cui scaricare il video può essere configurato eseguendo l'override di quanto segue nell'app RetailDemo.
<!-- URL where the retail demo video can be downloaded from. -->
<string name="retail_demo_video_download_url"></string>
Se è necessario utilizzare video diversi in regioni diverse, allora gli URL di download possono essere configurati utilizzando risorse di stringhe specifiche per le impostazioni internazionali in res/values-*/strings.xml. Ad esempio, se è necessario utilizzare video diversi negli Stati Uniti e Gran Bretagna, gli URL di download corrispondenti potranno essere inseriti rispettivamente res/values-en-rUS/strings.xml e res/values-en-rGB/strings.xml come mostrato di seguito.
In res/values-en-rUS/strings.xml:
<string name="retail_demo_video_download_url">download URL for US video goes here</string>
In res/values-en-rGB/strings.xml:
<string name="retail_demo_video_download_url">download URL for UK video goes here</string>
Questo video viene scaricato al massimo una volta a ogni riavvio del dispositivo. Quando il video sul dispositivo è in riproduzione, l'app RetailDemo controlla in background se l'URL di download viene fornito e il video in corrispondenza dell'URL è più recente di quello in riproduzione.
In questo caso, l'app RetailDemo scarica e avvia la riproduzione del video. Dopo aver avviato il video viene scaricata, viene usata per giocare in tutte le sessioni demo future. Nessuno dei controlli vengono eseguiti di nuovo fino al riavvio successivo.
Linee guida sui video demo
I video dimostrativi devono essere in layout verticale oppure, se tablet, nel layout orientamento naturale e può avere una durata superiore a cinque secondi. Content (Contenuti) non deve causare il burn-in, in quanto viene riprodotto costantemente sul display.
Consulta le definizioni degli sviluppatori Android di utenti, profili e account, documentazione dell'API Device Policy Manager e l'app Proprietario del dispositivo di esempio per ulteriori informazioni.
Convalida
CTS non copre la modalità demo retail perché è una funzionalità facoltativa. Test devono essere condotti manualmente o con test delle unità per l'app demo.
Sessione demo
Configurazione della sessione demo
I dispositivi in modalità demo retail possono avviarsi in modalità demo retail se configurati per questa modalità dalla fabbrica. In alternativa, i dipendenti del settore della vendita al dettaglio possono attivare la modalità retail direttamente dalla configurazione guidata.
Figura 2. Modalità dimostrazione retail
Mostra sessione demo
Quando il dispositivo entra in modalità retail, passa a un nuovo utente demo e avvia automaticamente l'Avvio app personalizzato specificato nella risorsa overlay come descritto in Implementazione. Per impostazione predefinita, l'Avvio app personalizzato riproduce il video della demo ripetutamente finché l'utente non tocca per avviare una sessione demo. A quel punto, Avvio app personalizzato Avvio applicazioni del sistema ed esce. Gli OEM possono modificare l'Avvio app personalizzato in inoltre avviare un altro servizio o un'altra attività all'uscita.
Per mantenere l'integrità della modalità retail, il blocco della tastiera è disattivato alcune azioni delle Impostazioni rapide che potrebbero influire negativamente sulla modalità retail sono non sono consentiti, inclusi i seguenti.
- Pulsante di attivazione/disattivazione della modalità aereo.
- Rimozione o modifica dei punti di accesso Wi-Fi (Impostazioni).
- Cambio di operatore (Impostazioni).
- Configurazione dell'hotspot (Impostazioni).
- Cambio di utente.
Inoltre, l'accesso è bloccato anche ad alcune impostazioni globali che possono interessare modalità retail disattivando quanto segue:
- Impostazioni Wi-Fi.
- Opzioni di configurazione della rete mobile, in particolare gli hotspot.
- Configurazione Bluetooth.
- Backup e Reimposta, Data e Ora e Reti mobili (non vengono visualizzati affatto).
Se l'utente è inattivo per un certo periodo di tempo (90 secondi per impostazione predefinita), in modalità retail mostra una finestra di dialogo di sistema che chiede all'utente di uscire dalla sessione o continuare. Se l'utente sceglie di uscire o se non riceve risposta per cinque secondi, la modalità rimuove l'utente demo corrente, passa a un nuovo utente demo e continua a riprodurre in loop il video originale. Se lo schermo viene spento usando tasto di accensione, si riattiva automaticamente dopo qualche secondo.
Dopo l'uscita da una sessione demo, i dispositivi si disattivano e reimpostano le informazioni impostazioni, tra cui:
- Luminosità
- Rotazione automatica
- Torcia
- Lingua
- Accessibilità
Esci dalla modalità demo retail
Per uscire dalla modalità retail, i dipendenti addetti alla vendita al dettaglio devono assicurarsi che il dispositivo demo non sia registrato nella gestione dispositivi e ripristina i dati di fabbrica dal boot loader.