Общие настройки

Некоторые настройки в дескрипторе приложения важны для всех приложений для мобильных устройств.

Требуемая версия среды выполнения AIR

Укажите версию среды выполнения AIR, которая требуется для приложения, использующего пространство имен файла дескриптора приложения.

Пространство имен, назначенное элементом application , в большей степени определяет функции, которые используются в приложении. Например, если в приложении используется пространство имен AIR 2.7, а пользователь установил более позднюю версию, приложение будет по-прежнему видеть поведение AIR 2.7 (даже если поведение в более поздней версии было изменено). Приложение получит доступ к новому поведению и функциям только после изменения пространства имен и публикации обновления. Исправления безопасности являются важным исключением из этого правила.

На устройствах, которые используют среду выполнения отдельно от приложения, например на Android с AIR 3.6 и более ранних версий, пользователю будет предложено установить или обновить AIR, если требуемая версия не установлена. На устройствах со встроенной средой выполнения, таких как iPhone, этого не происходит, так как требуемая версия включена в пакет приложения.

Примечание. (AIR 3.7 и более поздних версий) По умолчанию ADT добавляет среду выполнения в пакеты приложений Android.

Укажите пространство имен с помощью атрибута xmlns корневого элемента application . Для мобильных приложений необходимо использовать следующие пространства имен (в зависимости от целевой мобильной платформы):

iOS 4+ and iPhone 3Gs+ or Android: 
                            <application xmlns="http://ns.adobe.com/air/application/2.7"> 
                            iOS only: 
                            <application xmlns="http://ns.adobe.com/air/application/2.0">
Примечание. Поддержку для устройств с ОС iOS 3 представляет Packager для iPhone SDK, построенный на базе AIR 2.0 SDK. Дополнительные сведения о создании приложений AIR для iOS 3 см. в разделе « Создание приложений для iPhone ». Пакет AIR 2.6 SDK (и более поздних версий) поддерживает ОС iOS 4 и более поздних версий на устройствах iPhone 3Gs, iPhone 4 и iPad.

Идентификация приложения

Некоторые настройки публикуемых приложений могут быть уникальными. К таким настройкам относятся идентификатор, имя и имя файла.

Идентификаторы приложений для Android

На устройствах Android для преобразования идентификатора в имя пакета Android к идентификатору AIR добавляется префикс «air.». Например, если имеется идентификатор AIR com.example.MyApp , пакет Android будет иметь имя air.com.example.MyApp .

<id>com.example.MyApp</id> 
                                <name>My Application</name> 
                                <filename>MyApplication</filename>

Кроме того, если идентификатор не является надлежащим именем пакета в операционной системе Android, он преобразуется в надлежащее имя. Символы дефиса заменяются почерками, а перед цифрами в начале идентификатора добавляется заглавная буква «A». Например, идентификатор 3-goats.1-boat будет преобразован в имя пакета air.A3_goats.A1_boat .

Примечание. Префикс, добавляемый к идентификатору приложения, можно использовать для идентификации приложений AIR на Android Маркете. Если идентификация приложения AIR на основе префикса не требуется, необходимо распаковать файл APK, изменить идентификатор приложения и повторно упаковать его, как описано в статье Отклюение анализа приложений AIR for Android .

Идентификаторы приложений для iOS

Установите идентификатор приложения AIR, соответствующий идентификатору приложения, который был создан на портале Apple iOS Provisioning Portal.

Идентификатор приложения iOS состоит из идентификатора начального числа пакета, за которым следует идентификатор пакета. Идентификатор начального числа пакета — это строка символов, например 5RM86Z4DJM, которую Apple присваивает идентификатору приложения. Идентификатор пакета содержит строку с обратным написанием доменного имени, которое выбирает разработчик. Идентификатор пакета может заканчиваться звездочкой (*), указывающей на подстановочный шаблон идентификатора. Если идентификатор пакета заканчивается подстановочным символом, его можно заменить на любую допустимую строку.

Например:

  • Для идентификатора приложения Apple 5RM86Z4DJM.com.example.helloWorld в дескрипторе приложения следует использовать идентификатор com.example.helloWorld .

  • Если приложение Apple имеет идентификатор 96LPVWEASL.com.example.* (идентификатор с подстановочным символом), можно использовать com.example.helloWorld , com.example.anotherApp , а также любой другой идентификатор, который начинается со строки com.example .

  • Наконец, если идентификатор приложения Apple состоит только из идентификатора начального числа пакета и подстановочного шаблона, например 38JE93KJL.* , в AIR можно использовать любой идентификатор приложения.

При указании идентификатора приложения не включайте в него идентификатор начального числа пакета.

Версия приложения

В AIR 2.5 и более поздних версиях укажите версию приложения с помощью элемента versionNumber . Элемент version больше не используется. При указании значения для элемента versionNumber необходимо использовать последовательность из трех цифр, разделенных точками, например «0.1.2». Каждый сегмент номера версии может содержать до трех цифр (то есть максимальным номером версии может быть «999.999.999»). Номер не обязательно должен включать все три сегмента. Также допускается устанавливать версии «1» и «1.0».

Кроме того, можно задать метку для версии с помощью элемента versionLabel . Если добавлена метка версии, она отображается вместо номера версии, например в информационных окнах приложения Android. Метку версии необходимо установить для приложений, которые распространяются через Android Маркет. Если в дескрипторе приложения AIR значение элемента versionLabel не указано, для метки версии Android устанавливается значение элемента versionNumber .

<!-- AIR 2.5 and later --> 
                            <versionNumber>1.23.7<versionNumber> 
                            <versionLabel>1.23 Beta 7</versionLabel>

На платформе Android номер версии AIR versionNumber преобразуется в целое число Android versionCode по формуле: a*1000000 + b*1000 + c , где a, b и c — это компоненты номера версии AIR: a.b.c .

Основной SWF-файл приложения

Укажите основной SWF-файл приложения в дочернем элементе content элемента initialWindow . Если целевое устройство имеет мобильный профиль, необходимо использовать SWF-файл (приложения на основе HTML не поддерживаются).

<initialWindow> 
                            <content>MyApplication.swf</content> 
                            </initialWindow>

Файл должен быть включен в пакет AIR (с помощью ADT или ИСР). Если только указать имя в дескрипторе приложения, это не позволит автоматически включить файл в пакет.

Свойства главного окна

Исходный вид и поведение главного окна приложения определяют несколько дочерних элементов элемента initialWindow.

  • aspectRatio — указывает, будет ли приложение первоначально отображаться в книжном формате (высота больше ширины), альбомном формате (высота меньше ширины) или любом формате (с автоматической настройкой по всем ориентациям).

    <aspectRatio>landscape</aspectRatio>
  • autoOrients — указывает, изменяется ли ориентация рабочей области автоматически, когда пользователь поворачивает устройство или выполняет другую операцию, которая влияет на ориентацию, например открывает или закрывает выдвижную клавиатуру. Если для параметра установлено значение false , которое является значением по умолчанию, ориентация рабочей области не будет изменяться вместе с ориентацией устройства.

    <autoOrients>true</autoOrients>
  • depthAndStencil указывает на необходимость использования глубины или трафаретного буфера. Такой тип буферов обычно используется при работе с трехмерным содержимым.

    <depthAndStencil>true</depthAndStencil>
  • fullScreen — указывает, заполняет ли приложение всю область отображения на устройстве или на экране также отображаются системные элементы, например строка состояния.

    <fullScreen>true</fullScreen>
  • renderMode — указывает, использует ли среда выполнения графический или центральный процессор для визуализации приложения. В общем случае визуализация с помощью графического процессора повышает скорость визуализации, однако в этом режиме недоступны некоторые функции, например определенные режимы наложения и фильтры PixelBender. Кроме того, возможности и ограничения графического процессора отличаются для разных устройств и разных драйверов устройств. По возможности приложение следует протестировать на как можно большем количестве моделей устройств, особенно при использовании режима визуализации с помощью графического процессора.

    Для режима визуализации можно установить значение gpu , cpu , direct или auto . По умолчанию установлено значение auto , при котором в настоящее время используется режим центрального процессора.

    Примечание. Чтобы использовать возможности графического ускорителя в содержимом Flash с AIR для мобильных платформ, компания Adobe рекомендует использовать параметр renderMode="direct" (т. е. Stage3D), а не renderMode="gpu". Компания Adobe официально поддерживает и рекомендует среды разработки Starling (2D) и Away3D (3D). Дополнительные сведения о Stage3D и Starling/Away3D см. на странице http://gaming.adobe.com/getstarted/ .
    <renderMode>direct</renderMode>
    Примечание. Не используйте renderMode="direct" для приложений, выполняемых в фоновом режиме.

    Режим графического процессора имеет следующие ограничения:

    • Платформа Flex не поддерживает режим визуализации с помощью графического процессора.

    • Фильтры не поддерживаются.

    • Наложения PixelBender и заполнения не поддерживаются.

    • Не поддерживаются следующие режимы наложения: слой, альфа, стереть, перекрытие, жесткий свет, замена светлым и замена темным.

    • Не рекомендуется использовать режим визуализации с помощью графического процессора в приложении, которое воспроизводит видео.

    • При визуализации с помощью графического процессора текстовые поля некорректно перемещаются в видимую область, если открыта виртуальная клавиатура. Чтобы текстовое поле оставалось видимым, когда пользователь вводит текст, используйте свойство рабочей области softKeyboardRect и события клавиатуры, чтобы переместить текстовое поле в видимую область.

    • Если графический процессор не может выполнить визуализацию объекта отображения, он не отображается совсем. Например, если к объекту отображения применяется фильтр, объект не показывается.

    Примечание. Реализация режима работы графического процессора для ОС iOS в AIR 2.6 и более поздних версий существенно отличается от реализации в предыдущей версии AIR 2.0. Применяются другие критерии оптимизации.

Поддерживаемые профили

Чтобы указать, какие профили устройств поддерживает приложение, можно добавить элемент supportedProfiles . Для мобильных устройств используйте профиль mobileDevice. Когда приложение запускается с помощью Adobe Debug Launcher (ADL), ADL в качестве активного профиля использует первый профиль из списка. Кроме того, при запуске ADL можно использовать -profile , чтобы выбрать определенный профиль из списка поддерживаемых. Если приложение работает во всех профилях, элемент supportedProfiles можно не указывать. В этом случае в качестве активного профиля по умолчанию ADL использует профиль настольной системы.

Чтобы настроить поддержку в приложении профилей мобильных устройств и настольной системы и протестировать приложение в профиле мобильных устройств, добавьте следующий элемент:

<supportedProfiles>mobileDevice desktop</supportedProfiles>

Необходимые собственные расширения

Приложения, поддерживающие профиль mobileDevice , могут использовать собственные расширения.

В дескрипторе приложения объявите все собственные расширения, которые используются в этом приложении AIR. В следующем примере показан синтаксис, применяемый для указания требуемых собственных расширений:

<extensions> 
                            <extensionID>com.example.extendedFeature</extensionID> 
                            <extensionID>com.example.anotherFeature</extensionID> 
                            </extensions>

Значение элемента extensionID совпадает со значением элемента id в файле дескриптора расширения. Файл дескриптора расширения — это файл XML с именем extension.xml. Он упакован в ANE-файл, получаемый от разработчика собственного расширения.

Поведение виртуальной клавиатуры

Установите для элемента softKeyboardBehavior значение none , чтобы отключить функции автоматического панорамирования и изменение размера, с помощью которых среда выполнения обеспечивает, что поле, в которое вводится текст, остается видимым после открытия виртуальной клавиатуры. Если автоматическая функция отключена, эту роль берет на себя приложение, обеспечивая видимость области ввода текста или другого релевантного содержимого после вызова клавиатуры. Свойство рабочей области softKeyboardRect можно использовать вместе с событием SoftKeyboardEvent, чтобы определять, когда клавиатура открывается, и какую область она закрывает.

Для включения автоматического поведения установите для элемента значение pan :

<softKeyboardBehavior>pan</softKeyboardBehavior>
Поскольку pan является значением по умолчанию, автоматическое поведение клавиатуры также можно включить, если не указывать элемент softKeyboardBehavior .
Примечание. В режиме визуализации с использованием графического процессора поведение pan не поддерживается.