GeräteprofileAdobe 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
tv
extendedTV
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 installiert werden. Sie können ActionScript 3.0 und die AIR-APIs verwenden, um Anwendungen für Android, iPhone, iPod touch und iPad zu erstellen. Zurzeit sind dies die einzigen Geräte, die Anwendungen mit dem Profil für mobile Geräte unterstützen.
- Erweitertes mobiles Gerät
- Das erweiterte Profil für mobile Geräte definiert einen Satz von Funktionen für Anwendungen, die auf bestimmten mobilen Geräten installiert werden. Diese Untergruppe von mobilen Geräten kann zusätzlich zu den im Profil für mobile Geräte definierten Funktionen die HTMLLoader-Klasse verwenden. Zurzeit gibt es keine Geräte, die dieses Profil unterstützen.
- TV
- Das Profil für TV-Geräte definiert einen Satz von Funktionen für TV-Geräte. Als TV-Geräte gelten hier auch Geräte, die ein Fernsehgerät als primäres Anzeigegerät verwenden, zum Beispiel BD-Player, Festplattenrecorder und Settopboxen. Anwendungen in diesem Profil können keine nativen ActionScript-Erweiterungen verwenden.
- Erweitertes TV
- Das erweiterte Profil für TV-Geräte gilt für dieselben Gerätetypen wie das tv-Profil, enthält jedoch zusätzliche Funktionen wie native ActionScript-Erweiterungen.
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
tv – Das Profil für TV-Geräte
extendedTV – Das erweiterte Profil für TV-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
|
tv
|
extendedTV
|
Beschleunigungssensor (Accelerometer.isSupported)
|
Nein
|
Nein
|
Überprüfen
|
Nein
|
Nein
|
Accessibility (Capabilities.hasAccessibility)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
ActionScript 2
|
Ja
|
Ja
|
Nein
|
Ja
|
Ja
|
CacheAsBitmapMatrix
|
Nein
|
Nein
|
Ja
|
Ja
|
Ja
|
Kamera (Camera.isSupported)
|
Ja
|
Ja
|
Ja
|
Nein
|
Nein
|
CameraRoll
|
Nein
|
Nein
|
Ja
|
Nein
|
Nein
|
CameraUI (CameraUI.isSupported)
|
Nein
|
Nein
|
Ja
|
Nein
|
Nein
|
ContextMenu (ContextMenu.isSupported)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
DatagramSocket (DatagramSocket.isSupported)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
DockIcon (NativeApplication.supportsDockIcon)
|
Überprüfen
|
Überprüfen
|
Nein
|
Nein
|
Nein
|
Drag & Drop (NativeDragManager.isSupported)
|
Ja
|
Ja
|
Überprüfen
|
Nein
|
Nein
|
EncyptedLocalStore (EncyptedLocalStore.isSupported)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
ExtensionContext
|
Nein
|
Nein
|
Nein
|
Nein
|
Ja
|
Flash Access (DRMManager.isSupported)
|
Ja
|
Ja
|
Nein
|
Ja
|
Ja
|
Ortung (Geolocation.isSupported)
|
Nein
|
Nein
|
Überprüfen
|
Nein
|
Nein
|
HTMLLoader (HTMLLoader.isSupported)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
IME (IME.isSupported)
|
Ja
|
Ja
|
Überprüfen
|
Nein
|
Nein
|
LocalConnection (LocalConnection.isSupported)
|
Ja
|
Ja
|
Nein
|
Ja
|
Ja
|
Mikrofon (Microphone.isSupported)
|
Ja
|
Ja
|
Überprüfen
|
Nein
|
Nein
|
NativeMenu (NativeMenu.isSupported)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
NativeProcess (NativeProcess.isSupported)
|
Nein
|
Ja
|
Nein
|
Nein
|
Nein
|
NativeWindow (NativeWindow.isSupported)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
NetworkInfo (NetworkInfo.isSupported)
|
Ja
|
Ja
|
Überprüfen
|
Ja
|
Ja
|
Öffnen von Dateien mit Standardanwendung
|
Eingeschränkt
|
Ja
|
Nein
|
Nein
|
Nein
|
PrintJob (PrintJob.isSupported
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
SecureSocket (SecureSocket.isSupported)
|
Ja
|
Ja
|
Nein
|
Überprüfen
|
Überprüfen
|
ServerSocket (ServerSocket.isSupported)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
Shader
|
Ja
|
Ja
|
Eingeschränkt
|
Nein
|
Nein
|
Bühnenausrichtung (Stage.supportsOrientationChange)
|
Nein
|
Nein
|
Ja
|
Nein
|
Nein
|
StageVideo
|
Nein
|
Nein
|
Nein
|
Ja
|
Ja
|
StageWebView (StageWebView.isSupported)
|
Ja
|
Ja
|
Ja
|
Nein
|
Nein
|
Starten der Anwendung beim Anmelden (NativeApplication.supportsStartAtLogin)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
StorageVolumeInfo (StorageVolumeInfo.isSupported)
|
Ja
|
Ja
|
Nein
|
Überprüfen
|
Überprüfen
|
Systemleerlaufmodus
|
Nein
|
Nein
|
Ja
|
Nein
|
Nein
|
SystemTrayIcon (NativeApplication.supportsSystemTrayIcon)
|
Überprüfen
|
Überprüfen
|
Nein
|
Nein
|
Nein
|
TLF-Eingabe (Text Layout Framework)
|
Ja
|
Ja
|
Nein
|
Nein
|
Nein
|
Updater (Updater.isSupported)
|
Ja
|
Nein
|
Nein
|
Nein
|
Nein
|
XMLSignatureValidator (XMLSignatureValidator.isSupported)
|
Ja
|
Ja
|
Nein
|
Ja
|
Ja
|
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.
|
|