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

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

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

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

Таблица 22-1 Типы расширений приложений

Тип расширения приложения Люди используют это расширение, чтобы…
Виджет Сегодня Получить быстрое обновление или выполнить быструю задачу в окне “Сегодня” Центра Уведомлений
Поделиться Разместить на веб-сайте или поделиться содержимым с другими
Действие Управлять или видеть содержимое в контексте другого приложения
Редактирование Фотографий Редактировать фото или видео внутри приложения Фотографии
Проводник Документов Получить доступ к хранилищу файлов и управлять им
Индивидуализированная Клавиатура Заменить системную клавиатуру iOS другой индивидуализированной клавиатурой

Эти указания применимы к расширениям приложений всех типов; для управления особыми расширениями приложений определённого типа, см. разделы ниже. (Чтобы узнать, как разрабатывать, устранять неполадки и распространить расширение, см. App Extension Programming Guide.)

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

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

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

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

ВАЖНО

Так же как и со всеми иконками и изображениями, которые вы создаёте, не повторяйте иконки и изображения iOS и не создавайте изображения продукции и дизайна Apple.

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

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

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

widget_experience_2x

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

ПРИМЕЧАНИЕ

iOS автоматически отображает иконку вашего приложения и заголовок наверху вашего индивидуального содержимого виджета (иконка расположена в основном поле).

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

WidgetSpec_2x

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

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

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

В случае необходимости, позвольте людям производить нажатие в виджете Сегодня, чтобы открыть ваше приложение. Так как ваш виджет Сегодня предоставляет узконаправленное использование, переадресация людей в ваше приложение для получения большей информации или функциональных возможностей может стать хорошим приёмом. Предоставлять кнопку “Открыть Приложение” — не очень хорошая идея, так что единственным решением является сделать весь виджет Сегодня возможным для нажатий. Либо вы можете позволить пользователям нажимать на соответствующий объект пользовательского интерфейса внутри виджета, чтобы открыть то окно вашего приложения, которое сфокусировано на этом объекте. Например, виджет Календарь показывает сегодняшние мероприятия; если пользователи хотят получить больше информации о мероприятии, они могут нажать на него в виджете, чтобы увидеть приложение Календарь.

ПРИМЕЧАНИЕ

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

Если необходимо, позвольте людям знать, нужно ли им зарегистрироваться, чтобы получить полезную информацию в вашем виджете Сегодня. Если виджет Сегодня требует от людей регистрации, чтобы просмотреть информацию, отобразите сообщение, способствующее их регистрации, и объясняющее, какое содержимое они увидят, если зарегистрируются. Например, если ваш виджет Сегодня показывает предстоящие резервирования, когда пользователи регистрируются, вы можете попросить людей “Войдите в Моё Приложение, чтобы увидеть предстоящие резервирования.”

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

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

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

share_action_appex_2x

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

ПРИМЕЧАНИЕ

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

Насколько возможно, используйте системный пользовательский интерфейс в расширении Поделиться. Системный регулирующий контроллер окна даёт пользователям соответствующий опыт использования и автоматически поддерживает общие задачи, такие как предпросмотр и проверка стандартных элементов, синхронизация содержимого и отображение анимации, а также компоновка расположения. Чтобы узнать больше об использовании системного регулирующего контроллера окна, см. Share в App Extension Programming Guide.

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

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

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

Расширения Редактирование Фотографий

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

Приложение Фотографии предоставляет модальное окно, которое отображает индивидуализированный пользовательский интерфейс вашего расширения Редактирования Фотографий. Это приложение также может отображать окно подтверждения, когда пользователь выбирает Отменить после редактирования фото или видео (вы ответственны за осуществление этой функции в коде).

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

photo_filter_appex_2x

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

Расширение Проводник Документов

Расширение Проводник Документов помогает пользователям получить доступ к документам, которыми ваше приложение управляет из большого количества других приложений. В приложении хоста document picker view controller отображает пользовательский интерфейс, который обеспечивает ваше расширение (чтобы узнать больше о document picker view controller, см. UIDocumentPickerViewController Class Reference).

ПРИМЕЧАНИЕ

Расширение Проводник Документов может состоять из двух отдельных частей: расширение Document Picker View Controller и расширение Проводник Файлов. Расширение Document Picker View Controller содержит ваш индивидуализированный пользовательский интерфейс. Расширение Проводник Файлов осуществляет доступ к файлам. Для упрощения, этот раздел использует термин расширение Проводник Документов, чтобы обратить внимание на пользовательский интерфейс и опыт, предоставленный частью расширения Document Picker View Controller.

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

doc_provider_appex_2x

Индивидуализированная Клавиатура

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

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

alternate_keyboards_2x

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

 

Copyright © 2016. iOSManual Все авторские права защищены