iBooks Author: сведения о создании виджета HTML

Можно создавать виджеты HTML5 для книг, созданных в iBooks Author.

iBooks Author поддерживает виджеты HTML5 (с расширением .wdgt).

Чтобы создать виджет HTML для iBooks Author, используйте текстовый редактор или программу для разработки веб-содержимого и создайте следующие файлы. 

  • Главный файл HTML. Этот файл является главной частью виджета. Ему можно присвоить любое имя, но расширение должно быть .html. CSS и JavaScript можно включить в главный файл HTML, а можно добавить файлы .css и .js в пакет виджета и настроить главный файл HTML для их загрузки. В этих файлах можно использовать любые приемы создания веб-страниц. Как правило, в файле HTML определяется структура виджета, файл CSS создает визуальный стиль, а JavaScript обеспечивает поддержку интерактивности. 
  • Default.png. Это значок, который будет отображаться на странице. Нажав его, пользователи смогут открыть виджет. Это изображение необходимо назвать Default.png (с заглавной буквой D). Проще всего создать файл Default.png, сделав снимок экрана, когда главный файл HTML выполняется в программе для разработки веб-содержимого или в веб-браузере. Активный виджет будет иметь размер значка Default.png, если в файле Info.plist не задан другой размер.
  • Info.plist. Этот файл сообщает iBooks Author и iBooks информацию, необходимую для выполнения виджета. Ему необходимо присвоить имя Info.plist. Подробные сведения и пример приводятся ниже. 

Создав три этих обязательных файла (и, если необходимо, другие файлы, например CSS или JavaScript), соберите их в пакет виджета.

  1. С помощью окна Finder создайте папку и добавьте в нее файлы.
  2. Присвойте папке новое имя и добавьте к нему расширение .wdgt. Это и будет пакет виджета. Значок папки заменится значком виджета.

Теперь виджет готов для добавления в iBooks Author.

Примечания

  • Если книга включает виджеты HTML, содержащие файлы с управляющими символами в названии, ее нельзя опубликовать в магазине iBooks Store. Прежде чем создавать пакет виджета, убедитесь, что ни один из содержащихся в нем файлов не имеет в названии управляющих символов. Не используйте пользовательские значки папок.
  • Старайтесь не включать в пакет виджета папки со следующими именами:
    • Resources/
    • Support Files/Resources/
    • Contents/Resources/
  • При создании содержимого для устройств iPad или компьютеров Mac с дисплеем Retina необходимо учитывать следующее.
    • При создании кода для файлов HTML, CSS и JavaScript используйте стандартную процедуру создания веб-сайтов с графикой Retina (2x). 
    • Пакет виджета должен содержать файл Default@2x.png, разрешение которого в два раза больше, чем у файла Default.png. Этот файл нельзя посмотреть в iBooks Author, но он будет отображаться в iBooks на устройствах iPad и компьютерах Mac с дисплеем Retina. 
  • Если виджет должен занимать весь экран при увеличении масштаба, файл Default.png должен иметь размер 768 х 1024 пикселя, а файл Default@2x.png — 1536 х 2048 пикселей. Если виджет не должен занимать весь экран, задайте файлу Default.png необходимые размеры (например, 600 х 900), а файлу Default@2x.png — в два раза больше.
  • Узнайте подробнее об оптимизации книг, созданных в iBooks Author.

Info.plist 

Файл Info.plist базового виджета содержит обязательные и дополнительные ключи. Эти ключи приводятся ниже вместе со своими определениями и примерными значениями для виджета с названием «Hello World». 

CFBundleDevelopmentRegion английском; Необязательный параметр. Строка, определяющая родной регион для пакета. Обычно значение соответствует родному языку автора пакета. 
CFBundleDisplayName Hello World Обязательный параметр. Строка, содержащая фактическое имя виджета, которое будет отображаться в iBooks Author и iBooks.
CFBundleIdentifier com.apple.widget.HelloWorld Обязательный параметр. Строка, которая является уникальным идентификатором виджета, в обратном формате домена.
CFBundleName Hello World Необязательный. Строка, содержащая имя виджета. Она должна соответствовать имени пакета виджета в Finder без расширения .wdgt.
CFBundleShortVersionString 1.0 Необязательный. Строка, содержащая укороченный номер версии виджета. Часто это значение совпадает с CFBundleVersion.
CFBundleVersion 1.0 Необязательный. Строка, содержащая номер версии виджета.
Height 768 Необязательный. Число, обозначающее высоту виджета в пикселях. Если значение не задано, используется высота значка Default.png.
MainHTML HelloWorld.html Обязательный параметр. Строка, содержащая имя файла HTML, который реализует виджет.
Width 1024 Необязательный. Число, обозначающее ширину виджета в пикселях. Если значение не задано, используется ширина значка Default.png.
IBNotifiesOnReady <true/> Необязательный параметр. Когда установлено значение true, виджет сообщает iBooks, когда переключиться с отображения Default.png к выполнению виджета HTML. 

Целиком файл Info.plist для виджета выглядит следующим образом: 

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>	<key>CFBundleDevelopmentRegion</key>	<string>English</string>	<key>CFBundleDisplayName</key>	<string>Hello World</string>	<key>CFBundleIdentifier</key>	<string>com.apple.widget.HelloWorld</string>	<key>CFBundleName</key>	<string>Hello World</string>	<key>CFBundleShortVersionString</key>	<string>1.0</string>	<key>CFBundleVersion</key>	<string>1.0</string>	<key>Height</key>	<integer>768</integer>	<key>MainHTML</key>	<string>HelloWorld.html</string>	<key>Width</key>	<integer>1024</integer>	<key>IBNotifiesOnReady</key>	<true/></dict></plist>

Ограничения

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

AllowFileAccessOutsideOfWidget Виджеты в книгах, созданных с помощью iBooks Author, не могут получать доступ к файлам в основной файловой системе.
AllowFullAccess Условное обозначение списка других ключей доступа, некоторые из которых не являются совместимыми.
AllowInternetPlugins Интернет-плагины, например Flash, недоступны в книгах, созданных с помощью iBooks Author. Фильмы и аудиофайлы можно включать при помощи элементов <video> и <audio> в HTML5, соответственно.
Примечание. Для фильмов и аудиофайлов в виджетах HTML не предусмотрена защита DRM.
AllowJava Виджеты в книгах, созданных с помощью iBooks Author, не могут включать содержимое Java.
AllowSystem Виджеты в книгах, созданных с помощью iBooks Author, не могут получать доступ к системным командам.
Plugin Виджеты в книгах, созданных с помощью iBooks Author, не могут включать компонент плагина Cocoa.

Указанные ключи игнорируются в iBooks Author. 

CloseBoxInsetX В виджетах в iBooks Author и iBooks не отображается оформление закрытия.
CloseBoxInsetY  

 

Fonts В виджетах iBooks Author не поддерживается использование связанных шрифтов.

Требования для включения фильмов и аудиоматериалов

Невозможно использовать файлы мультимедиа с расширением .m4v или .m4p. 

Рекомендуется использовать видео H.264 в контейнере MPEG-4 с расширением .mp4.

Для аудиоматериалов рекомендуется использовать формат AAC в контейнере MPEG-4 с расширением .m4a.

Примечание. Для видео- и аудиофайлов в пакетах виджетов HTML не предусмотрена защита DRM.

Примечание. В некоторых случаях фильмы и аудиофайлы в виджетах HTML не воспроизводятся в iBooks Author, но воспроизводятся в iBooks. Если не удается воспроизвести фильм или аудиофайл в виджете iBooks Author, попробуйте открыть его на устройстве iPad или в ОС OS X Mavericks. Это позволит просмотреть, как файл будет воспроизводиться в готовой книге.

Локализация

Локализованные строки и ресурсы не поддерживаются в iBooks Author. Поэтому отображаемые текстовые строки должны быть включены сразу на целевом языке.

Обрезанные элементы

Если элемент, такой как <video>, отображается обрезанным с одной стороны, возможно, он расширяется для заполнения большей площади, чем отображаемый фрагмент. Найдите в CSS параметр width:auto в селекторе #video и измените его в соответствии с фактическими размерами. Например, если виджет содержит видео с размерами 960 х 540, найдите в CSS соответствующий селектор и задайте правильные значения ширины и высоты в явном виде:

#video {	width: 960;	height: 540;}

Разработка одновременно для ОС iOS и OS X Mavericks

В ОС iOS и OS X используются принципиально разные способы ввода данных. Поэтому при создании виджетов HTML для iBooks Author необходимо убедиться, что будет удобно пользоваться как сенсорным управлением, так и мышью в случае использования любого вида управления, не предусмотренного стандартными движениями.

 

Открытие виджета HTML

В зависимости от сложности виджета HTML при его открытии в iBooks читатели могут наблюдать появление короткого кадра во время инициализации HTML. Чтобы избежать появления этого короткого кадра, измените виджет таким образом, чтобы в iBooks передавались команды отключения отображения файла Default.png и включения отображения выполняющегося виджета HTML.

Для добавления этой дополнительной функции необходимо внести три изменения.

  1. Добавьте элемент IBNotifiesOnReady со значением true в файл info.plist виджета, чтобы настроить в iBooks получение уведомлений от виджета о необходимости включения отображения выполняющегося виджета HTML:
    <key>IBNotifiesOnReady</key><true/>
  2. Настройте виджет для загрузки библиотеки Apple JavaScript во фрагменте HEAD файла HTML:
    <script type="text/javascript" src="AppleClasses/AppleWidget.js"> </script>
    Примечание. AppleWidget.js уже присутствует на iPad, и его не нужно включать в ваш пакет виджета.

  3. Настройте виджет так, чтобы он сообщал iBooks, когда инициализируется HTML. После этого iBooks сможет переключаться с отображения файла Default.png на выполнение виджета HTML путем вызова (в JavaScript, включенном во фрагмент HEAD файла HTML):
    widget.notifyContentIsReady()

Важно! Если вы решили изменить виджет HTML, чтобы предотвратить появление короткого кадра, обязательно выполните все три действия, описанные выше. Необходимо выполнить все действия, чтобы виджет работал правильно.

Сведения о публикации во внешних веб-службах

HTML-виджеты могут выполнять публикацию во внешних веб-службах, если в этих веб-службах реализованы соответствующие заголовки CORS (Cross-Origin Resource Sharing).

Дата публикации: