Profils de périphérique

Adobe AIR 2 et ultérieur

Les profils sont un mécanisme de définition des classes des périphériques informatiques sur lesquels s’exécute l’application. Un profil définit un ensemble d’API et de fonctionnalités généralement pris en charge par une classe déterminée de périphérique. Les profils disponibles sont les suivants :

  • desktop

  • extendedDesktop

  • mobileDevice

  • extendedMobileDevice

Vous pouvez définir les profils associés à l’application dans le fichier descripteur de l’application. Seuls les utilisateurs qui disposent d’un ordinateur ou d’un périphérique stipulé dans les profils inclus peuvent installer l’application. Si vous n’incluez, par exemple, que le profil desktop dans le fichier descripteur de l’application, les utilisateurs peuvent installer et exécuter l’application sur un ordinateur de bureau uniquement.

Si vous incluez un profil que l’application ne prend pas totalement en charge, l’expérience de l’utilisateur dans les environnements de ce type risque de ne pas être satisfaisante. Si vous ne spécifiez pas de profil dans le fichier descripteur de l’application, AIR ne restreint pas cette dernière. Vous pouvez mettre en package l’application dans tous les formats pris en charge et celle-ci peut être installée par les utilisateurs qui disposent d’un périphérique stipulé dans n’importe quel profil. Elle risque toutefois de ne pas fonctionner correctement à l’exécution.

Dans la mesure du possible, les restrictions associées aux profils sont imposées lorsque vous mettez en package l’application. Si, par exemple, vous incluez le profil extendedDesktop uniquement, il est impossible de mettre en package l’application en tant que fichier AIR, mais uniquement en tant que programme d’installation natif. De même, si vous n’incluez pas le profil mobileDevice, il est impossible de mettre en package l’application en tant que fichier APK Android.

Un périphérique informatique peut prendre en charge plusieurs profils. Sur un ordinateur de bureau, AIR prend, par exemple, en charge les applications associées aux profils desktop et extendedDesktop. Une application associée au profil extendedDesktop peut toutefois communiquer avec les processus natifs et vous devez IMPERATIVEMENT la mettre en package en tant que programme d’installation natif (exe, dmg, deb ou rpm). En revanche, une application associée au profil desktop ne peut pas communiquer avec un processus natif. Vous pouvez la mettre en package en tant que fichier AIR ou programme d’installation natif.

L’inclusion d’une fonctionnalité dans un profil indique qu’elle est généralement prise en charge par la classe de périphérique correspondante. Ce qui ne signifie pas que chaque périphérique associé à un profil prend en charge chaque fonctionnalité. La plupart des téléphones portables, mais non leur totalité, contiennent par exemple un accéléromètre. Les classes et fonctionnalité qui ne sont pas universellement prises en charge gèrent généralement une propriété booléenne que vous pouvez vérifier avant d’utiliser la fonctionnalité. Dans le cas d’un accéléromètre, par exemple, vous pouvez tester la propriété statique Accelerometer.isSupported pour déterminer si le périphérique actif en est équipé.

Vous pouvez assigner les profils suivants à l’application AIR à l’aide de l’élément supportedProfiles du fichier descripteur de l’application :

Bureau
Le profil de bureau définit un ensemble de fonctionnalités réservé aux applications AIR installées en tant que fichiers AIR sur un ordinateur de bureau. Ces applications sont installées et s’exécutent sur les plates-formes de bureau prises en charge (Mac OS, Windows et Linux). Les applications AIR développées dans les versions d’AIR antérieures à la version 2 peuvent être considérées comme faisant partie du profil de bureau. Certaines API ne sont pas prises en charge dans ce profil. Ainsi, les applications de bureau ne peuvent pas communiquer avec les processus natifs.

Bureau étendu
Le profil de bureau étendu définit un ensemble de fonctionnalités réservé aux applications AIR qui sont mises en package avec un programme d’installation natif et installées par le biais de celui-ci. Ces programmes d’installation natifs sont des fichiers EXE sous Windows, DMG sous Mac OS et BIN, DEB ou RPM sous Linux. Les applications du profil de bureau étendu sont dotées de fonctionnalités que ne possèdent pas les applications du profil de bureau. Pour plus d’informations, voir Mise en package d’un programme d’installation natif de bureau.

Périphérique mobile
Le profil de périphérique mobile définit un ensemble de fonctionnalités réservé aux applications installées sur des périphériques mobiles (tels que téléphones portables et tablettes). Ces applications s’installent et s’exécutent sur les plates-formes mobiles prises en charge, notamment sur Android, Blackberry Tablet OS et iOS.

Périphérique mobile étendu
Le profil de périphérique mobile étendu définit un ensemble de fonctionnalités étendu réservé aux applications installées sur des périphériques mobiles. Aucun périphérique ne prend actuellement en charge ce profil.

Limitation des profils cible dans le fichier descripteur de l’application

Depuis AIR 2, le fichier descripteur de l’application contient l’élément supportedProfiles, qui permet de limiter les profils cible. Le paramètre suivant, par exemple, stipule que l’application est uniquement disponible dans le profil de bureau :
<supportedProfiles>desktop</supportedProfiles>

Lorsque cet élément est défini, l’application peut uniquement être mise en package dans les profils que vous indiquez. Les valeurs disponibles sont les suivantes :

  • desktop : profil de bureau

  • extendedDesktop : profil de bureau étendu

  • mobileDevice : profil de périphérique mobile

L’élément supportedProfiles est facultatif. Lorsque vous l’omettez du fichier descripteur d’application, il est possible de mettre en package et de déployer l’application pour tout profil.

Pour spécifier plusieurs profils dans l’élément supportedProfiles, séparez-les par un espace, comme suit :

<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Fonctionnalités des différents profils

Le tableau ci-dessous indique les classes et fonctionnalités qui ne sont pas prises en charge par tous les profils.

Classe ou fonctionnalité

desktop

extendedDesktop

mobileDevice

Accéléromètre (Accelerometer.isSupported)

Non

Non

Vérifier

Accessibilité (Capabilities.hasAccessibility)

Oui

Oui

Non

Annulation de l’écho acoustique (Microphone.getEnhancedMicrophone())

Oui

Oui

Non

ActionScript 2

Oui

Oui

Non

Matrice CacheAsBitmap

Non

Non

Oui

Caméra (Camera.isSupported)

Oui

Oui

Oui

CameraRoll

Non

Non

Oui

CameraUI (CameraUI.isSupported)

Non

Non

Oui

Paquets de moteur d’exécution

Oui

Oui

Oui

ContextMenu (ContextMenu.isSupported)

Oui

Oui

Non

DatagramSocket (DatagramSocket.isSupported)

Oui

Oui

Oui

DockIcon (NativeApplication.supportsDockIcon)

Vérifier

Vérifier

Non

Glisser-déposer (NativeDragManager.isSupported)

Oui

Oui

Vérifier

EncyptedLocalStore (EncyptedLocalStore.isSupported)

Oui

Oui

Oui

Accès à Flash (DRMManager.isSupported)

Oui

Oui

Non

GameInput (GameInput.isSupported)

Non

Non

Non

Géolocalisation (Geolocation.isSupported)

Non

Non

Vérifier

HTMLLoader (HTMLLoader.isSupported)

Oui

Oui

Non

Editeur IME (IME.isSupported)

Oui

Oui

Vérifier

LocalConnection (LocalConnection.isSupported)

Oui

Oui

Non

Microphone (Microphone.isSupported)

Oui

Oui

Vérifier

Son multicanaux (Capabilities.hasMultiChannelAudio())

Non

Non

Non

Extensions natives

Non

Oui

Oui

NativeMenu (NativeMenu.isSupported)

Oui

Oui

Non

NativeProcess (NativeProcess.isSupported)

Non

Oui

Non

NativeWindow (NativeWindow.isSupported)

Oui

Oui

Non

NetworkInfo (NetworkInfo.isSupported)

Oui

Oui

Vérifier

Ouverture de fichiers dans l’application par défaut

Prise en charge restreinte

Oui

Non

PrintJob (PrintJob.isSupported)

Oui

Oui

Non

SecureSocket (SecureSocket.isSupported)

Oui

Oui

Vérifier

ServerSocket (ServerSocket.isSupported)

Oui

Oui

Oui

Shader

Oui

Oui

Prise en charge restreinte

Stage3D (Stage.stage3Ds.length)

Oui

Oui

Oui

Orientation de la scène (Stage.supportsOrientationChange)

Non

Non

Oui

StageVideo

Non

Non

Vérifier

StageWebView (StageWebView.isSupported)

Oui

Oui

Oui

Lancement de l’application lors de l’établissement de la connexion (NativeApplication.supportsStartAtLogin)

Oui

Oui

Non

StorageVolumeInfo (StorageVolumeInfo.isSupported)

Oui

Oui

Non

Mode inactif du système

Non

Non

Oui

SystemTrayIcon (NativeApplication.supportsSystemTrayIcon)

Vérifier

Vérifier

Non

Entrée Text Layout Framework

Oui

Oui

Non

Updater (Updater.isSupported)

Oui

Non

Non

XMLSignatureValidator (XMLSignatureValidator.isSupported)

Oui

Oui

Non

La signification des entrées du tableau est la suivante :

  • Vérifier : la fonctionnalité est prise en charge sur certains périphériques du profil, mais pas tous. Vérifiez à l’exécution si elle est prise en charge avant de l’utiliser.

  • Prise en charge restreinte : la fonctionnalité est prise en charge, mais est sujette à d’importantes restrictions. Pour plus d’informations, voir la documentation appropriée.

  • Non : la fonctionnalité n’est pas prise en charge par le profil.

  • Oui : la fonctionnalité est prise en charge par le profil. Notez que certains périphériques ne sont pas équipés du matériel requis par une fonctionnalité. Tous les téléphones ne disposent par exemple pas d’une caméra.

Spécification de profils lors du débogage à l’aide de l’application de débogage du lanceur AIR (ADL)

L’application de débogage du lanceur AIR (ADL) vérifie si vous avez spécifié les profils pris en charge dans l’élément supportedProfiles du fichier descripteur d’application. Si tel est le cas, l’application ADL utilise par défaut le premier profil pris en charge de la liste lors du débogage.

Vous pouvez spécifier le profil que doit utiliser l’outil ADL à l’aide de l’argument de ligne de commande -profile (Voir Application de débogage du lanceur AIR (ADL).) Vous pouvez utiliser cet argument même si vous ne spécifiez pas de profil dans l’élément supportedProfiles du fichier descripteur d’application. Toutefois, si vous définissez l’élément supportedProfiles, il doit inclure le profil indiqué dans la ligne de commande, sans quoi l’outil ADL génère une erreur.