Geräteprofile

Adobe AIR 2 und höher

Profile sind ein Mittel, um die verschiedenen Arten von Geräten zu festzulegen, auf denen Ihre Anwendung ausgeführt werden kann. Ein Profil definiert eine Gruppe von APIs und Fähigkeiten, die normalerweise von einer bestimmten Geräteklasse unterstützt werden. Die folgenden Profile sind verfügbar:

  • desktop

  • extendedDesktop

  • mobileDevice

  • extendedMobileDevice

Sie definieren die Profile für Ihre Anwendung im Anwendungsdeskriptor. Benutzer von Computern und Geräten, die zu den eingeschlossenen Profilen gehören, können Ihre Anwendung installieren, Benutzer von anderen Computern und Geräten können dies nicht. Wenn im Anwendungsdeskriptor zum Beispiel nur das desktop-Profil angegeben ist, können Benutzer Ihre Anwendung nur auf Desktopcomputern installieren und ausführen.

Wenn Sie ein Profil einschließen, das von Ihrer Anwendung nicht vollständig unterstützt wird, kann das Benutzererlebnis in diesen Umgebungen unbefriedigend sein. Sind im Anwendungsdeskriptor gar keine Profile angegeben, schränkt AIR die Anwendung nicht ein. Sie können die Anwendung in jedem der unterstützten Formate verpacken und Benutzer von Geräten aus beliebigen Profilen können sie installierten. Möglicherweise funktioniert die Anwendung zur Laufzeit jedoch nicht korrekt.

Wenn möglich werden Profileinschränkungen beim Verpacken der Anwendung erzwungen. Falls Sie zum Beispiel nur das extendedDesktop-Profil angeben, können Sie die Anwendung nicht als AIR-Datei verpacken, sondern nur als natives Installationsprogramm. Schließen Sie das mobileDevice-Profil nicht ein, können Sie die Anwendung nicht als Android-APK verpacken.

Ein einzelnes Gerät kann mehrere Profile unterstützen. So unterstützt AIR auf Desktopcomputern zum Beispiel Anwendungen für das desktop- und das extendedDesktop-Profil. Eine Anwendung mit dem erweiterten Desktopprofil kann jedoch mit nativen Prozessen kommunizieren und MUSS als natives Installationsprogramm (exe, dmg, deb oder rpm) komprimiert werden. Eine Anwendung mit dem Desktopprofil kann dagegen nicht mit einem nativen Prozess kommunizieren. Anwendungen mit dem Desktopprofil können als AIR-Datei oder als natives Installationsprogramm komprimiert werden.

Das Vorhandensein einer bestimmten Funktion in einem Profil bedeutet, dass diese Funktion von Geräten der Klasse, für die das Profil definiert wurde, normalerweise unterstützt wird. Es bedeutet jedoch nicht, dass jedes Gerät eines Profils jede Funktion unterstützt. So verfügen zum Beispiel die meisten, aber nicht alle Handys über einen Beschleunigungssensor. Klassen und Funktionen ohne universelle Unterstützung haben meistens eine boolesche Eigenschaft, die vor dem Verwenden einer Funktion überprüft werden kann. Im Fall des Beschleunigungssensors können Sie zum Beispiel die Accelerometer.isSupported -Eigenschaft testen, um festzustellen, ob das aktuelle Gerät über einen unterstützten Beschleunigungssensor verfügt.

Mit dem supportedProfiles-Element im Anwendungsdeskriptor können Sie einer AIR-Anwendung die folgenden Profile zuweisen:

Desktop
Das Desktopprofil definiert einen Satz von Funktionen für AIR-Anwendungen, die als AIR-Dateien auf einem Desktopcomputer installiert werden. Diese Anwendungen werden auf unterstützten Desktopplattformen (Mac OS, Windows und Linux) installiert und ausgeführt. AIR-Anwendungen, die in älteren AIR-Anwendungen als AIR 2 entwickelt wurden, sollten im Desktopprofil vorliegen. Einige APIs können in diesem Profil nicht verwendet werden. Die meisten Desktopanwendungen können nicht mit nativen Prozessen kommunizieren.

Erweitertes Desktop
Das erweiterte Desktopprofil definiert einen Satz von Funktionen für AIR-Anwendungen, die in einem nativen Installationsprogramm komprimiert und mit diesem installiert werden. Zu diesen nativen Installern gehören EXE-Dateien unter Windows, DMG-Dateien unter Mac OS und BIN-, DEB- oder RPM-Dateien unter Linux. Erweiterte Desktopanwendungen verfügen über zusätzliche Fähigkeiten, die in Anwendungen mit Desktopprofil nicht verfügbar sind. Weitere Informationen finden Sie unter Komprimieren eines nativen Desktopinstallationsprogramms .

Mobiles Gerät
Das Profil für mobile Geräte definiert einen Satz von Funktionen für Anwendungen, die auf mobilen Geräten wie Handys und Tablets installiert werden. Diese Anwendungen lassen sich auf unterstützten mobilen Plattformen wie Android, Blackberry Tablet OS und iOS installieren und ausführen.

Erweitertes mobiles Gerät
Das erweiterte Profil für mobile Geräte definiert einen Satz von erweiterten Funktionen für Anwendungen, die auf mobilen Geräten installiert werden. Zurzeit gibt es keine Geräte, die dieses Profil unterstützen.

Beschränken von Zielprofilen in der Anwendungsdeskriptordatei

Ab AIR 2 enthält die Anwendungsdeskriptordatei ein supportedProfiles -Element, mit dem Sie Zielprofile einschränken können. Die folgende Einstellung legt zum Beispiel fest, dass die Anwendung nur für das Desktopprofil verfügbar ist:
<supportedProfiles>desktop</supportedProfiles>

Wenn dieses Element gesetzt wird, kann die Anwendung nur in den aufgeführten Profilen komprimiert werden. Verwenden Sie die folgenden Werte:

  • desktop – Das Desktopprofil

  • extendedDesktop – Das erweiterte Desktopprofil

  • mobileDevice – Das Profil für mobile Geräte

Das Element supportedProfiles ist optional. Wenn Sie dieses Element nicht in die Anwendungsdeskriptordatei einschließen, kann die Anwendung für jedes beliebige Profil komprimiert und bereitgestellt werden.

Um mehrere Profile im supportedProfiles -Element anzugeben, trennen Sie die einzelnen Werte durch ein Leerzeichen, wie im folgenden Beispiel:

<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Fähigkeiten verschiedener Profile

In der folgenden Tabelle sind die Klassen und Funktionen aufgeführt, die nicht in allen Profilen unterstützt werden.

Klasse oder Funktion

desktop

extendedDesktop

mobileDevice

Beschleunigungssensor (Accelerometer.isSupported)

Nein

Nein

Überprüfen

Accessibility (Capabilities.hasAccessibility)

Ja

Ja

Nein

Akustische Echokompensation (Microphone.getEnhancedMicrophone())

Ja

Ja

Nein

ActionScript 2

Ja

Ja

Nein

CacheAsBitmapMatrix

Nein

Nein

Ja

Kamera (Camera.isSupported)

Ja

Ja

Ja

CameraRoll

Nein

Nein

Ja

CameraUI (CameraUI.isSupported)

Nein

Nein

Ja

Gekoppelte Laufzeit-Bundles

Ja

Ja

Ja

ContextMenu (ContextMenu.isSupported)

Ja

Ja

Nein

DatagramSocket (DatagramSocket.isSupported)

Ja

Ja

Ja

DockIcon (NativeApplication.supportsDockIcon)

Überprüfen

Überprüfen

Nein

Drag & Drop (NativeDragManager.isSupported)

Ja

Ja

Überprüfen

EncyptedLocalStore (EncyptedLocalStore.isSupported)

Ja

Ja

Ja

Flash Access (DRMManager.isSupported)

Ja

Ja

Nein

GameInput (GameInput.isSupported)

Nein

Nein

Nein

Ortung (Geolocation.isSupported)

Nein

Nein

Überprüfen

HTMLLoader (HTMLLoader.isSupported)

Ja

Ja

Nein

IME (IME.isSupported)

Ja

Ja

Überprüfen

LocalConnection (LocalConnection.isSupported)

Ja

Ja

Nein

Mikrofon (Microphone.isSupported)

Ja

Ja

Überprüfen

Mehrkanal-Audio (Capabilities.hasMultiChannelAudio())

Nein

Nein

Nein

Native Erweiterungen

Nein

Ja

Ja

NativeMenu (NativeMenu.isSupported)

Ja

Ja

Nein

NativeProcess (NativeProcess.isSupported)

Nein

Ja

Nein

NativeWindow (NativeWindow.isSupported)

Ja

Ja

Nein

NetworkInfo (NetworkInfo.isSupported)

Ja

Ja

Überprüfen

Öffnen von Dateien mit Standardanwendung

Eingeschränkt

Ja

Nein

PrintJob (PrintJob.isSupported

Ja

Ja

Nein

SecureSocket (SecureSocket.isSupported)

Ja

Ja

Überprüfen

ServerSocket (ServerSocket.isSupported)

Ja

Ja

Ja

Shader

Ja

Ja

Eingeschränkt

Stage3D (Stage.stage3Ds.length)

Ja

Ja

Ja

Bühnenausrichtung (Stage.supportsOrientationChange)

Nein

Nein

Ja

StageVideo

Nein

Nein

Überprüfen

StageWebView (StageWebView.isSupported)

Ja

Ja

Ja

Starten der Anwendung beim Anmelden (NativeApplication.supportsStartAtLogin)

Ja

Ja

Nein

StorageVolumeInfo (StorageVolumeInfo.isSupported)

Ja

Ja

Nein

Systemleerlaufmodus

Nein

Nein

Ja

SystemTrayIcon (NativeApplication.supportsSystemTrayIcon)

Überprüfen

Überprüfen

Nein

TLF-Eingabe (Text Layout Framework)

Ja

Ja

Nein

Updater (Updater.isSupported)

Ja

Nein

Nein

XMLSignatureValidator (XMLSignatureValidator.isSupported)

Ja

Ja

Nein

Die Einträge in der Tabelle haben die folgende Bedeutung:

  • Überprüfen – Die Funktion wird bei einigen, aber nicht allen Geräten in diesem Profil unterstützt. Sie sollten zur Laufzeit überprüfen, ob die Funktion unterstützt wird, bevor Sie sie verwenden.

  • Eingeschränkt – Die Funktion wird zwar unterstützt, aber mit spürbaren Einschränkungen. Weitere Informationen finden Sie in der entsprechenden Dokumentation.

  • Nein – Die Funktion wird in diesem Profil nicht unterstützt.

  • Ja – Die Funktion wird in diesem Profil unterstützt. Beachten Sie, dass einzelne Geräte möglichweise nicht über die Hardware verfügen, die für eine Funktion benötigt wird. So sind zum Beispiel nicht alle Mobiltelefone mit einer Kamera ausgestattet.

Angabe von Profilen beim Debuggen mit ADL

ADL prüft, ob Sie unterstützte Profile im supportedProfiles -Element der Anwendungsdeskriptordatei angeben. Ist dies der Fall, verwendet ADL standardmäßig das erste unterstützte Profil, das aufgeführt ist, als Profil beim Debuggen.

Mit dem Befehlszeilenargument -profile können Sie ein Profil für die ADL-Debug-Sitzung angeben. (Siehe AIR Debug Launcher (ADL) .) Sie können dieses Argument unabhängig davon, ob Sie ein Profil im supportedProfiles -Element in der Anwendungsdeskriptordatei angeben, verwenden. Wenn Sie ein supportedProfiles -Element angeben, muss es jedoch das in der Befehlszeile angegebene Profil enthalten. Andernfalls generiert ADL einen Fehler.