Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Инструкции по Интерфейсу пользователя iOS

iBook
На этой странице

Расширения приложения

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

Вы поставляете расширение приложения в полностью функциональном приложении для iOS, которое Вы представляете App Store (приложение, содержащее расширения, вызывается содержанием приложения). После включения расширения в Вашем содержании приложения люди могут использовать его для выполнения быстрой задачи, в то время как они используют другие приложения. Например, при чтении о продукте в электронном письме, люди могли бы использовать расширение Действия для добавления продукта к списку покупок, не имея необходимость оставлять Почту.

Таблица 17-1 перечисляет типы расширений приложения для iOS, которые можно создать.

Таблица, 17-1Types из расширений приложения

Тип расширения приложения

Люди используют расширение …

Сегодня виджет

Получите быстрое обновление или выполните быструю задачу в представлении Today Центра Уведомления

Доля

Отправьте на веб-сайт или содержание доли с другими

Действие

Управляйте или просмотрите содержание в контексте другого приложения

Фото редактирование

Отредактируйте фотографию или видео в фото приложении

Провайдер документа

Доступ и управляет репозиторием файлов

Пользовательская клавиатура

Замените системную клавиатуру iOS пользовательской клавиатурой

Следующие инструкции применяются к расширениям приложения всех типов; для руководства это является определенным для определенного типа расширения приложения, посмотрите разделы ниже. (Чтобы изучить, как разработать, отладьте, и распределите расширение, см. Руководство по программированию Расширения Приложения.)

Включите единственную задачу. Расширение приложения не является мини-версией Вашего приложения. Вместо этого расширение выполняет узко ограниченную по объему задачу в контексте большей цели пользователя. Например, расширение Действия могло бы дать пользователям различный способ просмотреть их текущее содержание.

Сохраните взаимодействие с пользователем ограниченным и оптимизированным. Лучшие расширения приложения позволяют людям выполнить задачу во всего нескольких касаниях так, чтобы они могли возвратиться к их более раннему контексту как можно скорее. Например, расширение Доли могло бы позволить людям отправить изображение с единственным касанием.

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

В большинстве случаев используйте значок содержания приложения. Отображение знакомого значка является иначе расширением, может получить доверие пользователей. Обратите внимание на то, что в случае расширения Действия, Вы создаете монохроматическую версию содержания значка приложения (для подробных данных, посмотрите Расширения Доли и Действия).

Избегите отображать модальное представление поверх расширения. Много расширений выведены на экран в модальном представлении по умолчанию, и лучше избегать разделять модальные представления на уровни. Несмотря на то, что существуют случаи, где пользователи могли бы видеть предупреждение поверх расширения, избежать разрабатывать дополнительный поток операций, требующий модального представления.

Сегодня виджеты

Представление People Сегодня виджеты в области Today Центра Уведомления. Поскольку люди конфигурируют область Today так, чтобы она вывела на экран информацию, они оценивают больше всего, разрабатывают Ваш виджет с целью приобретения места среди самых важных элементов пользователя.

image: ../Art/widget_experience_2x.png

Разработайте появление, смотрящее дома в Центре Уведомления. При использовании полей по умолчанию и фонового появления, предоставленного Центром Уведомления, Ваш Сегодня, виджет дает пользователям непротиворечивый опыт. Для лучших результатов фокусируйтесь на рисовании Вашего содержания а не на рисовании фонов или других материалов. В частности избегите рисовать сплошной фон.

Выровняйте содержание с заголовком виджета. Когда Ваше содержание виджета выравнивается с Вашим заголовком, люди могут легко отсканировать представление Today для виджета, который они хотят. Уважайте поля в представлении Today и ограничьте Ваше содержание к предметной области виджета, показанной здесь.

image: ../Art/WidgetSpec_2x.png

В целом используйте системный шрифт в белом для отображения текста. Белый текст выглядит хорошим на фоне Центра Уведомления по умолчанию. Для вторичного текста используйте предоставленное системой вибрирующее появление (для узнавания больше об этом появлении, посмотрите notificationCenterVibrancyEffect).

Обеспечьте опыт Центра Уведомления. Люди посещают Центр Уведомления, чтобы получить краткие обновления или выполнить очень простую задачу, таким образом, лучше, когда Ваш Сегодня виджет выводит на экран правильную сумму информации и ограничивает интерактивность. В частности:

  • Избегите заставлять пользователей прокрутить или вертикально сместить представление для наблюдения всей информации в Вашем Сегодня виджет. Виджет может расшириться вертикально для показа большей информации, но это не хороший опыт, когда высота виджета превышает высоту Центра Уведомления, потому что это вмешивается в прокрутку для наблюдения другого Сегодня виджеты.

  • Избегите включать горизонтальный сильный удар или перетаскивание, потому что это вмешивается в навигацию между областями Notification Center.

  • Как можно больше, позвольте пользователям выполнить задачу или открыться, Ваше приложение с единственным касанием (обратите внимание на то, что клавиатура не доступна в Сегодня виджет).

  • Оптимизируйте производительность так, чтобы люди сразу получили полезную информацию. Это - хорошая идея кэшировать информацию локально так, чтобы можно было вывести на экран недавнюю информацию, в то время как Вы получаете обновления. Люди ожидают проводить очень мало времени в представлении Today, и iOS может завершить Сегодня виджеты, не использующие память мудро.

При необходимости позвольте людям коснуться Вашего Сегодня виджет для открытия приложения. Поскольку Ваш Сегодня виджет обеспечивает узко фокусируемый опыт, он может работать хорошо прямым людям к Вашему приложению для получения дополнительной информации или функциональности. Это не хорошая идея обеспечить кнопку «Open App», таким образом, одно решение состоит в том, чтобы сделать Ваше все Сегодня виджетом tappable. Или Вы могли бы позволить пользователям коснуться надлежащего объекта пользовательского интерфейса в виджете так, чтобы он открыл Ваше приложение для представления, это фокусируется на том объекте. Например, Календарный виджет показывает сегодняшние события; если пользователи хотят получить больше информации о событии, они могут коснуться события в виджете для просмотра ее в Календарном приложении.

Доля и расширения действия

Люди Доля доступа и расширения Действия путем ответвления Кнопки действий в приложении. В контроллере представления действия, выведенном на экран Кнопкой действий, расширения Действия перечислены в нижнем ряду, и расширения Доли упоминаются выше их. Люди могут использовать кнопки More для управления расширениями Доли и Действия, выведенными на экран в контроллере представления действия, показанном здесь.

image: ../Art/share_action_appex_2x.png

Расширение Доли или Действия обычно берет в качестве ввода содержание в текущем контексте пользователя. При чтении статьи в Safari, например, пользователь мог бы коснуться Кнопки действий и использовать расширение Доли, чтобы отправить статью на веб-сайт совместного использования или использовать расширение Действия для просмотра перевода статьи.

Как можно больше, используйте предоставленный системой UI в расширении Доли. Предоставленные системой сочиняют, контроллер представления дает пользователям непротиворечивый опыт и автоматически поддерживает общие задачи, такие как предварительный просмотр и проверка стандартных товаров, синхронизация содержания и анимации представления и конфигурирования сообщения. Для узнавания больше об использовании предоставленного системой, составьте контроллер представления, посмотрите Долю в Руководстве по программированию Расширения Приложения.

Рассмотрите отображение прогресса длинной загрузки в расширении Доли, содержащем приложение. Люди ожидают возвращаться к их предыдущему контексту сразу после ответвления кнопки Post или Share расширения, даже когда совместно используемое содержание является большим. Необходимо сделать успехи доступные обновления, но люди не хотят получать уведомление каждый раз, когда загрузка завершается, и нет никакого способа программно повторно запустить расширение. В этом сценарии это может работать хорошо для отображения прогресса загрузки в содержании приложения, которое может обработать задачу в фоновом режиме и отправить уведомление, если существует проблема.

Используйте монохроматическую версию значка приложения для расширения Действия. (Напротив, расширение Доли использует свое содержание полноцветного значка приложения приложения.) Для создания значка для расширения Действия Вы могли бы запустить путем создания версии шаблона значка приложения. Если необходимо, упростите проект путем фокусировки на элементах, делающих значок уникальным.

При обеспечении многократных расширений Действия в содержании приложения оно может работать хорошо для создания семьи значков для них. Обязательно заставьте каждый значок в семье выглядеть связанным с содержанием значка приложения.

Фотография редактируя расширения

Люди могут использовать фотографию, Редактируя расширения, в то время как они просматривают фотографии или видео в фото приложении. Как правило, фотография, Редактируя расширение помогает пользователю применить фильтр или сделать некоторое другое редактирование к фотографии или видео. После того, как пользователь подтверждает изменение, отредактированное содержание доступно в фотографиях.

Фотографии обеспечивают модальное представление, выводящее на экран пользовательский UI Вашей фотографии, Редактируя расширение. Фотографии могут также вывести на экран представление подтверждения, когда пользователь выбирает Cancel после применения редактирований к фотографии или видео (Вы ответственны за включение этого поведения в коде).

Избегайте использования панели навигации в своей фотографии, Редактируя расширение. Как Вы видите здесь, модальное представление, включающее представление Вашего расширения уже, включает панель навигации; добавление другой панели навигации заняло бы место далеко от Вашего UI и сбило бы с толку пользователям. (По умолчанию, фотографии выводит на экран Ваше представление на полноэкранной высоте, таким образом, Ваше содержание появится под встроенной панелью навигации.)

image: ../Art/photo_filter_appex_2x.png

При необходимости позвольте пользователям предварительно просмотреть свои редактирования. Как можно больше, Вы хотите позволить пользователям видеть результаты своей работы, прежде чем они закроют Ваше расширение и возвратятся к фотографиям.

Расширения провайдера документа

Расширение Провайдера Документа помогает людям получить доступ к документам, которыми Ваше приложение управляет из широкого диапазона других приложений. В приложении узла контроллер представления средства выбора документа выводит на экран UI, который обеспечивает Ваше расширение (для узнавания больше о контроллере представления средства выбора документа, посмотрите Ссылку класса UIDocumentPickerViewController).

Избегайте использования панели навигации в своем расширении Провайдера Документа. iOS выводит на экран пользовательский UI Вашего расширения в основанном на панели навигации интерфейсе контроллера представления средства выбора документа. Отображение второй панели навигации ниже встроенной панели сбивает с толку пользователям и занимает место далеко от Вашего содержания. (По умолчанию контроллер представления средства выбора документа выводит на экран Ваше представление на полноэкранной высоте, таким образом, Ваше содержание появляется под встроенной панелью навигации.)

image: ../Art/doc_provider_appex_2x.png

Пользовательские клавиатуры

Люди используют расширение клавиатуры для замены клавиатуры iOS пользовательской клавиатурой по всей системе. После включения расширения клавиатуры люди получают пользовательскую клавиатуру, когда они входят, любая область ввода текста за исключением охраняют территории ввода текста (такие как поле пароля) и телефонные области клавиатуры (такие как поле телефонного номера в Контактах).

Обеспечьте очевидный способ для пользователей переключиться на следующую клавиатуру. Люди очень знакомы с ключом земного шара iOS, и они ожидают подобный опыт в Вашей клавиатуре.

image: ../Art/alternate_keyboards_2x.png