Подготовка приложения SharePoint Framework к публикации в Marketplace

Перед публикацией приложения SharePoint Framework в Marketplace оно должно пройти процедуру утверждения. Этот процесс выполняется корпорацией Майкрософт бесплатно и позволяет убедиться, что ваше приложение будет работать правильно, а на его странице четко описаны его назначение и возможности. Ниже в качестве пояснения к подготовке публикации приложения в Marketplace приведен перечень тестов, выполняемых в процессе утверждения.

Предварительные требования

Используйте SharePoint Framework v1.11 или более новой версии

При создании решений, предназначенных для публикации в Marketplace, следует использовать платформу SharePoint Framework v1.11 или более новой версии. Начиная с версии 1.11 манифест решения SharePoint Framework содержит дополнительные сведения о вашей организации и решении, которые обязательны для публикации приложения в Marketplace.

Совет

Если приложение создано в более старой версии SharePoint Framework, его можно легко обновить до SharePoint Framework v1.11 или более новой версии с помощью CLI для Microsoft 365. Дополнительные сведения см. в статье https://pnp.github.io/cli-microsoft365/cmd/spfx/project/project-upgrade/.

Протестируйте приложение как на корневых, так и на некорневых сайтах

При тестировании приложения убедитесь, что оно работает как задумано в случае установки как в корневом семействе веб-сайтов, так и на некорневых сайтах. Это поможет убедиться, что приложение не содержит зависимостей от определенных URL-адресов сайтов.

Протестируйте приложение в нужных браузерах

При тестировании приложения согласно описанным в следующем разделе проверкам установите, работает ли оно как задумано в последних версиях браузеров Microsoft Edge, Google Chrome, Firefox и классического клиента Microsoft Teams (если приложение отображает веб-части в Teams), по крайней мере в операционной системе Windows 10.

Обязательные проверки

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

Обеспечение соответствия контракту SharePoint Framework

Веб-часть или настройщик должны управлять только элементом DOM, который предоставляется через свойство domElement. Только этот элемент и указанный объект контекста являются утвержденными способами добавления функций на сайты через приложение. Прямое управление страницей DOM приведет к отклонению решения.

В обычных условиях решение должно работать как задумано

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

Веб-часть должна работать на всех узлах, на которых она отображается

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

Пакет решения должен содержать правильные метаданные разработчика

Манифест решения (управляемый в файле package-solution.json) должен содержать новый раздел с именем developer и следующими свойствами:

Атрибут Описание Обязательный
name Название организации, в которой создано приложение Да
websiteUrl URL-адрес веб-сайта с дополнительными сведениями о приложении Да
mpnId Идентификатор Microsoft Partner Network (подробнее о MS Partner Network) Нет (но очень рекомендуется указать)
privacyUrl URL-адрес заявления о конфиденциальности Да
termOfUseUrl URL-адрес условий использования Да

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

Сведения о разработчике отображаются при установке веб-частей в Microsoft Teams. Сведения о приложении и разработчиках, отображаемые в Marketplace, управляются отдельно в Marketplace.

В тексте описания метаданных веб-части должны быть кратко описаны ее функциональность и предлагаемая ценность

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

В описании решения должно быть ясно рассказано о различных компонентах, включенных в пакет

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

Не используйте в названии решения названия функций Teams и SharePoint.

Не включайте в название решения слова, совпадающие с названиями функций в Microsoft Teams или SharePoint, такие как Chat (Чат), Contacts (Контакты), Calendar (Календарь), Calls (Звонки), Files (Файлы), Meeting (Собрание), Activity (Действие), Teams (Группы), Apps (Приложения), Help (Справка), SharePoint, List (Список), Page (Страница) и т. д., иначе ваше решение можно будет спутать со стандартными функциями Teams и SharePoint.

Не используйте в названии решения названия других продуктов Майкрософт.

Ваше решение будет отклонено, если его название содержит название другого продукта Майкрософт, например Outlook, Word, Calendar, Tasks, Teams, Excel, PowerPoint, Visio и т. д.

Решение не должно содержать ключевых слов Microsoft Teams или SharePoint, таких как Start meeting (Начать собрание), Make call (Сделать звонок), Upload file (Загрузить файл), Start chat (Начать чат) и т. д. Эти ключевые слова используются в продуктах Майкрософт, и наличие их в вашем приложении может ввести пользователей в заблуждение. Если ваше приложение предусматривает подобные функциональные возможности, включите в их название уточнение, например: Start a Zoom Meeting (Начать собрание в Zoom), Upload file to Dropbox (Загрузить файл в Dropbox), Start Freshdesk chat (Начать чат Freshdesk) и т. д.

Наименование решения

Если в названии решения используется обычное слово, такое как Orders (Заказы), добавьте к нему название вашей компании, чтобы ясно отличить его от других решений в Marketplace, например Contoso Orders. Где Contoso ссылается на название компании, отправляющей решение.

Обновите файл конфигурации package-solution.json с использованием понятной записи name на основе указанного выше формата, как показано в примере ниже.

Не включайте посторонние рекламные объявления в описание и снимки экрана вашего приложения.

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

Все свойства, представленные в области свойств, должны функционировать.

Свойства, представленные в области свойств веб-части, должны быть значимыми. Изменение их параметров должно явно изменять поведение веб-части.

Убедитесь, что файл пакета можно отправить в каталог приложений без ошибок

Убедитесь, что пакет решения можно отправить в каталог приложений в вашем клиенте без ошибок.

Убедитесь, что приложение можно развернуть без ошибок

Убедитесь, что приложение можно установить на каком-то определенном сайте, но также и глобально развернуть на всех сайтах без ошибок.

Приведите обоснование для всех запросов API

Если приложению требуется дополнительный доступ к API (например, для коммуникации с Microsoft Graph), его следует запросить в манифесте решения. Кроме того, подготовьте обоснование для запрашиваемого доступа к API, так как это может потребоваться для рецензирования приложения.

Поддержка пользователей для внедрения сценариев не разрешена

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

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

Все URL-адреса, отображаемые в веб-части, должны быть рабочими

Если в веб-части отображаются URL-адреса, они должны указывать на существующие ресурсы и не должны вести на несуществующие страницы или страницы с ошибками.

Приложение не должно зависать

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

Приложение должно быть законченным

Содержит ли ваше решение все функции, о которых упомянуто в его описании и на снимках экрана?

Пользовательский интерфейс приложения должен быть готов

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

Совет

Чтобы обеспечить безупречную интеграцию с SharePoint и Teams, мы рекомендуем использовать Office UI Fabric — язык разработки Microsoft 365. За дополнительными сведениями обращайтесь к разделу оформление этой документации.

Приложение не должно ничего предлагать пользователям без взаимодействия

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

Убедитесь, что браузеры не блокируют всплывающие окна приложения

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

Добейтесь успешной работы с первого раза

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

Протестируйте синхронизацию с Teams

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

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

Приобретение учетной записи или лицензии

Если ваше решение требует приобретения пользователями учетной записи или лицензии, понятно ли, как это сделать и как использовать полученную информацию в вашем приложении?

Не давайте демонстрационных материалов, если в предложение включена бесплатная пробная версия

Если ваше предложение содержит бесплатную пробную версию приложения, оно не должно содержать демонстрационных материалов.

Не включайте вредоносный код

Решениям, содержащим вредоносный код, ссылку на опасные веб-сайты, а также другие незаконные ресурсы, будет отказано в публикации в Marketplace.

Не включайте уязвимые ресурсы

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

Ваше приложение не должно чрезмерно использовать ресурсы

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

Решения, предназначенные для Microsoft Teams, должны соответствовать уровню клиента

Решения SharePoint Framework, также предназначенные для использования в Microsoft Teams, должны соответствовать уровню клиента. Этот параметр управляется с помощью skipFeatureDeployment атрибута в package-solution.json файле конфигурации и должен иметь значение true для любого решения, компоненты которого также предназначены для Microsoft Teams.

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

Значок веб-части должен иметь размер 64x64 пиксела и прозрачный фон

Мы рекомендуем использовать для значка веб-части изображение размером 64x64 пиксела с прозрачным фоном. Это позволит правильно отображать его в различных режимах пользовательского интерфейса в SharePoint.

Для логотипов Microsoft Teams потребуется использовать определенные размеры изображений

Если решение содержит компоненты, предназначенные для Microsoft Teams, предполагается, что в них будут использоваться изображения стандартных размеров в соответствии с инструкциями по Microsoft Teams. Контурные изображения должны иметь размер 32x32 пиксела, а цветные — 192x192 пиксела.

Изображение на всю страницу должно иметь стандартный размер

Если решение содержит компоненты, которые предназначены для использования в качестве страниц приложений с одним компонентом, каждый из этих компонентов должен иметь атрибут fullPageAppIconImageUrl с определенным изображением, которое будет использоваться при создании новой страницы в SharePoint. Это изображение должно иметь размер 193x158 пикселей.

Веб-часть должна иметь заголовок, который можно настроить в области свойств.

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

Совет

Настраиваемый заголовок легко добавить в веб-часть при помощи повторно используемого элемента управления PnP React WebPartTitle.

Правильная обработка разных тем

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

Совет

Дополнительные сведения об использовании тем в приложении см. в статье Использование цветов темы в настройках SharePoint Framework.