Enhetsprofiler

Adobe AIR 2 och senare

Profiler är ett sätt att definiera de typer av enheter på vilka ditt program kan användas. En profil definierar en uppsättning API:er och funktioner som vanligtvis stöds på en viss typ av enhet. De tillgängliga profilerna är:

  • desktop

  • extendedDesktop

  • mobileDevice

  • extendedMobileDevice

Du kan definiera profiler för ditt program i programbeskrivningen. Användare av datorer och enheter i de inkluderade profilerna kan installera ditt program, vilket användare av andra enheter inte kan. Om du till exempel bara inkluderar skrivbordsprofilen i programbeskrivningen kan användare bara installera och köra ditt program på stationära datorer.

Om du inkluderar en profil som ditt program egentligen inte har fullt stöd för kan det innebära att användare i en sådan miljö får en sämre upplevelse. Om du inte anger någon profil alls i programbeskrivningen begränsas ditt program inte av AIR. Du kan paketera programmet i något av de format som stöds, och användare med enheter från valfri profil kan installera det, men det är inte säker att det fungerar korrekt vid körning.

När det är möjligt används profilbegränsningarna när du paketerar programmet. Om du till exempel bara inkluderar profilen extendedDesktop kan du inte paketera programmet som en AIR-fil, utan bara som ett systemspecifikt installationsprogram. Enligt samma princip kan du inte heller paketera programmet som en APK-fil för Android om du inte inkluderar profilen mobileDevice.

En och samma enhet kan ha stöd för fler än en profil. AIR på stationära datorer har till exempel stöd för program i både profilen desktop och profilen extendedDesktop. Men ett program i profilen extendedDesktop kan kommunicera med systemspecifika processer och MÅSTE paketeras som ett systemspecifikt installationsprogram (exe, dmg, deb eller rpm). Däremot kan ett program i skrivbordsprofilen (desktop) inte kommunicera med systemspecifika processer. Ett program i skrivbordsprofilen kan paketeras antingen som en AIR-fil eller som ett systemspecifikt installationsprogram.

Om en funktion ingår i en profil betyder det att stöd för den funktionen vanligen finns på den typ av enheter för vilka profilen är avsedd. Det betyder däremot inte att alla enheter i profilen har stöd för alla funktioner. De flesta, men inte alla, mobiltelefoner har till exempel en accelerometer. Klasser och funktioner som inte har universellt stöd har oftast en boolesk egenskap, som du kan kontrollera innan du använder funktionen. I fallet med accelerometern kan du till exempel testa den statiska egenskapen Accelerometer.isSupported för att avgöra om den aktuella enheten har en accelerometer som stöds.

Följande profiler kan tilldelas till ditt AIR-program med hjälp av elementet supportedProfiles i programbeskrivningen:

Skrivbord
Skrivbordsprofilen definierar ett antal funktioner för AIR-program som är installerade som AIR-filer på en stationär dator. Dessa program installeras och körs på de skrivbordsplattformar som stöds (Mac OS, Windows och Linux). AIR-program som utvecklats i AIR-versioner före AIR 2 betraktas som om de tillhör skrivbordsprofilen. Vissa API:er fungerar inte i den här profilen. Skrivbordsprogram kan t.ex. inte kommunicera med interna processer.

Utökat skrivbord
Den utökade skrivbordsprofilen definierar ett antal funktioner för AIR-program som paketeras i och installeras med en systemspecifik installationsfil. Dessa systemspecifika installationsfiler är EXE-filer i Windows, DMG-filer i Mac OS och BIN-, DEB- eller RPM-filer i Linux. Utökade skrivbordsprogram har extra funktioner som inte finns i program med skrivbordsprofilen. Du hittar mer information i Paketera ett systemspecifikt installationsprogram för skrivbordet .

Mobil enhet
Profilen för mobila enheter definierar en uppsättning funktioner för program som är installerade på mobila enheter som exempelvis mobiltelefoner och surfplattor. Dessa program installeras och körs på kompatibla mobilplattformar såsom Android, Blackberry Tablet OS och iOS.

Utökad mobil enhet
Den utökade mobilprofilen definierar ett antal utökade funktioner för program som installeras på mobila enheter. För närvarande finns det inga enheter som har stöd för den här profilen.

Begränsa målprofiler i programbeskrivningsfilen

Från och med AIR 2 inkluderar programbeskrivningsfilen elementet supportedProfiles , som du kan använda för att begränsa målprofiler. I följande inställning visas exempelvis att programmet endast är tillgängligt för skrivbordsprofiler:
<supportedProfiles>desktop</supportedProfiles>

När elementet är angett kan programmet bara paketeras i de profiler som du anger. Använd följande värden:

  • desktop – skrivbordsprofilen

  • extendedDesktop – den utökade skrivbordsprofilen

  • mobileDevice – mobilprofilen

Elementet supportedProfiles är valfritt. När du inte tar med detta element i programbeskrivningsfilen, kan programmet paketeras och distribueras för alla profiler.

Om du vill ange flera profiler i elementet supportedProfiles kan du avgränsa varje profil med ett mellanslagstecken så som visas nedan:

<supportedProfiles>desktop extendedDesktop</supportedProfiles>

Funktioner i de olika profilerna

I följande tabell visas de klasser och funktioner som inte stöds i alla profiler.

Klass eller funktion

desktop

extendedDesktop

mobileDevice

Accelerometer (Accelerometer.isSupported)

Nej

Nej

Kontrollera

Accessibility (Capabilities.hasAccessibility)

Ja

Ja

Nej

Akustisk ekoreducering (Microphone.getEnhancedMicrophone())

Ja

Ja

Nej

ActionScript 2

Ja

Ja

Nej

CacheAsBitmap-matris

Nej

Nej

Ja

Camera (Camera.isSupported)

Ja

Ja

Ja

CameraRoll

Nej

Nej

Ja

CameraUI (CameraUI.isSupported)

Nej

Nej

Ja

Låsta miljöpaket

Ja

Ja

Ja

ContextMenu (ContextMenu.isSupported)

Ja

Ja

Nej

DatagramSocket (DatagramSocket.isSupported)

Ja

Ja

Ja

DockIcon (NativeApplication.supportsDockIcon)

Kontrollera

Kontrollera

Nej

Drag-and-drop (NativeDragManager.isSupported)

Ja

Ja

Kontrollera

EncyptedLocalStore (EncyptedLocalStore.isSupported)

Ja

Ja

Ja

Flash Access (DRMManager.isSupported)

Ja

Ja

Nej

GameInput (GameInput.isSupported)

Nej

Nej

Nej

Geolocation (Geolocation.isSupported)

Nej

Nej

Kontrollera

HTMLLoader (HTMLLoader.isSupported)

Ja

Ja

Nej

IME (IME.isSupported)

Ja

Ja

Kontrollera

LocalConnection (LocalConnection.isSupported)

Ja

Ja

Nej

Microphone (Microphone.isSupported)

Ja

Ja

Kontrollera

Flerkanalsljud (Capabilities.hasMultiChannelAudio())

Nej

Nej

Nej

ANE-tillägg

Nej

Ja

Ja

NativeMenu (NativeMenu.isSupported)

Ja

Ja

Nej

NativeProcess (NativeProcess.isSupported)

Nej

Ja

Nej

NativeWindow (NativeWindow.isSupported)

Ja

Ja

Nej

NetworkInfo (NetworkInfo.isSupported)

Ja

Ja

Kontrollera

Öppna filer med standardprogram

Begränsat

Ja

Nej

PrintJob (PrintJob.isSupported)

Ja

Ja

Nej

SecureSocket (SecureSocket.isSupported)

Ja

Ja

Kontrollera

ServerSocket (ServerSocket.isSupported)

Ja

Ja

Ja

Shader

Ja

Ja

Begränsat

Stage3D (Stage.stage3Ds.length)

Ja

Ja

Ja

Scenorientering (Stage.supportsOrientationChange)

Nej

Nej

Ja

StageVideo

Nej

Nej

Kontrollera

StageWebView (StageWebView.isSupported)

Ja

Ja

Ja

Starta program vid inloggning (NativeApplication.supportsStartAtLogin)

Ja

Ja

Nej

StorageVolumeInfo (StorageVolumeInfo.isSupported)

Ja

Ja

Nej

Systemets vänteläge

Nej

Nej

Ja

SystemTrayIcon (NativeApplication.supportsSystemTrayIcon)

Kontrollera

Kontrollera

Nej

TLF-indata (Text Layout Framework)

Ja

Ja

Nej

Updater (Updater.isSupported)

Ja

Nej

Nej

XMLSignatureValidator (XMLSignatureValidator.isSupported)

Ja

Ja

Nej

Förklaring till posterna i tabellen:

  • Kontrollera – Funktionen stöds på vissa, men inte alla, enheter i profilen. Du bör kontrollera vid körning om funktionen stöds innan du använder den.

  • Begränsat – Funktionen stöds, men har avsevärda begränsningar. Läs relevant dokumentation för mer information.

  • Nej – Funktionen stöds inte i profilen.

  • Ja – Funktionen stöds i profilen. Tänk på att vissa enskilda enheter kan sakna den maskinvara som krävs för en viss funktion. Alla telefoner har till exempel inte en kamera.

Ange profiler för felsökning med ADL

ADL kontrollerar om du anger profiler som stöds i elementet supportedProfiles i programbeskrivningsfilen. Om du gör det, använder ADL som standard den första profilen som anges vid felsökning.

Du kan ange en profil för ADL felsökningssessionen med kommandoradsargumentet -profile . (Läs mer i AIR Debug Launcher (ADL) .) Du kan använda argumentet oavsett om du vill ange en profil i elementet supportedProfiles i programbeskrivningsfilen eller inte. Om du anger elementet supportedProfiles måste det dock inkludera profilen som du anger på kommandoraden. I annat fall kommer ett fel att genereras i ADL.