Profile stanowią mechanizm definiowania klas urządzeń komputerowych, na których działa aplikacja. Profil definiuje zestaw interfejsów API i funkcji obsługiwanych typowo przez określoną klasę urządzeń. Dostępne profile:
-
desktop
-
extendedDesktop
-
mobileDevice
-
extendedMobileDevice
Profile dla aplikacji są definiowane w deskryptorze aplikacji. Użytkownicy komputerów i urządzeń należących do uwzględnionych profilów mogą zainstalować daną aplikację, natomiast użytkownicy innych komputerów i urządzeń nie mogą tego zrobić. Jeśli na przykład w deskryptorze aplikacji został uwzględniony tylko profil desktop, użytkownicy mogą instalować i uruchamiać daną aplikację tylko na komputerach stacjonarnych.
Uwzględnienie profilu, który nie jest w rzeczywistości obsługiwany przez aplikację, może spowodować nieodpowiednie działanie aplikacji w pewnych środowiskach. Jeśli w deskryptorze aplikacji nie zostaną określone żadne profile, środowisko AIR nie będzie stosować ograniczeń dla danej aplikacji. Pakiet aplikacji można utworzyć w dowolnym obsługiwanym formacie. Użytkownicy urządzeń z dowolnego profilu będą mogli ją zainstalować, lecz aplikacja może działać niewłaściwie.
O ile jest to możliwe, podczas tworzenia pakietu aplikacji są wymuszane ograniczenia związane z profilami. Jeśli na przykład został uwzględniony tylko profil extendedDesktop, nie można utworzyć pakietu aplikacji w postaci pliku AIR, a jedynie pakiet instalatora natywnego. Jeśli nie został uwzględniony profil mobileDevice, nie można utworzyć pakietu aplikacji w postaci pliku APK systemu Android.
Jedno urządzenie komputerowe może obsługiwać więcej niż jeden profil. Na przykład środowisko AIR na komputerach stacjonarnych obsługuje zarówno aplikacje o profilu desktop, jak i extendedDesktop. Jednak aplikacja o profilu extendedDesktop może komunikować się z procesami natywnymi i MUSI być umieszczona w pakiecie instalatora natywnego (exe, dmg, deb lub rpm). Natomiast aplikacja o profilu desktop nie może komunikować się z procesem macierzystym. Taka aplikacja może być umieszczona w pakiecie będącym plikiem AIR lub pakietem instalatora natywnego.
Uwzględnienie określonej funkcji w profilu wskazuje, że jest ona zazwyczaj obsługiwana przez klasę urządzeń, dla której ten profil jest zdefiniowany. Nie oznacza to jednak, że wszystkie urządzenia o danym profilu obsługują każdą funkcję. Na przykład większość telefonów komórkowych (ale nie wszystkie) zawiera przyspieszeniomierz. Dla klas i funkcji, które nie są obsługiwane przez wszystkie urządzenia, zazwyczaj jest dostępna właściwość logiczna, którą można sprawdzić przed użyciem danej funkcji. Na przykład w przypadku przyspieszeniomierza można sprawdzić właściwość statyczną
Accelerometer.isSupported
w celu ustalenia, czy dane urządzenie zawiera obsługiwany przyspieszeniomierz.
Poniższe profile można przypisać do aplikacji AIR za pomocą elementu supportedProfiles w deskryptorze aplikacji:
-
Komputer
-
Profil komputerowy definiuje zestaw funkcji dla aplikacji AIR, które są instalowane jako pliki AIR na komputerach stacjonarnych. Te aplikacje są instalowane i uruchamiane na obsługiwanych platformach stacjonarnych (Mac OS, Windows i Linux). Aplikacje AIR tworzone w środowisku AIR w wersjach wcześniejszych niż AIR 2 mogą być traktowane jako aplikacje o profilu Stacjonarny. Niektóre interfejsy API nie działają w tym profilu. Na przykład: aplikacje o profilu komputerowym nie mogą się komunikować z procesami rodzimymi.
-
Rozszerzony komputerowy
-
Profil rozszerzony komputerowy definiuje zestaw funkcji dla aplikacji AIR, które są uwzględniane w pakiecie instalatora natywnego i instalowane przy jego użyciu. Te instalatory macierzyste to pliki EXE w systemie Windows, pliki DMG w systemie Mac OS oraz pliki DEB lub RPM w systemie Linux. Aplikacje o rozszerzonym profilu komputerowym oferują dodatkowe funkcje niedostępne w aplikacjach o profilu komputerowym. Więcej informacji zawiera sekcja
Pakowanie instalatora natywnego dla komputerów
.
-
Dla urządzeń przenośnych
-
W profilu dla urządzeń przenośnych zdefiniowano zestaw funkcji aplikacji zainstalowanych na urządzeniach przenośnych, między innymi telefonach komórkowych i tabletach. Te aplikacje można instalować i uruchamiać na obsługiwanych platformach przenośnych, łącznie z systemami Android, BlackBerry Tablet OS oraz iOS.
-
Rozszerzony dla urządzeń przenośnych
-
W profilu rozszerzonym dla urządzeń przenośnych zdefiniowano rozszerzony zestaw funkcji przeznaczonych dla aplikacji instalowanych na urządzeniach przenośnych. Aktualnie nie ma urządzeń obsługujących ten profil.
Ograniczanie profilów docelowych w pliku deskryptora aplikacji
W środowisku AIR 2 plik deskryptora aplikacji zawiera element
supportedProfiles
, który umożliwia ograniczanie profilów docelowych. Na przykład następujące ustawienie określa, że aplikacja może być kompilowana tylko w profilu komputerowym:
<supportedProfiles>desktop</supportedProfiles>
Jeśli ten element zostanie ustawiony, pakiety aplikacji będzie można tworzyć tylko dla profili z listy. Należy użyć następujących wartości:
-
desktop
— profil komputerowy
-
extendedDesktop
— profil rozszerzony komputerowy
-
mobileDevice
— profil dla urządzeń przenośnych
Element
supportedProfiles
jest opcjonalny. Gdy ten element nie zostanie uwzględniony w pliku deskryptora aplikacji, pakiet aplikacji będzie można utworzyć dla dowolnego profilu i możliwe będzie wdrożenie aplikacji w dowolnym profilu.
W celu określenia wielu profili w elemencie
supportedProfiles
należy oddzielić każdy znakiem spacji, jak poniżej:
<supportedProfiles>desktop extendedDesktop</supportedProfiles>