Perfis de dispositivo

Adobe AIR 2 e posterior

Os perfis são um mecanismo para definir as classes de dispositivos de computação onde funciona seu aplicativo. Um perfil define um conjunto de APIs e de recursos normalmente disponíveis em uma classe particular do dispositivo. Os perfis disponíveis incluem:

  • desktop

  • extendedDesktop

  • mobileDevice

  • extendedMobileDevice

Você pode definir os perfis para seu aplicativo no descritor do aplicativo. Usuários de computadores e dispositivos em perfis incluídos podem instalar o aplicativo; usuários de outros computadores e dispositivos não podem. Por exemplo, se você incluir somente o perfil desktop no descritor do aplicativo, os usuários podem instalar e executar o aplicativo apenas em computadores desktop.

Se você incluir um perfil que seu aplicativo não seja realmente compatível, a experiência do usuário em tais ambientes podem ser pobres. Se você não especificar nenhum perfil no descritor do aplicativo, o AIR não limitará o aplicativo. Você pode compactar o aplicativo em qualquer um dos formatos compatíveis, e os usuários com dispositivos de qualquer perfil podem instalá-lo - porém, pode não funcionar corretamente em runtime.

Sempre que possível, são impostas restrições de perfil ao compactar o aplicativo. Por exemplo, se você incluir somente o perfil extendedDesktop, não poderá compactar o aplicativo como um arquivo AIR - apenas como um instalador nativo. Da mesma forma, se você não incluir o perfil MobileDevice, não poderá compactar o aplicativo como um APK do Android.

Um único dispositivo de computação pode ser compatível com mais de um perfil. Por exemplo, o AIR em computadores desktop são compatíveis com aplicativos de perfis desktop e extendedDesktop. No entanto, um aplicativo de perfil desktop estendido pode se comunicar com processos nativos e DEVE ser compactado como um instalador nativo (exe, dmg, deb ou rpm). Um aplicativo com perfil desktop, por outro lado, não pode se comunicar com um processo nativo. Um aplicativo com perfil desktop pode ser compactado como um arquivo AIR ou um instalador nativo.

A inclusão de um recurso em um perfil indica que o suporte para esse recurso é comum na classe de dispositivos para a qual esse perfil está definido. No entanto, isso não significa que cada dispositivo em um perfil seja compatível com todos os recursos. Por exemplo, a maioria (mas não todos) dos telefones móveis contém um acelerômetro. Classes e recursos que não têm suporte universal geralmente têm uma propriedade booliana que você pode verificar antes de usar o recurso. No caso do acelerômetro, por exemplo, você pode testar a propriedade estática Accelerometer.isSupported para determinar se o dispositivo atual tem um acelerômetro compatível.

Os perfis a seguir podem ser atribuídos ao aplicativo do AIR usando o elemento supportedProfiles no descritor do aplicativo:

Área de trabalho
O perfil desktop define um conjunto de capacidades para os aplicativos AIR, que são instaladas como arquivos AIR em um computador pessoal. Estes aplicativos são instalados e executados nas plataformas de computador pessoal suportadas (sistemas operacionais Mac, Windows e Linux). Os aplicativos AIR desenvolvidos em versões do AIR anteriores a AIR 2 podem ser considerados inseridos no perfil desktop. Algumas APIs não funcionam neste perfil. Por exemplo, os aplicativos de computação pessoal não podem se comunicar com processos nativos.

Desktop estendido
O perfil desktop estendido define um conjunto de capacidades para os aplicativos AIR que compõem o pacote e são instaladas com um programa de instalação nativo. Estes programas de instalação nativos são arquivos EXE no Windows, arquivos DMG no Mac OS, e arquivos DEB ou RPM no Linux. Os aplicativos com o perfil desktop estendido têm capacidades adicionais que não estão disponíveis nos aplicativos com o perfil desktop. Para obter mais informações, consulte Compactação de um instalador desktop nativo .

Dispositivo móvel
O perfil dispositivo móvel define um conjunto de capacidades para aplicativos que são instalados em dispositivos móveis, tais como telefones celulares e tablets. Esses aplicativos são instalados e executados em plataformas móveis suportadas, incluindo Android, Blackberry Tablet OS e iOS.

Dispositivo móvel estendido
O perfil dispositivo móvel define um extenso conjunto de capacidades para aplicativos que são instalados em dispositivos móveis. Atualmente, não existem dispositivos que suportam este perfil.

Como restringir perfis de destino no arquivo de descrição do aplicativo

Como no AIR 2, o arquivo de descrição do aplicativo inclui um elemento supportedProfiles , que permite restringir perfis de destino. Por exemplo, a seguinte configuração especifica que o aplicativo somente está disponível no perfil desktop.
<supportedProfiles>desktop</supportedProfiles>

Quando este elemento é definido, o aplicativo pode ser empacotado nos perfis que você listar. Use os seguintes valores:

  • desktop — O perfil desktop

  • extendedDesktop — O perfil desktop estendido

  • mobileDevice — O perfil dispositivo móvel

O elemento supportedProfiles é opcional. Quando você não incluir este elemento no arquivo e descrição do aplicativo, o aplicativo poderá ser compilado e implementado para qualquer perfil.

Para especificar vários perfis no elemento supportedProfiles , separe cada um com um caractere de espaço como no exemplo a seguir:

<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Capacidades de perfis diferentes

A tabela a seguir lista as classes e os recursos que não são compatíveis com todos os perfis.

Classe ou recurso

desktop

extendedDesktop

mobileDevice

Acelerômetro (Accelerometer.isSupported)

Não

Não

Verificar

Acessibilidade (Capabilities.hasAccessibility)

Sim

Sim

Não

Eliminação de eco acústico (microfonia) (Microphone.getEnhancedMicrophone())

Sim

Sim

Não

ActionScript 2

Sim

Sim

Não

Matriz CacheAsBitmap

Não

Não

Sim

Câmera (Camera.isSupported)

Sim

Sim

Sim

CameraRoll

Não

Não

Sim

CameraUI (CameraUI.isSupported)

Não

Não

Sim

Conjuntos de runtime cativo

Sim

Sim

Sim

ContextMenu (ContextMenu.isSupported)

Sim

Sim

Não

DatagramSocket (DatagramSocket.isSupported)

Sim

Sim

Sim

DockIcon (NativeApplication.supportsDockIcon)

Verificar

Verificar

Não

Drag-and-drop (NativeDragManager.isSupported)

Sim

Sim

Verificar

EncyptedLocalStore (EncyptedLocalStore.isSupported)

Sim

Sim

Sim

Acesso Flash (DRMManager.isSupported)

Sim

Sim

Não

GameInput (GameInput.isSupported)

Não

Não

Não

Geolocalização (Geolocation.isSupported)

Não

Não

Verificar

HTMLLoader (HTMLLoader.isSupported)

Sim

Sim

Não

IME (IME.isSupported)

Sim

Sim

Verificar

LocalConnection (LocalConnection.isSupported)

Sim

Sim

Não

Microfone (Microphone.isSupported)

Sim

Sim

Verificar

Áudio multicanal (Capabilities.hasMultiChannelAudio())

Não

Não

Não

Extensões Nativas

Não

Sim

Sim

NativeMenu (NativeMenu.isSupported)

Sim

Sim

Não

NativeProcess (NativeProcess.isSupported)

Não

Sim

Não

NativeWindow (NativeWindow.isSupported)

Sim

Sim

Não

NetworkInfo (NetworkInfo.isSupported)

Sim

Sim

Verificar

Abra os arquivos com o aplicativo padrão

Limitado

Sim

Não

PrintJob (PrintJob.isSupported

Sim

Sim

Não

SecureSocket (SecureSocket.isSupported)

Sim

Sim

Verificar

ServerSocket (ServerSocket.isSupported)

Sim

Sim

Sim

Shader

Sim

Sim

Limitado

Stage3D (Stage.stage3Ds.length)

Sim

Sim

Sim

Orientação do Palco (Stage.supportsOrientationChange)

Não

Não

Sim

StageVideo

Não

Não

Verificar

StageWebView (StageWebView.isSupported)

Sim

Sim

Sim

Iniciar aplicativo no login (NativeApplication.supportsStartAtLogin)

Sim

Sim

Não

StorageVolumeInfo (StorageVolumeInfo.isSupported)

Sim

Sim

Não

Modo ocioso do sistema

Não

Não

Sim

SystemTrayIcon (NativeApplication.supportsSystemTrayIcon)

Verificar

Verificar

Não

Entrada da Text Layout Framework

Sim

Sim

Não

Updater (Updater.isSupported)

Sim

Não

Não

XMLSignatureValidator (XMLSignatureValidator.isSupported)

Sim

Sim

Não

As entradas na tabela têm o seguinte significado:

  • Verificar — O recurso é compatível com alguns, mas não com todos os dispositivos no perfil. Você deve verificar no runtime se o recurso é compatível antes de usá-lo.

  • Limitado — O recurso é compatível, mas tem limitações significativas. Consulte a documentação pertinente para mais informações.

  • Não — O recurso não é compatível com o perfil.

  • Sim — O recurso é compatível com o perfil. Observe que faz falta do hardware necessário para um recurso nos dispositivos de computação individual. Por exemplo, nem todos os celulares têm câmeras.

Como especificar problemas ao depurar com ADL

O ADL verifica se você especificou perfis suportados no elemento supportedProfiles do arquivo de descrição de aplicativos. Se você fizer isso, ao efetuar a depuração, o ADL, por padrão, como perfil o primeiro perfil suportado da lista.

Você pode especificar um perfil para a sessão de depuração de ADL usando o argumento de linha de comando -profile . AIR Debug Launcher (ADL) Você poderá usar este argumento independentemente de especificar ou não um perfil no elemento supportedProfiles do arquivo de descrição do aplicativo. Contudo, se você especificar um elemento supportedProfiles , ele deverá incluir o perfil que você especificar na linha de comando. Do contrário, o ADL gera um erro.