Modo de demo para punto de venta

Android 7.1.1 introdujo compatibilidad a nivel de sistema con el modo de demo para punto de venta para que los clientes pueden ver cómo funcionan en las tiendas minoristas. Se configuraron los dispositivos para la demo para punto de venta con una app del propietario del dispositivo para garantizar que el uso del dispositivo sea restringido solo a ciertas apps en modo de demostración. Los usuarios finales no deben poder agregar cuenta personal en un dispositivo de demo para punto de venta. Android 8.1 revisa esta compatibilidad para crear Usuarios de demostración con DevicePolicyManager createAndManageUser en la API de Cloud. Esto permite una personalización mucho mayor del OEM en el modo de venta minorista estándar en las condiciones de la administración de usuarios y de políticas de dispositivo en el dispositivo de demostración.

Si bien DevicePolicyManager Las APIs se pueden usar en versiones anteriores a Android 8.1, No se pueden crear usuarios del tipo demo-type (DevicePolicyManager.MAKE_USER_DEMO) con el comando createAndManageUser en las versiones 8.0 y anteriores.

Implementación en Android 8.1 y versiones posteriores

En esta sección, se destacan las mejoras de la plataforma y se describe la demostración para la venta minorista. en Android 8.1 y versiones posteriores.

Cambios en la plataforma

Establecer DEVICE_DEMO_MODE

Se deben configurar los dispositivos que implementan un modo de demo para punto de venta basado en el propietario del dispositivo Settings.Global.DEVICE_DEMO_MODE a 1 antes de aprovisionamiento para indicar que el dispositivo se está aprovisionando para la demo para punto de venta . SystemServer usa esta marca para administrar aspectos del modo de venta, como el perfil de energía y IU del sistema

Habilitar RetailDemoModeService

En los dispositivos que implementan el modo de demo para punto de venta, el asistente de configuración establece un estableciendo Global.DEVICE_DEMO_MODE por true para indicar que el dispositivo entró en el modo de venta. Por viendo este parámetro de configuración, RetailDemoModeService crea un usuario de demostración y cambia a él cuando se inicia el usuario 0, lo que habilita el selector personalizado especificado en un recurso de superposición e inhabilita SUW. Sistema Server y SystemUI también usan esta marca para administrar aspectos del modo de venta.

Configurar un selector o reproductor de video personalizado

Los fabricantes de dispositivos pueden especificar un selector personalizado anulando el framework. el recurso config_demoModeLauncherComponent especificado en config.xml como se muestra a continuación.

<!-- Component that is the default launcher when Retail Mode is enabled. -->
<string name="config_demoModeLauncherComponent">com.android.retaildemo/.DemoPlayer</string>

La aplicación DemoPlayer para venta minorista ubicada en /packages/apps/RetailDemo es el selector personalizado predeterminado del Proyecto de código abierto de Android (AOSP). El La app busca un video en una partición de dispositivo, como /data/preloads/demo/retail_demo.mp4. y lo reproduce en bucle. Cuando el usuario toca la pantalla, el selector personalizado inhabilita su componente de actividad, lo que provoca que el launcher del sistema predeterminado iniciar.

El selector personalizado debe tener su componente personalizado marcado como inhabilitado de forma predeterminada. para que no aparezca en situaciones no demográficas. En la situación de la demostración, El servidor habilita el config_demoModeLauncherComponent especificado cuando inicia un nueva sesión de demostración.

El asistente de configuración también busca el video mencionado anteriormente para proporcionar un para entrar en el modo de venta minorista. El SUW se puede modificar para buscar otro Señal específica del OEM que indica que se admite el modo de venta si el video no forma parte de la demostración. Si hay particiones A/B del sistema, la partición B del sistema debe contiene el video de demostración en /preloads/demo. Esto se copia en /data/preloads/demo durante el primer inicio.

Personaliza las apps precargadas para el modo de demo para punto de venta

Las apps precargadas pueden personalizar su experiencia para el modo de demo para punto de venta llamando el UserManager.isDemoUser() para ver si la app se inicia en un entorno de demostración.

El usuario de demostración establece ciertas restricciones, similares al dispositivo administrado políticas de perfil que impiden que las apps y los usuarios realicen determinadas operaciones. Una de estas restricciones es DISALLOW_MODIFY_ACCOUNTS. Con esta restricción, el AccountManager y Configuración no permiten agregar cuentas. Algunas apps de Google reaccionan a esta restricción y muestran un mensaje de error, y otras personas no solicitarán una cuenta (p. ej., YouTube y Fotos). Recomendamos que las apps del OEM también verifiquen si Se configura DISALLOW_MODIFY_ACCOUNTS y controla la situación según corresponda.

Actualizaciones del sistema

De forma predeterminada, cuando el modo de venta está habilitado, la política de dispositivo se establece como inalámbrica. (OTA) automáticamente. Se descargarán, se reiniciarán y se instalarán los dispositivos de venta minorista la actualización (respetando los umbrales de batería) sin la interacción del usuario.

App de demo para punto de venta

La implementación del modo de demo para punto de venta basado en el propietario del dispositivo requiere una Controlador de política de dispositivo establecerse como el propietario del dispositivo. AOSP contiene una app de referencia de RetailDemo en /packages/apps/RetailDemo.

Las aplicaciones del propietario del dispositivo no requieren privilegios elevados ni preinstalación en la del sistema y se pueden descargar durante el proceso de configuración o aprovisionamiento. En su mayoría, se implementan como apps tradicionales, con las siguientes características: diferencias:

APIs en DevicePolicyManager permite al Propietario del dispositivo (DO) y Propietario del perfil (PO) aplicar varias y políticas de seguridad. Algunos de los métodos de DevicePolicyManager Las funciones aplicables para el modo de demo para punto de venta se enumeran a continuación.

  • Crear y administrar usuarios.

  • Reinicia el dispositivo.

  • Configura los paquetes permitidos de LockTask.

  • Instala paquetes con PackageInstaller.

  • Bloquea la desinstalación de paquetes.

  • Habilita las actualizaciones automáticas del sistema. Los dispositivos descargarán y aplicarán actualizaciones inalámbricas automáticamente.

  • Inhabilitar el bloqueo del teclado

  • Evitar la configuración de contraseñas o huellas dactilares

  • Establecer un conjunto de Settings.Global incluido en la lista de entidades permitidas, Settings.Secure, y Settings.System. configuración.

  • Establece la política de permisos en PERMISSION_POLICY_AUTO_GRANT, otorga automáticamente todos los permisos de tiempo de ejecución. También se pueden otorgar permisos de manera más restringida: un único permiso para una sola app. Esto no se aplica a permisos de app-ops, que los usuarios deben otorgar por usuario y por app.

  • Establece restricciones de usuario relevantes para el modo de venta, como se define en Administrador de usuarios de la siguiente manera.

    • DISALLOW_MODIFY_ACCOUNTS
    • DISALLOW_USB_FILE_TRANSFER
    • DISALLOW_DEBUGGING_FEATURES
    • DISALLOW_CONFIG_WIFI
    • DISALLOW_CONFIG_BLUETOOTH
    • DISALLOW_INSTALL_UNKNOWN_SOURCES
    • DISALLOW_CONFIG_MOBILE_NETWORKS

Actualiza el video de demostración a través de la Web

La app de RetailDemo en /packages/apps/RetailDemo puede actualizar el video de demostración si hay conectividad de red. La URL desde la que se descargará el video se puede configurar anulando la siguiente de cadena en la app de RetailDemo.

<!-- URL where the retail demo video can be downloaded from. -->
<string name="retail_demo_video_download_url"></string>

Si se deben usar videos distintos en regiones distintas, Las URLs de descarga se pueden configurar usando recursos de cadenas específicos de la configuración regional en res/values-*/strings.xml. Por ejemplo, si se deben usar distintos videos en Estados Unidos y las Gran Bretaña, entonces las URL de descarga correspondientes se pueden colocar en res/values-en-rUS/strings.xml y res/values-en-rGB/strings.xml, respectivamente, como se muestra a continuación.

  • En res/values-en-rUS/strings.xml:

    <string name="retail_demo_video_download_url">download URL for US video goes here</string>
    
  • En res/values-en-rGB/strings.xml:

    <string name="retail_demo_video_download_url">download URL for UK video goes here</string>
    

Este video se descarga como máximo una vez cada vez que se reinicia el dispositivo. Cuando se está reproduciendo un video en el dispositivo, la app RetailDemo lo verifica en segundo plano. si se proporciona la URL de descarga y el video de la URL es más nuevo que el que se está tocando.

Si es así, la app de RetailDemo descarga y comienza a reproducir el video. Cuando se reproduzca el video , se usará para reproducirlo en todas las sesiones de demostración a futuro. Ninguno de las comprobaciones vuelve a realizarse hasta el próximo reinicio.

Lineamientos del video de demostración

Los videos de demostración deben estar en posición vertical o, si se trata de una tablet, en la pantalla del dispositivo. orientación natural y puede tener cualquier duración superior a cinco segundos. Contenido no deben generar efecto quemado, ya que se reproducirá constantemente cuando se muestre.

Consulta las definiciones para desarrolladores de Android de usuarios, perfiles y cuentas; documentación de la API de Device Policy Manager y la app de ejemplo del propietario del dispositivo para obtener más información.

Validación

CTS no abarca el modo de demo para punto de venta porque es una función opcional. Prueba deben realizarse de forma manual o con pruebas de unidades para la aplicación de demostración.

Sesión de demostración

Configuración de la sesión de demostración

Los dispositivos de demo para punto de venta pueden iniciarse en el modo de demo para punto de venta si están configurados para este modo. de fábrica. Como alternativa, los empleados de venta minorista pueden habilitar el modo de venta directamente desde el asistente de configuración.

Modo de demo para punto de venta

Figura 2: Modo de demostración para punto de venta

Muestra la sesión de demostración

Cuando el dispositivo entra en modo de venta, cambia a un nuevo usuario de demostración y inicia automáticamente el selector personalizado especificado en el recurso de superposición. como se describe en Implementación. De forma predeterminada, este selector personalizado reproduce el video de demostración una y otra vez hasta que el usuario toca para iniciar una sesión de usuario de demostración. En ese momento, se inicia el selector personalizado. desde el launcher del sistema y luego se cierra. Los OEM pueden modificar el selector personalizado para iniciar, además, otro servicio o actividad al salir.

Para mantener la integridad del modo de venta, el bloqueo del teclado está inhabilitado y se ejecutarán ciertas acciones de la Configuración rápida que podrían afectar negativamente el modo de venta. también están prohibidos, entre las que se incluyen las siguientes:

  • Botón de activación del modo de avión
  • Eliminar o modificar puntos de acceso Wi-Fi (Configuración).
  • Cambio de proveedor (Configuración)
  • Configurando el hotspot (configuración)
  • Cambio de usuario

Además, también se bloquea el acceso a algunos parámetros de configuración globales que pueden afectar el modo de venta minorista inhabilitando lo siguiente:

  • Configuración de Wi-Fi.
  • Opciones de configuración de la red móvil, particularmente los hotspots.
  • Configuración de Bluetooth.
  • Copia de seguridad y Restablecer, Fecha y el tiempo y las redes móviles (así no aparecen).

Si el usuario permanece inactivo durante un tiempo determinado (90 segundos de forma predeterminada), el modo de venta muestra un diálogo del sistema para que el usuario salga de la sesión o continúe. Si el usuario elige salir o si no hay respuesta durante cinco segundos, quita el usuario actual de la demostración, cambia a uno nuevo hace una repetición indefinida del video original. Si la pantalla se apaga mediante el botón botón de encendido, se volverá a encender automáticamente después de unos segundos.

Después de salir de la sesión de demostración, los dispositivos se silencian y restablecen algunas de configuración, incluidos los siguientes:

  • Brillo
  • Rotación automática
  • Linterna
  • Idioma
  • Accesibilidad

Salir del modo de demo para punto de venta

Para salir del modo de venta, los empleados de venta minorista deben asegurarse de que el dispositivo de demostración no está inscrito en la administración de dispositivos y restablece su configuración de fábrica desde la boot loader.