Podobnie jak w przypadku innych aplikacji AIR, podstawowe właściwości aplikacji należy ustawić w pliku deskryptora aplikacji. Aplikacje o profilu telewizyjnym ignorują niektóre ustawienia specyficzne dla środowiska na komputerach, takie jak przezroczystość i rozmiar okna. W aplikacjach przeznaczonych dla urządzeń o profilu
extendedTV
mogą być używane rozszerzenia natywne. Te aplikacje określają używane rozszerzenia natywne w elemencie
extensions
.
Ustawienia wspólne
Niektóre ustawienia deskryptora aplikacji są istotne dla wszystkich aplikacji o profilu telewizyjnym.
Wymagana wersja środowiska wykonawczego AIR
Wersję środowiska wykonawczego AIR, która jest wymagana przez aplikację, należy określić przy użyciu przestrzeni nazw pliku deskryptora aplikacji.
Przestrzeń nazw (przypisana w elemencie
application
) w dużej mierze określa funkcje, których aplikacja może używać. Na przykład aplikacja korzysta z przestrzeni nazw środowiska AIR 2.5, ale użytkownik ma zainstalowaną nowszą wersję. W takim wypadku aplikacja nadal rozpoznaje zachowania środowiska AIR 2.5, nawet jeśli są one inne w nowszej wersji środowiska AIR. Dopiero zmiana przestrzeni nazw i opublikowanie aktualizacji pozwoli aplikacji na uzyskanie dostępu do nowych zachowań i funkcji. Poprawki zabezpieczeń stanowią ważny wyjątek od tej reguły.
Przestrzeń nazw należy określić przy użyciu atrybutu
xmlns
głównego elementu
application
.
<application xmlns="http://ns.adobe.com/air/application/2.5">
Aplikacje AIR dla urządzeń telewizyjnych są obsługiwane od środowiska AIR w wersji 2.5.
Tożsamość aplikacji
Niektóre ustawienia powinny być niepowtarzalne dla każdej publikowanej aplikacji. Do tych ustawień należą elementy
id
,
name
, i
filename
.
<id>com.example.MyApp</id>
<name>My Application</name>
<filename>MyApplication</filename>
Wersja aplikacji
Wersję aplikacji należy określić w elemencie
versionNumber
.
Podczas określania wartości w elemencie
versionNumber
można użyć maksymalnie trzech liczb oddzielonych kropkami, na przykład „0.1.2”. Każda z tych liczb w numerze wersji może zawierać do trzech cyfr. Innymi słowy, największym dozwolonym numerem wersji jest „999.999.999”. Numer wersji nie musi zawierać wszystkich trzech liczb. Zarówno „1”, jak i „1.0” stanowią prawidłowe numery wersji.
Element
versionLabel
pozwala określić etykietę wersji. Po dodaniu etykieta wersji jest wyświetlana zamiast numeru wersji.
<versionNumber>1.23.7<versionNumber>
<versionLabel>1.23 Beta 7</versionLabel>
Główny plik SWF aplikacji
Należy określić główny plik SWF aplikacji w elemencie potomnym
versionLabel
elementu
initialWindow
. Podczas wskazywania urządzeń docelowych w profilu tv należy użyć pliku SWF. (Aplikacje oparte na standardzie HTML nie są obsługiwane).
<initialWindow>
<content>MyApplication.swf</content>
</initialWindow>
Plik musi zostać umieszczony w pakiecie aplikacji AIR (przy użyciu narzędzia ADT lub środowiska programistycznego). Samo umieszczenie odniesienia do nazwy w deskryptorze aplikacji nie powoduje automatycznego zawarcia pliku w pakiecie.
Właściwości ekranu głównego
Kilka elementów potomnych elementu
initialWindow
steruje początkowym wyglądem i działaniem ekranu głównego aplikacji. Większość z tych właściwości jest ignorowana na urządzeniach o profilu telewizyjnym. Można używać elementu
fullScreen
.
-
Element
fullScreen
określa, czy aplikacja ma zajmować cały ekran urządzenia, czy współużytkować go z normalną karnacją systemu operacyjnego.
<fullScreen>true</fullScreen>
Element visible
Element
visible
jest elementem potomnym elementu
initialWindow
. Środowisko AIR dla urządzeń telewizyjnych ignoruje element
visible
, ponieważ zawartość aplikacji jest zawsze widoczna na urządzeniach telewizyjnych ze środowiskiem AIR.
Jednak dla elementu
visible
należy ustawić wartość
true
, jeśli aplikacja jest przeznaczona również dla komputerów.
Na komputerach ten element ma wartość domyślną
false
. Oznacza to, że jeśli element
visible
nie zostanie uwzględniony, zawartość aplikacji nie będzie widoczna na komputerach. Klasa NativeWindow języka ActionScript pozwala wyświetlać zawartość na komputerach, ale profile urządzeń telewizyjnych nie obsługują tej klasy. Jeśli zostanie podjęta próba użycia klasy NativeWindow w aplikacji uruchamianej na urządzeniu telewizyjnym ze środowiskiem AIR, wczytywanie aplikacji nie powiedzie się. Niezależnie od tego, czy jest wywoływana dowolna z metod klasy NativeWindow, aplikacja korzystająca z tej klasy nie jest wczytywana na urządzeniu telewizyjnym ze środowiskiem AIR.
Obsługiwane profile
Jeśli działanie aplikacji ma sens wyłącznie na urządzeniu telewizyjnym, wówczas można uniemożliwić jej instalację na urządzeniach innych typów. Element
supportedProfiles
pozwala wykluczyć inne profile z listy obsługiwanych.
<supportedProfiles>tv extendedTV</supportedProfiles>
Jeśli aplikacja korzysta z rozszerzenia natywnego, na liście obsługiwanych profilów należy umieścić tylko profil
extendedTV
.
<supportedProfiles>extendedTV</supportedProfiles>
Pominięcie elementu
supportedProfiles
jest jednoznaczne z obsługiwaniem przez aplikację wszystkich profilów.
Nie należy umieszczać
wyłącznie
profilu
tv
na liście
supportedProfiles
. Niektóre urządzenia telewizyjne zawsze uruchamiają środowisko AIR dla urządzeń telewizyjnych w trybie odpowiadającym profilowi
extendedTV
. Dzięki temu środowisko AIR dla urządzeń telewizyjnych może uruchamiać aplikacje korzystające z rozszerzeń natywnych. Jeśli w elemencie
supportedProfiles
jest określony wyłącznie profil
tv
, taka deklaracja oznacza, że zawartość jest niezgodna z trybem środowiska AIR dla urządzeń telewizyjnych dotyczącym profilu
extendedTV
. Dlatego niektóre urządzenia telewizyjne nie wczytują aplikacji określających wyłącznie profil
tv
.
Listę klas ActionScript obsługiwanych w profilach
tv
i
extendedTV
podano w temacie
Możliwości różnych profili
.
Wymagane rozszerzenia natywne
Aplikacje obsługujące profil
extendedTV
mogą korzystać z rozszerzeń natywnych.
Wszystkie rozszerzenia natywne, których używa aplikacja AIR, należy zadeklarować w deskryptorze aplikacji przy użyciu elementów
extensions
i
extensionID
. W poniższym przykładzie przedstawiono składnię umożliwiającą określenie dwóch wymaganych rozszerzeń natywnych:
<extensions>
<extensionID>com.example.extendedFeature</extensionID>
<extensionID>com.example.anotherFeature</extensionID>
</extensions>
Jeśli dane rozszerzenie nie występuje na liście, aplikacja nie może z niego korzystać.
Element
extensionID
ma wartość taką samą jak element
id
w pliku deskryptora rozszerzenia. Plik deskryptora rozszerzenia jest plikiem XML o nazwie extension.xml. Jest on spakowany w pliku ANE otrzymanym od producenta urządzenia.
Jeśli rozszerzenie występuje na liście w elemencie
extensions
, ale nie jest zainstalowane na urządzeniu telewizyjnym ze środowiskiem AIR, to nie można uruchomić aplikacji. Wyjątkiem od tej zasady jest sytuacja, gdy plik ANE spakowany z aplikacją AIR dla urządzeń telewizyjnych zawiera wersję będącą symulatorem rozszerzenia. W takim przypadku aplikacja będzie mogła działać, korzystając z symulatora rozszerzenia. Wersja będąca symulatorem nie zawiera kodu natywnego, lecz kod ActionScript.
Ikony aplikacji
Wymagania dotyczące ikon aplikacji na urządzeniach telewizyjnych zależą od urządzenia. Producent urządzenia określa na przykład:
-
wymagane ikony i rozmiary ikon;
-
wymagane typy plików i konwencje nazewnictwa;
-
sposób udostępniania ikon dla aplikacji, na przykład czy ikony są pakowane z aplikacją;
-
czy w elemencie
icon
w pliku deskryptora aplikacji mają być określane ikony;
-
zachowanie w przypadku, gdy aplikacja nie udostępnia ikon.
W celu uzyskania szczegółowych informacji należy skontaktować się z producentem.
Ustawienia ignorowane
Aplikacje uruchamiane na urządzeniach telewizyjnych ignorują ustawienia aplikacji dotyczące funkcji urządzeń przenośnych, okien macierzystych i systemów operacyjnych. Ignorowane są następujące ustawienia:
-
allowBrowserInvocation
-
aspectRatio
-
autoOrients
-
customUpdateUI
-
fileTypes
-
height
-
installFolder
-
maximizable
-
maxSize
-
minimizable
-
minSize
-
programMenuFolder
-
renderMode
-
resizable
-
systemChrome
-
title
-
transparent
-
visible
-
width
-
x
-
y
|
|
|