Apparaatprofielen

Adobe AIR 2 of hoger

Profielen zijn een mechanisme voor het definiëren van klassen computerapparaten waarop uw toepassing werkt. Een profiel definieert een set API's en mogelijkheden die normaal gesproken op een bepaalde apparaatklasse worden ondersteund. Voorbeelden van de beschikbare profielen:

  • desktop

  • extendedDesktop

  • mobileDevice

  • extendedMobileDevice

U kunt de profielen voor uw toepassing in de toepassingsdescriptor definiëren. Gebruikers van computers en apparaten in de opgenomen profielen kunnen uw toepassing installeren. Gebruikers van andere computers kunnen dat niet. Als u bijvoorbeeld alleen het bureaubladprofiel uw toepassingsdescriptor opneemt, kunnen gebruikers uw toepassing alleen op bureaubladcomputers installeren en uitvoeren.

Als u een profiel opneemt die uw toepassing niet ondersteunt, kunnen de ervaringen van de gebruikers in zulke omgevingen gering zijn. Als u geen profielen in de toepassingsdescriptor opgeeft, beperkt AIR uw toepassing niet. U kunt de toepassing in elk van de ondersteunde indelingen verpakken en gebruikers met apparaten van elk profiel kunnen deze installeren. De toepassing werkt echter bij runtime mogelijk niet naar behoren.

Waar mogelijk worden profielrestricties afgedwongen wanneer u uw toepassing verpakt. Als u bijvoorbeeld slechts het profiel extendedDesktop opneemt, kunt u uw toepassing niet als AIR-bestand opslaan, alleen als native installatieprogramma. Als u het profiel mobileDevice niet opneemt, kunt u uw toepassing niet als APK van Android inpakken.

Een enkele computer kan meer dan één profiel ondersteunen. AIR ondersteunt bijvoorbeeld op bureaubladcomputers toepassingen van zowel het profiel desktop als het profiel extendedDesktop. Een toepassing met profiel uitgebreid bureaublad kan echter communiceren met native processen en MOET zijn verpakt als native installatieprogramma (exe, dmg, deb of rpm). Een toepassing met bureaublad aan de andere kant kan niet communiceren met een native proces. Een toepassing met bureaubladprofiel kan worden verpakt als AIR-bestand of als native installatieprogramma.

Het opnemen van een functie in een profiel duidt erop dat ondersteuning van die functie algemeen is in de apparaatklasse waarvoor dat profiel is gedefinieerd. Het betekent echter niet dat elk apparaat in een profiel elke functie ondersteunt. De meeste, maar niet alle mobiele telefoons kunnen bijvoorbeeld een accelerometer ondersteunen. Klassen en functies die geen algemene ondersteuning genieten, hebben normaal gesproken een booleaanse eigenschap die u kunt controleren voordat u de functie gebruikt. In het geval van een accelerometer bijvoorbeeld kunt u de statische eigenschap Accelerometer.isSupported testen om te bepalen of het huidige apparaat een ondersteunde accelerometer bevat.

De volgende profielen kunnen worden toegewezen aan uw AIR-toepassing met behulp van het element supportedProfiles in de toepassingsdescriptor:

Desktop
Het profiel Desktop definieert een serie functionaliteiten voor AIR-toepassingen die als AIR-bestanden op een desktopcomputer worden geïnstalleerd. Deze toepassingen worden geïnstalleerd en uitgevoerd op ondersteunde desktopplatforms (Mac OS, Windows en Linux). AIR-toepassingen die zijn ontwikkeld in versies van AIR ouder dan AIR 2 kunnen worden beschouwd als toepassingen met het profiel Desktop. Sommige API's werken niet in dit profiel. Zo kunnen toepassingen met het profiel Desktop niet met native processen communiceren.

Uitgebreide desktop
Het uitgebreide bureaubladprofiel definieert een reeks mogelijkheden voor AIR-toepassingen die zijn verpakt en geïnstalleerd met een native installatieprogramma. Deze native installatieprogramma's zijn EXE-bestanden bij Windows, DMG-bestanden bij Mac OS en BIN-, DEB- of RPM-bestanden bij Linux. Toepassingen met het profiel Uitgebreide desktop hebben extra functies die niet beschikbaar zijn in toepassingen met het profiel Desktop. Zie voor meer informatie Een eigen bureaubladinstallatieprogramma verpakken .

Mobiel apparaat
Het mobiele-apparaatprofiel definieert een reeks mogelijkheden voor toepassingen die zijn geïnstalleerd op mobiele apparaten zoals mobiele telefoons en tablets. Deze toepassingen kunnen worden installeerd en uitgevoerd op ondersteunde mobiele platforms, zoals Android, Blackberry Tablet OS, en iOS.

Uitgebreid mobiel apparaat
Het profiel voor uitgebreide mobiele apparaten definieert een uitgebreide reeks mogelijkheden voor toepassingen die zijn geïnstalleerd op mobiele apparaten. Er zijn momenteel geen apparaten die dit profiel ondersteunen.

Doelprofielen beperken in het descriptorbestand van de toepassing

Vanaf AIR 2 bevat het toepassingsdescriptorbestand een element supportedProfiles , waarmee u doelprofielen kunt beperken. Met de volgende instelling wordt bijvoorbeeld aangegeven dat de toepassing alleen beschikbaar is in het profiel Desktop:
<supportedProfiles>desktop</supportedProfiles>

Wanneer dit element is ingesteld, kan de toepassing alleen worden verpakt in de profielen die u aangeeft. Gebruik de volgende waarden:

  • desktop : het profiel Desktop

  • extendedDesktop : het profiel Uitgebreide desktop

  • mobileDevice : het profiel Mobiel apparaat

Het element supportedProfiles is optioneel. Als u dit element niet opneemt in het descriptorbestand van de toepassing, kan de toepassing voor elk profiel worden verpakt en geïmplementeerd.

Als u meerdere profielen in het element supportedProfiles wilt opgeven, plaatst u tussen de profielen een spatie als scheidingsteken, zoals hieronder:

<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Mogelijkheden van de verschillende profielen

In de volgende tabel zijn de klassen en functies opgenomen die niet in alle profielen worden ondersteund.

Klasse of functie

desktop

extendedDesktop

mobileDevice

Accelerometer (Accelerometer.isSupported)

Nee

Nee

Controleren

Accessibility (Capabilities.hasAccessibility)

Ja

Ja

Nee

Acoustische echo-opheffing (Microphone.getEnhancedMicrophone())

Ja

Ja

Nee

ActionScript 2

Ja

Ja

Nee

Matrix CacheAsBitmap

Nee

Nee

Ja

Camera (Camera.isSupported)

Ja

Ja

Ja

CameraRoll

Nee

Nee

Ja

CameraUI (CameraUI.isSupported)

Nee

Nee

Ja

Captive-runtimebundels

Ja

Ja

Ja

ContextMenu (ContextMenu.isSupported)

Ja

Ja

Nee

DatagramSocket (DatagramSocket.isSupported)

Ja

Ja

Ja

DockIcon (NativeApplication.supportsDockIcon)

Controleren

Controleren

Nee

Drag-and-drop (NativeDragManager.isSupported)

Ja

Ja

Controleren

EncyptedLocalStore (EncyptedLocalStore.isSupported)

Ja

Ja

Ja

Flash Access (DRMManager.isSupported)

Ja

Ja

Nee

GameInput (GameInput.isSupported)

Nee

Nee

Nee

Geolocation (Geolocation.isSupported)

Nee

Nee

Controleren

HTMLLoader (HTMLLoader.isSupported)

Ja

Ja

Nee

IME (IME.isSupported)

Ja

Ja

Controleren

LocalConnection (LocalConnection.isSupported)

Ja

Ja

Nee

Microphone (Microphone.isSupported)

Ja

Ja

Controleren

Meerkanaalsaudio (Capabilities.hasMultiChannelAudio())

Nee

Nee

Nee

Native extensies

Nee

Ja

Ja

NativeMenu (NativeMenu.isSupported)

Ja

Ja

Nee

NativeProcess (NativeProcess.isSupported)

Nee

Ja

Nee

NativeWindow (NativeWindow.isSupported)

Ja

Ja

Nee

NetworkInfo (NetworkInfo.isSupported)

Ja

Ja

Controleren

Bestanden openen met standaardtoepassing

Beperkt

Ja

Nee

PrintJob (PrintJob.isSupported

Ja

Ja

Nee

SecureSocket (SecureSocket.isSupported)

Ja

Ja

Controleren

ServerSocket (ServerSocket.isSupported)

Ja

Ja

Ja

Arcering

Ja

Ja

Beperkt

Stage3D (Stage.stage3Ds.length)

Ja

Ja

Ja

Oriëntatie werkgebied (Stage.supportsOrientationChange)

Nee

Nee

Ja

StageVideo

Nee

Nee

Controleren

StageWebView (StageWebView.isSupported)

Ja

Ja

Ja

Toepassing opstarten bij aanmelding (NativeApplication.supportsStartAtLogin)

Ja

Ja

Nee

StorageVolumeInfo (StorageVolumeInfo.isSupported)

Ja

Ja

Nee

Modus systeem inactief

Nee

Nee

Ja

SystemTrayIcon (NativeApplication.supportsSystemTrayIcon)

Controleren

Controleren

Nee

Invoer framework tekstlay-out

Ja

Ja

Nee

Updater (Updater.isSupported)

Ja

Nee

Nee

XMLSignatureValidator (XMLSignatureValidator.isSupported)

Ja

Ja

Nee

De elementen in het tabel hebben de volgende betekenis:

  • Controleren — De functie wordt ondersteund op sommige, maar niet alle apparaten in het profiel. U moet tijdens uitvoering controleren of de functie wordt ondersteund voordat u deze gebruikt.

  • Beperkt — De functie wordt ondersteund, maar is aanzienlijk beperkt. Raadpleeg de relevante documentatie voor meer informatie.

  • Nee — De functie wordt niet ondersteund in het profiel.

  • Ja — De functie wordt ondersteund in het profiel. Let op: het kan zijn dat afzonderlijke computerapparaten de hardware die nodig is voor een functie, niet bevatten. Niet alle telefoons hebben bijvoorbeeld een camera.

Profielen opgeven tijdens foutopsporing met ADL

ADL controleert of er ondersteunde profielen zijn opgegeven in het element supportedProfiles van het descriptorbestand van de toepassing. Als dat het geval is, gebruikt ADL standaard het eerste ondersteunde profiel als profiel tijdens de foutopsporing.

U kunt een profiel voor ADL-foutopsporing opgeven met het opdrachtregelargument -profile . Zie ADL (AIR Debug Launcher) . U kunt dit argument altijd gebruiken, of u het element supportedProfiles nu wel of niet in het descriptorbestand van de toepassing hebt opgegeven. Maar als u wel een element supportedProfiles opgeeft, moet dit het profiel bevatten dat u in de opdrachtregel opgeeft, anders genereert ADL een fout.