Восстановление приложения: максимизируйте ценность вашего приложения

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

Почему восстановление приложений является критически важным

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

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

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

Принципы восстановления приложений

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

  • Опубликуйте ваше приложение в Microsoft Store. Ваше приложение должно обеспечивать надежное распространение через Microsoft Store (см. раздел Публикация приложений и игр для Windows). Это самый простой способ обеспечить надежный и беспроблемный опыт (требующий меньше щелчков) для ваших пользователей.
  • Упаковайте приложение. Приложение должно быть упаковано (для определений см. общие сведения о развертывании). Упаковаемое приложение позволяет системе лучше понять файлы, данные и параметры, которые имеют значение для приложения; и позволяет системе проще восстанавливать приложения по запросу.
  • Храните критическое состояние приложения в облаке. Ваше приложение должно хранить критическое состояние приложения в облаке. Установка приложения на новом устройстве — это только первый шаг. Получение пользователями простого возврата к предыдущему состоянию приложения — их последние, избранное, их предпочтения — это цель; и лучший способ сделать это заключается в хранении критически важных сведений о состоянии пользователя в облаке. Локальное состояние должно рассматриваться как только временная оптимизация.
  • Запись содержимого, созданного пользователем, в известные папки. Приложение должно записывать содержимое, созданное пользователем, в известные папки Windows (см. класс KnownFolders). Сохраните их отдельно от состояния приложения — если приложение создает пользовательское содержимое (файлы, звуковые клипы, видео и т. д.), то следует сохранять это содержимое в известных папках Windows (Документы, Изображения, Музыка, Видео и т. д.). Это позволяет Windows с помощью OneDrive выполнять резервное копирование этих файлов в облако и гладко синхронизировать их на разных устройствах с помощью технологии файлов по требованию.

Публикация приложения в Microsoft Store

Microsoft Store — это самое надежное облако распространения для приложений Windows (см. Publish Windows приложения и игры). Пользователи могут легко искать и находить приложение для установки.

Когда пользователь устанавливает новую операционную систему (ОС) и выбирает восстановление с предыдущего компьютера, эти приложения, которые находятся в Microsoft Store, автоматически будут перечислены в списке All Apps и имеют закрепления в тех же расположениях в Start меню и панели задач, как и раньше. Эти сочетания клавиш позволяют пользователю немедленно получить доступ к приложению и установить его.

Упаковка приложения

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

Упакованое приложение (упакованое классическое приложение или приложение WinUI) упаковывается с помощью MSIX и выполняется внутри упрощенного контейнера приложений. Упакованный процесс приложения и его дочерние процессы выполняются внутри контейнера; и они изолированы с помощью файловой системы и виртуализации реестра. Эти аспекты упаковки делают установку чрезвычайно надежной и обеспечивают, что приложение работает корректно и не оставляет конфигурации реестра или файлы приложений на компьютере при удалении приложения пользователем.

Дополнительные сведения о преимуществах использования MSIX для упаковки см. в разделе "Что такое MSIX?".

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

Хранение критического состояния приложения в облаке

Как видите, Windows делает большую работу, помогая клиентам находить и устанавливать приложение на новом компьютере. Но как насчет данных приложения, таких как параметры приложения? Чтобы обеспечить лучший пользовательский интерфейс, рекомендуется использовать облако для хранения состояния приложения. Сохраняя данные приложения в облаке, пользователи могут иметь согласованный интерфейс на разных устройствах. И когда пользователям не нужно перенастраивать параметры приложения, удовлетворенность пользователей значительно увеличивается.

Для хранения параметров приложения в облаке требуется служба. Чтобы обеспечить как можно более широкий опыт, Майкрософт предоставляет различные службы, которые устраняют необходимость в развертывании серверов, а также выбор базы данных или заботу о масштабировании или безопасности. Эти службы предоставляют отличный интерфейс разработчика, который позволяет хранить данные приложения в облаке с помощью SQL или NoSQL API. Для создания масштабируемых и надежных приложений можно также синхронизировать данные на всех устройствах и разрешить приложению работать с сетевым подключением или без нее. Дополнительные сведения о службы Майкрософт см. в разделе Store, синхронизация и запрос данных мобильного приложения из облака.

Дополнительные сведения о лучших методах хранения данных приложения см. в разделе Хранение и извлечение параметров и других данных приложения.

Запись содержимого, созданного пользователем, в известные папки

Windows представила известные папки в Windows Vista. С тех пор пользователи ожидают, что они могут найти содержимое, которое они создают в своих приложениях, в этих местах. Запись пользовательского контента в эти расположения имеет дополнительное преимущество: OneDrive создаст резервные копии этих папок, если функция включена, чтобы убедиться, что они доступны пользователю на новом компьютере (см. раздел Резервное копирование папок с помощью OneDrive). Используя стандартные WINDOWS API для записи содержимого, созданного пользователем, в известные папки, вы улучшаете взаимодействие с пользователем и снижаете трения при внедрении приложения.

Видимые пользователем файлы

Вы должны хранить файлы, которые пользователь должен видеть и взаимодействовать с ней в соответствующей папке в профиле пользователя. Общие файлы следует хранить в FOLDERID_Documents директории, как правило, в подкаталоге. И вы должны хранить фотографии, музыку и видео в их соответствующих FOLDERID_Pictures, FOLDERID_Music и FOLDERID_Videos местах.

Данные приложения для конкретного компьютера

Следует хранить данные, относящиеся к компьютеру, на котором приложение в настоящее время работает в FOLDERID_LocalAppData папке; обычно в вложенной папке. Это включает такие данные, как:

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

Подсказка

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

Данные приложения, которые не относятся к компьютеру

Данные, которые не связаны с конкретным компьютером, следует хранить в FOLDERID_Documents каталоге, обычно в подпапке. Эти файлы часто содержат настройку приложения, предоставляемую пользователем, например: действие по умолчанию для выполнения при запуске; настраиваемые фоны; или другие данные, которые не должны изменяться с одного компьютера на другой.

Рекомендации по распаковке приложений

Если вы не можете упаковыть приложение, убедитесь, что установщик реализует приведенные ниже рекомендации. Это обеспечит возможность резервного копирования и восстановления ярлыков меню "Пуск ", которые позволяют устанавливать на новом компьютере, восстановленном из резервной копии.

  • Убедитесь, что установщик указывает значение InstallLocation в ключе реестра удаления. При использовании Windows Installer укажите это с помощью ARPINSTALLLOCATION. Это необходимо для включения сопоставления сочетаний клавиш меню "Пуск " с продуктом.
  • Убедитесь, что именно это расположение специфично для продукта; обычно это вложенный каталог в C:\Program Files\<Publisher>\<Application>.
  • Убедитесь, что ярлыки в меню Пуск имеют System.AppUserModel.ID значения, не зависящие от компьютера (AMUID). Это лучше всего сделать, указав их явным образом в сочетаниях метаданных. Дополнительные сведения см. в разделе Где назначить AppUserModelID.