Guía para desarrolladores

Las funciones empresariales de Android brindan a las organizaciones un entorno seguro, flexible y de movilidad unificada de Android, que combina dispositivos, aplicaciones y administración. Las aplicaciones para Android son compatibles con las funciones empresariales de Android de forma predeterminada. Sin embargo, hay funciones adicionales que puedes usar para hacer Tu app funciona mejor en dispositivos Android administrados:

Requisitos previos

  1. Creaste una app para Android.
  2. Está todo listo para que modifiques tu app a fin de que funcione mejor para las organizaciones.
  3. Versión mínima: Android 5.0 Lollipop (versión recomendada): Android 6.0 Marshmallow y versiones posteriores.

Nota: Las funciones empresariales de Android están integradas en la mayoría Dispositivos con Android 5.0 Sin embargo, Android 6.0 y las versiones posteriores ofrecen funciones adicionales, en especial con respecto a los dispositivos exclusivos.

Perfiles de trabajo

Puedes administrar los datos y las aplicaciones empresariales de un usuario a través de un perfil de trabajo. Un perfil de trabajo es un perfil corporativo administrado asociada con la cuenta de usuario principal de un dispositivo Android. R el perfil de trabajo aísla de forma segura las apps laborales y los datos de las apps personales y datos. Este perfil de trabajo se encuentra en un contenedor independiente del perfil personal, que el usuario controla. Estos perfiles separados permiten a las organizaciones administrar los datos empresariales que les interesan, pero dejar todo lo demás en el dispositivo de un usuario bajo su control. Para conocer más detalles sobre las prácticas recomendadas, consulta el Perfiles de trabajo . Para obtener una descripción general de esas prácticas recomendadas, consulta la información que se incluye a continuación.

Funciones clave de un perfil de trabajo

  • Perfil separado y seguro
  • Google Play administrado para la distribución de aplicaciones
  • Aplicaciones de trabajo con insignia independientes
  • Capacidades de administración exclusivas del perfil controladas por un administrador

Beneficios del perfil de trabajo en Android 5.0 y versiones posteriores

  • Encriptación completa del dispositivo
  • Un paquete de aplicaciones para Android (APK) para ambos perfiles cuando hay un perfil personal y uno de trabajo en el dispositivo
  • El controlador de política de dispositivo (DPC) está limitado al perfil de trabajo.
  • Administración del dispositivo a través del Clase DevicePolicyManager

Consideraciones sobre los perfiles de trabajo

Evita que los intents fallen entre perfiles

Es difícil saber qué intents pueden cruzarse entre perfiles y cuáles están bloqueadas. La única forma de estar seguro es a través de pruebas. Antes de que tu app inicie una actividad, debes verificar que el solicitud se resuelve llamando Intent.resolveActivity()

  • Si muestra null, la solicitud no se resuelve.
  • Si muestra algo, indica que el intent se resuelve y es seguro enviar el intent.

Nota: Para obtener instrucciones detalladas sobre la prueba, consulta Evita los intents con errores.

Cómo compartir archivos entre perfiles

Algunos desarrolladores usan URI para marcar rutas de acceso a archivos en Android. Sin embargo, Debido a que, cuando hay un perfil de trabajo, hay sistemas de archivos separados, recomendar:

Usa:
URI de contenido
  • Los URI de contenido incluyen la autoridad, la ruta de acceso y el ID de un archivo específico. Puedes generarlo usando FileProvider. Más información
  • Comparte y otorga permisos para acceder al URI de contenido mediante un intent. Los permisos solo se pueden pasar en el perfil límite con intents. Si otorgas derechos de acceso a otra app a tu archivo con Context.grantUriPermission(), solo se otorga por esa app en el mismo perfil.
No uses lo siguiente:
URI del archivo
  • Contiene la ruta de acceso absoluta del archivo en el y almacenamiento de los datos.
  • No lo es en un URI de la ruta de acceso del archivo válido en un perfil el otro.
  • Si adjuntas un URI de archivo a un intent, el controlador no podrá para acceder al archivo en otro perfil.

Próximos pasos: Cuando tu app admita perfiles, probarlos en un perfil de trabajo. Consulta Prueba tu app.

Implementa parámetros de configuración administrados

Las configuraciones administradas son un conjunto de instrucciones que los administradores de TI pueden usar para administrar los dispositivos móviles de sus usuarios de forma específica. Estas instrucciones son universales y funcionan en cualquier EMM, lo que permite a los administradores configurar de forma remota aplicaciones teléfonos.

Si desarrollas apps para empresas o agencias gubernamentales, es posible que debas para satisfacer el conjunto de requisitos específicos de tu industria. Usando configuraciones administradas, el administrador de TI puede especificar la configuración y aplicar políticas en las apps para Android de los usuarios; para ejemplo:

  • Configurar si una aplicación puede sincronizar datos a través de datos móviles/3G o solo Wi-Fi
  • Cómo permitir o bloquear URLs en un navegador web
  • Cómo establecer la configuración de correo electrónico de una app
  • Habilitar o inhabilitar la impresión
  • Administrar Favoritos

Prácticas recomendadas para implementar configuraciones administradas

La página Set up Managed Configurations esta guía es la fuente clave de información sobre cómo crear e implementar configuraciones administradas. Después de revisar la documentación, consulta a continuación para obtener más orientación.

Cuando inicies la app por primera vez

Apenas inicias una app, puedes ver si se administran configuraciones ya establecidas para esta app en onStart() o onResume() Además, puedes averiguar si tu aplicación está administrada o no. Por ejemplo, getApplicationRestrictions() muestra lo siguiente:

  • Un conjunto de restricciones específicas de la aplicación: Tú puede establecer las configuraciones administradas de forma silenciosa entrada del usuario).
  • Un paquete vacío: tu aplicación actúa como no está administrada (por ejemplo, cómo se comporta la app en una perfil).
  • Un paquete con un solo par clave-valor con KEY_RESTRICTIONS_PENDING configurado como verdadero, el la aplicación se administra, pero el DPC no está configurado correctamente. Debes bloquear a este usuario de tu app y dirigir con el administrador de TI.

Detecta cambios en las configuraciones administradas

Los administradores de TI pueden cambiar las configuraciones administradas y lo que políticas que desean aplicar a sus usuarios en cualquier momento. Debido a asegúrate de que tu app pueda aceptar para tu configuración administrada de la siguiente manera:

  • Restricciones de recuperación en el inicio: Tu app debe llamar a getApplicationRestrictions() en onStart() y onResume(), y compáralo con las restricciones anteriores para ver si se requieren cambios.
  • Escucha mientras se ejecuta: Registra de forma dinámica. ACTION_APPLICATION_RESTRICTIONS_CHANGED en tu actividades o servicios en ejecución, después de que haya buscado de manera predeterminada. Este intent se envía solo a los objetos de escucha que son registrados de forma dinámica, y no a objetos de escucha declarados en la app .
  • Anular el registro cuando no se esté ejecutando: En onPause(), deberías cancelar el registro para la transmisión de ACTION_APPLICATION_RESTRICTIONS_CHANGED

Dispositivos de uso específico

Los dispositivos exclusivos son dispositivos de kiosco que se utilizan para un solo propósito, como exhibiciones de señalización digital, como kioscos de impresión o cajas registradoras.

Cuando un dispositivo Android se configura como un dispositivo dedicado, el usuario ve una aplicación bloqueada en la pantalla sin aplicaciones principales ni recientes para escapar de la app. Los dispositivos exclusivos también se pueden configurar para que muestren un conjunto de aplicaciones, como un kiosco de biblioteca con una app para la biblioteca catálogo y un navegador web.

Para obtener instrucciones, consulta Dispositivo exclusivo.

Configura el inicio de sesión único con las pestañas personalizadas de Chrome

Los usuarios empresariales suelen tener varias apps en sus dispositivos prefieren iniciar sesión una vez para acceder a todas sus aplicaciones de trabajo. Por lo general, los usuarios acceden a través de un WebView; Sin embargo, hay un par de motivos por los cuales esto no es ideal:

  1. A menudo, los usuarios deben acceder varias veces con la misma credenciales. A menudo, la solución de WebView no es inicio de sesión único (SSO).
  2. Puede haber riesgos de seguridad, incluidas las aplicaciones maliciosas inspeccionar cookies o insertar JavaScript® para acceder a las credenciales. Incluso los desarrolladores de confianza corren riesgo si dependen o SDK de terceros potencialmente maliciosos.

Una solución a ambos problemas es autenticar a los usuarios mediante el navegador Pestañas personalizadas, en lugar de WebView. Esto garantiza que la autenticación:

  • Se produce en un contexto seguro (el navegador del sistema) en el que la aplicación host no puede inspeccionar el contenido.
  • Tiene un estado de cookie compartida, lo que garantiza que el usuario solo tenga que acceder. una vez.

Requisitos

Las pestañas personalizadas son compatibles hasta el nivel de API 15 (Android 4.0.3). Para usar pestañas personalizadas, necesitas un navegador compatible, como Chrome. Chrome 45 y versiones posteriores implementan esta función como Pestañas personalizadas de Chrome.

¿Cómo implemento el SSO con pestañas personalizadas?

Google creó una biblioteca cliente de OAuth de código abierto que usa Pestañas, que lo contribuyen al grupo de trabajo de OpenID Connect del OpenID Foundation. Para configurar pestañas personalizadas para SSO con el de AppAuth, consulta la la documentación y el código de muestra en GitHub.

Prueba tu app

Después de desarrollar tu app, te recomendamos probarla, tanto en un perfil de trabajo como en dispositivo administrado. Observa las instrucciones a continuación.

Usa el DPC de prueba para probar tu app para Android

Ofrecemos la app de prueba de DPC para ayudar a los desarrolladores de Android a probar sus apps en una empresa en un entorno de nube. Con el DPC de prueba, puedes establecer políticas de EMM o valores de configuración administrados en un dispositivo, como si una organización administrara el dispositivo con una EMM. Para instalar un DPC de prueba en un dispositivo, haz lo siguiente: elige uno de los siguientes métodos:

Para obtener más información sobre la configuración del DPC de prueba, consulta las siguientes instrucciones y la Usuario de DPC de prueba de la Guía de inicio rápido.

Aprovisionar un perfil de trabajo

Para probar tu app en un perfil de trabajo, primero debes aprovisionar un perfil de trabajo en el dispositivo con la Prueba la app de DPC de la siguiente manera:

  1. Instala el DPC de prueba en el dispositivo.
  2. En el selector de Android, presiona el ícono de la app Set up Test DPC.
  3. Sigue las instrucciones en pantalla.
  4. Instala tu app en el dispositivo y pruébala para ver cómo se ejecuta en el perfil de trabajo.

Android crea un perfil de trabajo e instala una copia del DPC de prueba en el perfil de trabajo. Usas esta instancia de DPC de prueba con insignia de trabajo para establecer políticas y configuraciones administradas en el perfil de trabajo. Para obtén más información sobre cómo configurar un perfil de trabajo para el desarrollo, lee la guía para desarrolladores Perfiles de trabajo.

Aprovisiona un dispositivo completamente administrado

Las organizaciones usan dispositivos completamente administrados porque pueden aplicar un rango completo de administración políticas en el dispositivo. Para aprovisionar un dispositivo completamente administrado, sigue estos pasos:

  1. Instala el DPC de prueba en el dispositivo.
  2. Confirma que no haya otros usuarios ni un perfil de trabajo en el dispositivo.
  3. Confirma que no haya cuentas en el dispositivo.
  4. Ejecuta el siguiente comando de Android Debug Bridge (adb) en tu terminal:
    adb shell dpm set-device-owner com.afwsamples.testdpc/.DeviceAdminReceiver
  5. Una vez que hayas completado el aprovisionamiento del propietario del dispositivo, podrás probar tu app en ese dispositivo. Tú deberían probar específicamente los parámetros de configuración administrados Los intents funcionan en ese dispositivo.

También puedes usar otros métodos de aprovisionamiento. Consulta la Guía del usuario de prueba de DPC. Para descubrir cómo los equipos de TI los administradores se inscriben y aprovisionan dispositivos con Android, leer Aprovisiona dispositivos.

Pruebas de extremo a extremo

Cuando termines de probar tu app en los entornos anteriores, haz lo siguiente: es posible que quieras probar tu app en una producción de principio a fin en un entorno de nube. Este proceso incluye los pasos que un cliente debe para implementar la app en su organización, incluidos los siguientes:

  • Distribución de apps mediante Play
  • Configuración administrada del servidor
  • Control de políticas de perfiles del servidor

Debes acceder a una consola de EMM para completar el proceso y pruebas. La forma más fácil de obtener una es solicitar una consola de prueba. de tu EMM. Una vez que tengas acceso, completa estas tareas:

  1. Crea una versión de prueba de tu aplicación con una new ApplicationId.
  2. Reclama un dominio administrado de Google y vincúlalo a tu EMM. Si ya tienes un dominio de prueba vinculado a una EMM, es posible que debas para desvincularlo y probarlo con tu EMM preferido. Consulte su EMM para los pasos de desvinculación específicos.
  3. Publica tu aplicación en el canal privado para su dominio de Google administrado.
  4. Usa la consola de EMM y la aplicación de EMM para hacer lo siguiente:
    1. Configurar dispositivos de trabajo
    2. Distribuye tu aplicación.
    3. Establece la configuración administrada.
    4. Establece políticas de dispositivo.

Este proceso variará según tu EMM. Consulte su la documentación de EMM para obtener más detalles. ¡Felicitaciones! Completaste estos pasos y verificaste que tu app funcione bien para los usuarios empresariales.