Perfiles de dispositivo

Adobe AIR 2 y posterior

Los perfiles son un mecanismo para definir las clases de dispositivos informáticos en los que funciona la aplicación. Un perfil define un conjunto de APIs y capacidades que suelen admitirse en una clase concreta de dispositivo. Entre los perfiles disponibles se incluyen:

  • desktop

  • extendedDesktop

  • mobileDevice

  • extendedMobileDevice

Se pueden definir los perfiles para la aplicación en el descriptor de la aplicación. Los usuarios de los equipos y dispositivos en los perfiles incluidos pueden instalar la aplicación; los usuarios de otros equipos y dispositivos no. Por ejemplo, si solo se incluye el perfil de escritorio en el descriptor de la aplicación, los usuarios pueden instalar y ejecutar la aplicación únicamente en los equipos de escritorio.

Si se incluye un perfil que la aplicación no admita realmente, la experiencia del usuario en estos entornos puede no ser adecuada. Si no se especifica ningún perfil en el descriptor de la aplicación, AIR no limita la aplicación. La aplicación se puede empaquetar en cualquiera de los formatos admitidos y los usuarios con dispositivos de cualquier perfil pueden instalarla. Sin embargo, puede que no funcione adecuadamente en tiempo de ejecución.

Si es posible, las restricciones de perfil se aplican cuando se empaqueta la aplicación. Por ejemplo, si solo se incluye el perfil extendedDesktop, no se podrá empaquetar la aplicación como archivo de AIR; solo como instalador nativo. Del mismo modo, si nos e incluye el perfil mobileDevice, la aplicación no se puede empaquetar como APK de Android.

Un solo dispositivo informático puede admitir varios perfiles. Por ejemplo, AIR en los equipos de escritorio admite aplicaciones para los perfiles extendedDesktop y de escritorio. Sin embargo, una aplicación de perfil de escritorio ampliada puede comunicarse con procesos nativos y DEBE empaquetarse como instalador nativo (exe, dmg, deb o rpm). Por otra parte, una aplicación de perfil de escritorio no se puede comunicar con un proceso nativo. Una aplicación de perfil de escritorio se puede empaquetar como archivo de AIR o instalador nativo.

La inclusión de una función en un perfil indica que la compatibilidad con dicha función en común en la clase de dispositivos para los que se define ese perfil. Sin embargo, no significa que todos los dispositivos de un perfil admitan todas las funciones. Por ejemplo la mayoría de los teléfonos móviles, pero no todos, incluyen un acelerómetro. Las clases y las funciones que presentan compatibilidad universal suelen tener una propiedad booleana que se puede comprobar antes de utilizar la función. En el caso del acelerómetro, por ejemplo, se puede probar la propiedad estática Accelerometer.isSupported con el fin de determinar si el dispositivo actual cuenta con un acelerómetro compatible.

Los siguientes perfiles se pueden asignar a la aplicación de AIR utilizando el elemento supportedProfiles en el descriptor de la aplicación:

Escritorio
El perfil de escritorio define un conjunto de capacidades para aplicaciones de AIR que se instalan como archivos de AIR en un equipo de escritorio. Estas aplicaciones se instalarán y ejecutarán en plataformas de escritorio compatibles (Mac OS, Windows y Linux). Las aplicaciones de AIR desarrolladas en versiones de AIR anteriores a AIR 2, se pueden considerar dentro del perfil de escritorio. Algunas APIs no funcionan en este perfil. Por ejemplo, las aplicaciones de escritorio no se pueden comunicar con procesos nativos.

Escritorio ampliado
El perfil de escritorio ampliado define un conjunto de capacidades para aplicaciones de AIR que están empaquetadas e instaladas con un instalador nativo. Estos instaladores nativos son archivos EXE en Windows, archivos DMG en Mac OS y archivos BIN, DEB o RPM en Linux. Las aplicaciones de escritorio ampliadas cuentan con capacidades adicionales que no están disponibles en las aplicaciones de perfil de escritorio. Para obtener más información, consulte Empaquetado de un instalador nativo de escritorio.

Dispositivo móvil
El perfil de dispositivo móvil define un conjunto de capacidades para las aplicaciones que se encuentran instaladas en dispositivos móviles como, por ejemplo, teléfonos móviles y tablets. Estas aplicaciones se instalan y se ejecutan en plataformas móviles admitidas, entre las que se incluyen Android, Blackberry Tablet OS e iOS.

Dispositivo móvil ampliado
El perfil de dispositivo móvil extendido define un conjunto ampliado de capacidades para las aplicaciones están instaladas en dispositivos móviles. Actualmente, no existen dispositivos que admitan este perfil.

Restricción de perfiles de destino en el archivo descriptor de la aplicación

Desde AIR 2, el archivo descriptor de la aplicación incluye un elemento supportedProfiles, que permite restringir perfiles de destino. Por ejemplo, la siguiente configuración especifica que la aplicación solo está disponible en los perfiles de escritorio:
<supportedProfiles>desktop</supportedProfiles>

Cuando se establece este elemento, la aplicación solo se puede empaquetar en los perfiles especificados. Utilice los siguientes valores:

  • desktop: perfil de escritorio.

  • extendedDesktop: perfil de escritorio ampliado.

  • mobileDevice: perfil de dispositivo móvil.

El elemento supportedProfiles es opcional. Si no se incluye este elemento en el archivo descriptor de la aplicación, esta se puede empaquetar e implementar para cualquier perfil.

Para especificar varios perfiles en el elemento supportedProfiles, separe cada uno de ellos con un carácter de espacio, tal y como se indica a continuación:

<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Capacidades en diferentes perfiles

En la siguiente tabla se incluyen las clases y las funciones que no se admiten en todos los perfiles.

Clase o Función

desktop

extendedDesktop

mobileDevice

Acelerómetro (Accelerometer.isSupported)

No

No

Activar

Accesibilidad (Capabilities.hasAccessibility)

No

Cancelación de eco acústico (Microphone.getEnhancedMicrophone())

No

ActionScript 2

No

CacheAsBitmap matrix

No

No

Camera (Camera.isSupported)

CameraRoll

No

No

CameraUI (CameraUI.isSupported)

No

No

Paquetes de motor de ejecución captadores

ContextMenu (ContextMenu.isSupported)

No

DatagramSocket (DatagramSocket.isSupported)

DockIcon (NativeApplication.supportsDockIcon)

Activar

Comprobar

No

Drag-and-drop (NativeDragManager.isSupported)

Comprobar

EncyptedLocalStore (EncyptedLocalStore.isSupported)

Flash Access (DRMManager.isSupported)

No

GameInput (GameInput.isSupported)

No

No

No

Geolocation (Geolocation.isSupported)

No

No

Activar

HTMLLoader (HTMLLoader.isSupported)

No

IME (IME.isSupported)

Comprobar

LocalConnection (LocalConnection.isSupported)

No

Microphone (Microphone.isSupported)

Comprobar

Audio multicanal (Capabilities.hasMultiChannelAudio())

No

No

No

Extensiones nativas

No

NativeMenu (NativeMenu.isSupported)

No

NativeProcess (NativeProcess.isSupported)

No

No

NativeWindow (NativeWindow.isSupported)

No

NetworkInfo (NetworkInfo.isSupported)

Comprobar

Apertura de archivos con la aplicación predeterminada

Limitado

No

PrintJob (PrintJob.isSupported

No

SecureSocket (SecureSocket.isSupported)

No

ServerSocket (ServerSocket.isSupported)

Sombreado

Limitado

Stage3D (Stage.stage3Ds.length)

Stage orientation (Stage.supportsOrientationChange)

No

No

StageVideo

No

No

Activar

StageWebView (StageWebView.isSupported)

Iniciar la aplicación en el inicio de sesión (NativeApplication.supportsStartAtLogin)

No

StorageVolumeInfo (StorageVolumeInfo.isSupported)

No

Modo de inactividad del sistema

No

No

SystemTrayIcon (NativeApplication.supportsSystemTrayIcon)

Activar

Comprobar

No

Entrada de Text Layout Framework

No

Updater (Updater.isSupported)

No

No

XMLSignatureValidator (XMLSignatureValidator.isSupported)

No

Las entradas de la tabla tienen los siguientes significados:

  • Check: la función no se admite en algunos, pero no todos, dispositivos en el perfil. Se debe comprobar en tiempo de ejecución si la función se admite antes de utilizarla.

  • Limited: la función se admite, pero tiene limitaciones importantes. Consulte la documentación correspondiente para obtener más información.

  • No: la función no se admite en el perfil.

  • Yes: la función se admite en el perfil. Se debe tener en cuenta que los dispositivos informáticos independientes pueden carecer del hardware necesario para una función. Por ejemplo, no todos los teléfonos tienen cámaras.

Especificación de perfil al depurar con ADL

ADL comprueba si se especifican los perfiles admitidos en el elemento supportedProfiles del archivo descriptor de la aplicación. Si es así, ADL utilizará de forma predeterminada el primer perfil admitido incluido como perfil en el proceso de depuración.

Es posible especificar un perfil para la sesión de depuración de ADL utilizando el argumento de la línea de comandos -profile. (Consulte AIR Debug Launcher (ADL).) Este argumento se puede utilizar tanto si se especifica como si no un perfil en el elemento supportedProfiles en el archivo descriptor de la aplicación. No obstante, si se especifica un elemento supportedProfiles, es necesario incluir el perfil en la línea de comandos. De lo contrario, ADL genera un error