SDK de aplicaciones de Intune para Android: configuración de aplicaciones
El SDK de aplicaciones de Microsoft Intune para Android le permite incorporar directivas de protección de aplicaciones de Intune (también conocidas como directivas de APLICACIÓN o MAM) en su aplicación nativa de Java/Kotlin para Android. Una aplicación administrada por Intune es una que se integra con el SDK de aplicaciones de Intune. Los administradores de Intune pueden implementar fácilmente directivas de protección de aplicaciones en la aplicación administrada por Intune cuando Intune administra activamente la aplicación.
Nota:
Esta guía se divide en varias fases distintas. Para empezar, revise La fase 1: Planear la integración.
Fase 6: Configuración de la aplicación
Objetivos de fase
- Obtenga información sobre las opciones de configuración de la aplicación en Android.
- Decida qué configuraciones, si las hay, debe agregar la aplicación.
- Integre las API de configuración de aplicaciones del SDK de aplicaciones de Intune.
- Implemente la lógica de resolución de conflictos para las configuraciones de aplicación personalizadas.
App Configuration en Android
Las configuraciones de aplicación, también conocidas como configuraciones administradas o restricciones de aplicación, son configuraciones específicas de la aplicación y definidas por el desarrollador que puede agregar a la aplicación para proporcionar a los administradores un control adicional sobre la experiencia de la aplicación cuando se usa en una configuración administrada. Por ejemplo, si la aplicación es un explorador, puede optar por agregar configuraciones que permitan a los administradores establecer previamente marcadores, bloquear determinadas páginas web o deshabilitar modos de incógnito. La configuración de la aplicación es una herramienta totalmente opcional, pero eficaz, para mejorar la experiencia de administración de la aplicación.
Consulte Directivas de configuración de aplicaciones para Microsoft Intune para obtener más detalles.
Configuraciones de aplicaciones de Built-In de Android
Android tiene la configuración de la aplicación integrada en la plataforma, denominada configuraciones administradas. Estas configuraciones no dependen del SDK de aplicaciones de Intune y se pueden habilitar en aplicaciones que no integran el SDK de aplicaciones de Intune. Estas configuraciones solo se aplican cuando la aplicación se usa en un dispositivo administrado con uno de los modos de Android Enterprise de Google. Consulte Inscribir dispositivos Android para obtener más información sobre cómo configurar estos modos de Android Enterprise en Microsoft Intune. Los administradores pueden configurar estas directivas de configuración de aplicaciones para dispositivos Android Enterprise administrados en Microsoft Intune.
La aplicación puede recuperar estos valores configurados por el administrador a través de Android o a través del SDK de RestrictionsManager
aplicaciones de Intune.
Consulte Recuperación de la configuración de la aplicación desde el SDK para obtener más información.
Ámbitos delegados para aplicaciones administradas de Google Play
Los desarrolladores de aplicaciones pueden usar ámbitos delegados para integrar permisos mejorados para sus aplicaciones administradas de Google Play. Los ámbitos delegados proporcionan las siguientes funcionalidades para las aplicaciones administradas de Google Play:
- Permitir que otras aplicaciones instalen y administren certificados
- Permitir que la aplicación acceda a los registros de seguridad de Android
- Permitir que la aplicación acceda a los registros de actividad de red de Android
Una vez que estas funcionalidades se han integrado en una aplicación de Google Play administrada mediante la API de Google, puede configurar estas opciones en Intune mediante perfiles de configuración de dispositivo. Para obtener más información, consulte Configuración de dispositivos Android Enterprise: aplicaciones.
Para más información sobre la implementación de aplicaciones, consulte la documentación para desarrolladores de Android: Ámbitos de delegación.
Configuraciones de aplicaciones del SDK de aplicaciones de Intune
El SDK de aplicaciones de Intune admite otro mecanismo para entregar configuraciones de aplicaciones, independientemente de las configuraciones administradas de Android Enterprise. Estas configuraciones son exclusivas de Microsoft Intune y solo se aplican a las aplicaciones que han integrado el SDK de aplicaciones de Intune. Sin embargo, estas configuraciones no se limitan a los dispositivos con administración de Android Enterprise. Los administradores pueden configurar estas directivas de configuración de aplicaciones para aplicaciones administradas en Microsoft Intune.
Nota:
La configuración de la aplicación también se puede configurar mediante Graph API. Para obtener información, consulte la documentación de Graph API para la configuración de destino de MAM.
La aplicación debe recuperar estos valores configurados por el administrador a través del SDK de aplicaciones de Intune. Consulte Recuperación de la configuración de la aplicación desde el SDK para obtener más información.
¿Qué configuraciones debo agregar a mi aplicación?
Esta guía no puede responder a esta pregunta por usted. Solo tú y tu equipo saben qué características hacen que tu aplicación sea más valiosa cuando está bajo administración.
Las siguientes preguntas pueden ayudar a guiar las discusiones y revelar las configuraciones que puede que quiera agregar a la aplicación:
- ¿Qué características ofrece la aplicación hoy en día?
- ¿Hay algún valor en la deshabilitación de cualquiera de estas características durante la administración?
- ¿Hay algún valor en el cambio de cualquiera de estas características durante la administración?
- ¿Cómo se usa la aplicación en la administración actual?
- ¿Hay alguna opción que los administradores puedan configurar previamente en nombre de sus usuarios?
- ¿Hay alguna acción que realicen los administradores o los usuarios finales, exclusivas de los escenarios administrados?
- ¿Han solicitado los usuarios administrados características que podrían no ser adecuadas para toda la población de usuarios?
Para cada configuración que decida agregar a la aplicación, deberá definir tres elementos:
- Clave : esta cadena identifica de forma única esta configuración de otras configuraciones. Debe ser legible para el usuario, ya que lo configurarán los administradores.
- Tipo : ¿qué tipo de datos es esta configuración? ¿Es una cadena, booleano, entero, matriz, etcetera.?
- Estrategia de resolución de conflictos : ¿cómo responderá la aplicación si los administradores configuran varios valores para la misma clave? En el ejemplo de explorador mencionado anteriormente, una lista de marcadores puede combinar todos los valores, mientras que una configuración para deshabilitar la incógnito puede optar por deshabilitar si alguno de los valores en conflicto es "true".
¿Debe mi aplicación admitir la configuración para dispositivos administrados o aplicaciones administradas?
Las configuraciones que se aplican a los dispositivos administrados y las configuraciones que se aplican a las aplicaciones administradas no se excluyen mutuamente. Debe tener en cuenta las necesidades de los usuarios al decidir qué tipo (o ambos) de configuración admitir.
Área de configuración | Configuración de dispositivos administrados | Configuración de aplicaciones administradas |
---|---|---|
Aplicabilidad del dispositivo | Solo se aplica en dispositivos en administración de dispositivos Android Enterprise. | Se aplica a todos los dispositivos, siempre y cuando la aplicación integre el SDK de aplicaciones de Intune y se instale el Portal de empresa. |
Plataforma | Solo Android, limitado a dispositivos con servicios de Google | El SDK de aplicaciones de iOS admite las mismas configuraciones. Como desarrollador, puede compartir estas claves para una experiencia multiplataforma coherente. |
Aplicabilidad | Cualquier EMM | Exclusivo de Microsoft Intune |
Detección de esquemas | El esquema está disponible públicamente después de la carga de la aplicación en Play | Detección de esquemas bajo el control del desarrollador |
Ambos tipos de configuración de la aplicación se basan en pares clave-valor. Microsoft Intune no inspecciona el contenido de estas configuraciones y simplemente pasa los valores configurados por el administrador a la aplicación.
La API de configuración de aplicaciones del SDK de aplicaciones de Intune incluye valores configurados por el administrador de ambos canales. Si la aplicación admite ambos tipos de configuración de la aplicación, use la API como se describe a continuación.
Recuperación de la configuración de la aplicación desde el SDK
Las aplicaciones pueden recibir configuraciones de ambos canales mediante las clases MAMAppConfigManager y MAMAppConfig .
MAMAppConfigManager configManager = MAMComponents.get(MAMAppConfigManager.class);
String oid = <OID of user account>;
MAMAppConfig appConfig = configManager.getAppConfigForOID(oid);
String fooValue = appConfig.getStringForKey("foo", MAMAppConfig.StringQueryType.Any);
Si no hay ninguna cuenta registrada en MAM, pero a la aplicación le gustaría recuperar los valores de configuración de Android Enterprise (que no se destinarán a una cuenta específica), puede pasar una null
cadena vacía o para el OID.
Nota:
Si la aplicación usa el SDK de aplicaciones de Intune para recuperar configuraciones administradas de Android Enterprise y el Portal de empresa no está instalado, estas configuraciones se entregarán a través de un MAMUserNotification
objeto con una identidad vacía.
La aplicación también puede solicitar los datos sin procesar como una lista de conjuntos de pares clave-valor, en lugar de consultar por claves específicas.
List<Map<String, String>> getFullData()
La aplicación también puede registrarse para la REFRESH_APP_CONFIG
notificación que informa a la aplicación de que hay nuevos datos de configuración de la aplicación disponibles.
Si la aplicación almacena en caché los datos de configuración de la aplicación, debe registrarse para esta notificación e invalidar los datos almacenados en caché en el controlador.
Para obtener más información, consulte Registro de notificaciones desde el SDK .
Resolución de conflictos
Si varias directivas de configuración de aplicaciones están destinadas a la misma aplicación y cuenta, puede haber varios valores en conflicto disponibles para la misma clave.
Nota:
Un valor establecido en la configuración de la aplicación MAM invalidará un valor con la misma clave establecida en la configuración de Android Enterprise.
Si un administrador configura valores en conflicto para la misma clave, Intune no tiene ninguna manera de resolver este conflicto automáticamente y hará que todos los valores estén disponibles para la aplicación. Este tipo de conflicto podría producirse si el administrador tiene como destino diferentes conjuntos de configuración de aplicaciones con la misma clave para varios grupos que contienen la misma cuenta.
La aplicación puede solicitar todos los valores de una clave determinada desde un objeto MAMAppConfig , de modo que pueda resolver conflictos con su propia lógica de negocios:
List<Boolean> getAllBooleansForKey(String key)
List<Long> getAllIntegersForKey(final String key)
List<Double> getAllDoublesForKey(final String key)
List<String> getAllStringsForKey(final String key)
Como alternativa, puede solicitar que se elija un valor con una de las estrategias de resolución de conflictos integradas:
Boolean getBooleanForKey(String key, BooleanQueryType queryType)
Long getIntegerForKey(String key, NumberQueryType queryType)
Double getDoubleForKey(String key, NumberQueryType queryType)
String getStringForKey(String key, StringQueryType queryType)
Las estrategias de resolución de conflictos integradas disponibles incluyen:
-
BooleanQueryType.Any
,BooleanQueryType.And
,BooleanQueryType.Or
-
NumberQueryType.Any
,NumberQueryType.Min
,NumberQueryType.Max
-
StringQueryType.Any
,StringQueryType.Min
,StringQueryType.Max
, donde min y max proceden de una lista ordenada alfabéticamente.
Criterios de salida
Intune es responsable de entregar los valores de directiva de configuración de la aplicación a la aplicación; posteriormente, la aplicación es responsable de usar esos valores para cambiar el comportamiento o la interfaz de usuario dentro de la aplicación. Las pruebas exhaustivas de un extremo a otro deben abarcar ambos componentes.
Para validar que Intune está entregando correctamente la directiva de configuración de aplicaciones:
- Configure una directiva de configuración de aplicaciones destinada a la aplicación e implementada en la cuenta de prueba.
- Si la aplicación admite la configuración de aplicaciones para dispositivos administrados, consulte Directivas de configuración de aplicaciones para dispositivos Android Enterprise administrados.
- Si la aplicación admite la configuración de aplicaciones para aplicaciones administradas, consulte Directivas de configuración de aplicaciones para aplicaciones administradas.
- Si la aplicación admite ambos tipos de configuración de la aplicación, cree ambos tipos de directiva para realizar pruebas.
- Inicie sesión en la aplicación con su cuenta de prueba.
- Para dispositivos administrados, consulte Directivas de configuración de aplicaciones empresariales de Android e Inscribir dispositivos Android.
- Para aplicaciones administradas:
- Instale la aplicación y el Portal de empresa de Intune.
- Inicie sesión en la aplicación con su cuenta de prueba.
- Navegue por la aplicación para ejercer cada ruta de código que llame a
MAMAppConfigManager
'sgetAppConfigForOID
ogetFullData
.- Registrar los resultados de las llamadas a
getAppConfigForOID
es una manera sencilla de validar qué configuración se entrega. Sin embargo, dado que los administradores pueden escribir cualquier dato para la configuración de la aplicación, tenga cuidado de no registrar ningún dato de usuario privado.
- Registrar los resultados de las llamadas a
- Consulte Validación de la directiva de configuración de la aplicación aplicada.
Dado que las configuraciones de aplicaciones son específicas de la aplicación, solo usted sabe cómo validar cómo debe cambiar el comportamiento o la interfaz de usuario de la aplicación para cada configuración de la aplicación.
Al realizar pruebas, tenga en cuenta lo siguiente:
- Asegúrese de que todos los escenarios están cubiertos mediante la creación de diferentes directivas de configuración de aplicaciones de prueba con cada valor que admita la aplicación.
- Validar la lógica de resolución de conflictos de la aplicación mediante la creación de varias directivas de configuración de aplicaciones de prueba con valores diferentes para cada configuración.
- Si la aplicación se ha registrado para la
REFRESH_APP_CONFIG
notificación, actualice la directiva de configuración de la aplicación mientras la aplicación está en uso activa, esperando a que se actualice la directiva y confirmando que esta ruta de código se ha ejercido correctamente. - Si la aplicación admite ambos tipos de configuración de la aplicación, pruebe ambos escenarios para asegurarse de que la implementación proporciona la identidad correcta a
getAppConfigForOID
.
Pasos siguientes
Después de completar todos los criterios de salida anteriores, la aplicación ahora se integra correctamente como con la directiva de configuración de la aplicación.
La sección siguiente, Fase 7: Características de participación de aplicaciones, puede ser necesaria o no, en función de la compatibilidad deseada de la directiva de protección de aplicaciones de la aplicación. Si no está seguro de si alguna de estas características se aplica a la aplicación, vuelva a consultar Decisiones clave para la integración del SDK.