Posted on 28. November 2018

Встраивание ввода данных в UWP приложения

Одной из наименее известных возможностей UWP приложений является встраивание ввода данных. Это будет особенно полезно, если Вы хотите предоставить пользователям ознакомительную инструкцию, мгновенную обратную связь с помощью дополнительных технологий или реализовать вкладку Help в приложении. Рассмотрим подробнее преимущества пространства имен Windows.UI.Input.Preview.Injection и его внедрение в приложения.

Поддерживаемые типы ввода

Windows 10 поддерживает несколько типов ввода. В настоящее время это:

  • Геймпад
  • Клавиатура
  • Мышка
  • Стилус
  • Сенсор

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

Возможность внедрения ввода

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

Добавление этой возможности простое и понятное. Откройте Package.appxmanifest как XML-файл и добавьте следующее описание пространства имен в Package элемент:

 

<Package
   ...
   xmlns:rescap="http://schemas.microsoft.com/appx/manifest /foundation/windows10/restrictedcapabilities"
  IgnorableNamespaces="uap mp rescap">

 

 

Пространство имен rescap - это хранилище для ограниченных возможностей. Теперь Вы можете добавить функцию inputInjectionBrokered в разделе Capabilities:


  <Capabilities>
       <Capability Name="internetClient" />
       <rescap:Capability Name="inputInjectionBrokered" />
</Capabilities>


Основы

Основным классом в Windows.UI.Input.Preview.Injection является InputInjector. Вы можете создать его образец, вызвав статический TryCreate метод. После чего Вы можете вызвать соответствующие методы для каждого типа ввода:

 

var inputInfo = new InjectedInputMouseInfo();
...
InputInjector inputInjector = InputInjector.TryCreate();
inputInjector.InjectMouseInput(new[] { inputInfo });

 

 

Методы принимают список данных ввода, поэтому Вы можете последовательно выполнять несколько операций ввода.

Ввод с мышки

Вы можете подготовить информацию ввода с помощью мышки, используя InjectedInputMouseInfo класс. Чтобы двигать мышкой, используйте DeltaX и DeltaY свойства:

 

var info = new InjectedInputMouseInfo();
info.MouseOptions = InjectedInputMouseOptions.Move;
info.DeltaY = 100; //move down 100 points

 

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

 

var down = new InjectedInputMouseInfo();
down.MouseOptions = InjectedInputMouseOptions.LeftDown;

var up = new InjectedInputMouseInfo();
up.MouseOptions = InjectedInputMouseOptions.LeftUp;

InputInjector inputInjector = InputInjector.TryCreate();
inputInjector.InjectMouseInput(new[] { down, up });

 

Вы также можете имитировать как вертикальный, так и горизонтальный скрол мышки, используя Wheel и HWheel. Вы можете указывать расстояние прокрутки, используя свойство MouseData:

 

var info = new InjectedInputMouseInfo();
info.MouseOptions = InjectedInputMouseOptions.Wheel;
info.MouseData = 500; //scroll up

InputInjector inputInjector = InputInjector.TryCreate();
inputInjector.InjectMouseInput(new[] { info });

 

Прокрутка - это легко. Но как насчет прокрутки вниз?

 

info.MouseData = -500; //compile time error!

 

Обратите внимание, что свойство MouseData - это uint единица, которой нельзя присвоить отрицательные значения.

 

unchecked
{
    info.MouseData = (uint)-500; //scroll down
}

 

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

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

Ввод с клавиатуры

Класс InjectedInputKeyboardInfo является базой для внедрения ввода с клавиатуры. Наиболее важное свойство - VirtualKey, которое указывает, к какому ключу относится ввод. Используя KeyOptions, Вы можете указывать дополнительные опции, такие как симуляция key up события.

Следующий образец показывает строку «привет» в активном поле ввода:

 

InputInjector inputInjector = InputInjector.TryCreate();
foreach (var letter in "hello")
{
    var info = new InjectedInputKeyboardInfo();
    info.VirtualKey = (ushort)((VirtualKey)Enum.Parse(typeof(VirtualKey),
                                 letter.ToString(), true));
    inputInjector.InjectKeyboardInput(new[] { info });
    await Task.Delay(100);
}

 

В конце foreach узла находится Task.Delay вызов. Это гарантирует, что повторные нажатия клавиш не регистрируются как одно нажатие.

Образец кода

Исходный образец кода доступен на GitHub.

Application Sample

В заключении

В этой статье мы подробно изучили пространство имен Windows.<wbr />UI.<wbr />Input.<wbr />Preview.<wbr />Injection и посмотрели, как его можно использовать для имитации ввода с разных типов устройств. Не смотря на то, что эта опция не так часто используется, она все же полезна в UWP API.

Дополнительная нформации



Exception: Object reference not set to an instance of an object.
Posted on 26. November 2018

Начало работы с Windows Machine Learning

Благодаря обновлению Windows 10 в октябре 2018 года Windows Machine Learning стало частью AI набора инструментов. Windows ML механизм вывода локально оценивает предварительно обученные модели на Windows устройствах, устраняя проблемы с подключением, пропускной способностью и конфиденциальностью данных. Данные видеоролики помогут Вам понять, как начать работу с Windows ML, и познакомиться с новыми API через призму робота Руфуса.

Обзор Windows Machine Learning

Что такое Windows Machine Learning и чем он может быть полезен? Киллиан и Розан пройдутся по этим вопросам и объяснят определение и возможности этого мощного AI механизма вывода.


Windows Machine Learning: Hello World (Издание MNIST)

Давайте перейдем к коду. Киллиан и Розан работают над учебником по Windows ML MNIST и отвечают на вопросы, которые обычно задают разработчики.


Windows Machine Learning: модели и функции

Киллиан и Розан (с роботом Руфусом) обсуждают загрузку моделей и помогают определить ожидаемые входные и выходные характеристики данной модели.


Windows Machine Learning: выбор устройства

Киллиан и Пол (и робот Руфус) рассказывают, как выбрать устройство для оценки Windows ML модели, а также выясняют значение данной опции по умолчанию.


Windows Machine Learning: сессии и привязки

Киллиан и Пол (и робот Руфус) оценивают модель с Windows ML и рассказывают о важности сессий и привязок.


Предоставление обратной связи

Отправляйте Ваши отзывы о том, с какими темами касательно Windows ML Вы хотите ознакомиться в дальнейшем, написав @killianqueue в Твиттере!


Exception: Object reference not set to an instance of an object.
Posted on 6. October 2018

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

Один из часто задаваемых вопросов: «Как привлечь клиентов и увеличить количество оценок и отзывов в приложении?»

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

6 советов, которые Вам помогут:

Просите отзывы

Будьте настойчивыми! Спрашивайте пользователей об их мнение и опыте использования. 

1) Спрашивайте в приложении

Добавьте в Ваше приложение окно оценки и голосования или же напрямую запускайте страницу оценок и отзывов в Microsoft Store. Вы также можете использовать Feedback Hub для отзывов Ваших пользователей.

2) Спрашивайте с помощью push-уведомлений

 

Отправляйте toast- или push-уведомления с просьбой оставить оценку и отзыв. Чтобы привлекать только тех пользователей, которые еще не оценили Ваше приложение, сначала создайте сегмент с определением «Has rated == false», а затем настройте push-уведомления.


 

3) Спрашивайте в Microsoft Store

Добавьте просьбу оставить оценку и отзыв в разделе «Что нового в этой версии» или в описании Вашего продукта в Microsoft Store. После того, как Вы расскажете об обновлениях, сообщите пользователям, что Вы ждете их отзывов. К примеру: «Пожалуйста, помогите улучшить приложение, оставьте Вашу оценку и отзыв».

Отвечайте пользователям

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

4) Отвечайте на отзывы в Store 

Пользователи должны знать, что их мнение важно. Вы можете отвечать на их отзывы через API или с панели инструментов. Подробнее об этом здесь

5) Отвечайте прямо на отзыв

Хотите отправлять конкретные комментарии? Используйте Feedback Hub в Вашем приложении. Вы можете отвечать публично или приватно и уведомлять о состоянии любой жалобы пользователя, над которой Вы работаете.

Ваши ответы должны быть краткие (не больше 1000 символов), вежливые и точные. Подробнее об ответах на отзывы читайте здесь.

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

6) Работайте над улучшениями

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

Эти советы помогут Вам сообщить пользователям о важности их мнения!



Exception: Object reference not set to an instance of an object.
Posted on 23. June 2018

Знакомство с WinAppDriver UI Recorder

Новый инструмент WinAppDriver UI Recorder с открытым исходным кодом теперь доступен для Windows Application Driver (WinAppDriver) сообщества. Этот инструмент позволит пользователям легко автомизировать UI тесты.

WinAppDriver - это инструмент для запуска автоматизированных тестов пользовательского интерфейса для любых Windows 10 приложений. Недавно был выпущен предварительный просмотр версии 1.1, с которым Вы можете ознакомиться подробнее здесь.

Что такое UI Recorder

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

В таких ситуациях инструмент WinAppDriver UI Recorder надеется заполнить имеющиеся пробелы Inspect и послужить его полезной альтернативой.

В первоначальном выпуске, инструмент UI Recorder позволит использовать два ключевых сценария:

1) Проверка UI элементов и извлечение их XPath-выражений

2) Генерация C# кода для определенных действий (щелчок мышью) при активном «Record»

  • Сгенерированный код можно вставить в папку UI Recorder Template для запуска WinAppDriver

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

Как начать работу

Открытый исходный код UI Recorder доступен на странице WinAppDriver на GitHub. Для начала сборки и компиляции рекомендуется использовать Visual Studio 2017. После компиляции Вы можете сразу начать начать работу с UI Recorder.

В дополнение к общедоступному коду, Вы также можете скачать zip-архив в разделе GitHub Releases.

Использование UI Recorder

Инструмент UI Recorder предназначен для интуитивного и упрощенного пользовательского интерфейса, который разделен на две панели, как показано ниже:

UI Recorder отслеживает взаимодействие клавиатуры и мыши с интерфейсом приложения - UI действие. Когда запись активна, верхняя и нижняя панели динамически обновляются с различной информацией UI элементов каждый раз, когда происходит новое UI действие. На верхней панели отображается сгенерированный XPath запрос выбранного UI элемента, а нижняя панель отображает необработанную XML-информацию для одного и того же элемента. Вы можете перейти на C# Code вкладку на нижней панели, чтобы просмотреть сгенерированный C# код записанного действия, который можно использовать в WinAppDriver тесте.

Следующая анимация показывает пример такого процесса:

Записанный код можно копировать в буфер обмена и затем вставлять в проект WinAppDriver UI Recorder шаблона.

Обратная связь

Поскольку UI Recorder является общедоступным инструментом, Microsoft рекомендует всем публиковать любые PR с изменениями или улучшениями и размещать любые предложения по усовершенствованию UI Recorder.

Для обратной связи используйте GitHub Issues Board по вопросам UI Recorder - Microsoft будут рады получить любые предложения, запросы по добавлению новых функций или отчеты об ошибках!

Будьте в курсе событий

Чтобы быть в курсе всех новостей WinAppDriver, следите за страницей @mrhassanuz.

Подвение итогов

Новый инструмент WinAppDriver, инструмент UI Recorder, стал доступным. Для пользователей это удобный способ автоматизации пользовательского интерфейса с помощью WinAppDriver, который может не только генерировать XPath выражения, но также и C# код, записывая UI действия, сделанные с помощью щелчков мыши.



Exception: Object reference not set to an instance of an object.
Posted on 18. June 2018

Windows Template Studio 2.2

Microsoft рады объявить о новом выпуске Windows Template Studio, версии 2.2!

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

Microsoft будут рады Вашим предложениям. Если Вы заинтересованны в проекте, перейдите на страницу Windows Template Studio на Github.

Что нового:

Вы можете ознакомиться с полным списком улучшений в версии 2.2 на странице Windows Template Studio на Github.

В этой версии:

 

  • Функция 3D-запуска
  • Улучшения Wizard
  • Улучшенная документация
  • Улучшенное тестирование
  • Общее исправление ошибок

 

Обновления на платформе разработчиков: 

 

  • Обновлена Microsoft.NETCore.UniversalWindowsPlatform до 6.15
  • Обновлен Newtonsoft.Json до 11.0.2
  • Обновлены Microsoft.Toolkit.Uwp, Microsoft.Toolkit.Uwp.Notifications и Microsoft.Toolkit.Uwp.UI.Controls до 3.0.0
  • Обновлен Telerik.UI.for.UniversalWindowsPlatform до 1.0.1

 

Как получить обновление:

Есть две возможности обновления к новой сборке.

 

  • Уже установлено: Visual Studio автоматически обновляет расширение. Для принудительного обновления, откройте «Инструменты» --> «Расширения и обновления». Затем перейдите на вкладку слева «Обновление расширителя», там Вы увидите «Windows Template Studio», после чего нажмите «Обновить».
  • Не установлено: Перейдите на https://aka.ms/wtsinstall, нажмите «загрузить» и дважды щелкните по VSIX установщику.

 

Что будет в следующих версиях?

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

  • Шаблон навигации в стиле Menubar
  • Интеграция пакета WinUI Library nuget
  • Улучшения Fluent Design в шаблонах
  • Поддержка нескольких проектов в одном решении
  • Ink шаблоны
  • API активности пользователей для Timeline поддержки
  • Улучшения опции «Right-click->add support for existing projects»

В  партнерстве с сообществом, Microsoft продолжит работу над добавлением и улучшением функций и функциональности. Команда Windows Template Studio всегда рада новым людям, которые готовы помочь, и если Вам интересно, пожалуйста, перейдите на GitHub --> https://aka.ms/wts. Если у Вас есть идеи по добавлению новых функций, пожалуйста, отправьте Ваш запрос!



Exception: Object reference not set to an instance of an object.
Posted on 5. June 2018

Windows Community Toolkit v3.0

Windows Community Toolkit v3.0

 

Microsoft рады объявить о самом большом обновление Windows Community Toolkit - версии 3.0.

Несколько недель назад Microsoft объявили об изменении названия инструментария сообщества для того, чтобы еще больше Windows разработчиков присоеденились к сообществу, и уже в этом блог посте, Вы сможете изучить функции самого большого обновления Windows Community Toolkit:

  • Новый пакет для всех WPF и WinForms разработчиков, который включает в себя новый Edge WebView
  • Новый пакет для всех XAML UWP разработчиков с технологией отслеживания глаз по API в XAML
  • Новый пакет для всех .NET UWP разработчиков, который поможет с написанием Runtime API Проверок
  • Новый пакет с элементами управления для доступа к Microsoft Graph
  • Новые элементы управления и API в существующих пакетах
  • Fluent Design в уже существующих элементах управления с поддержкой светлой и темной темы
  • Обновленная документация и примеры кода в Visual Basic
  • Дополнительные улучшения и исправления ошибок

Давайте рассмотрим некоторые из этих обновлений более подробно.

Новый и современный WebView для .NET и WPF приложений

Microsoft добавили новый инструмент Microsoft Edge рендеринга для .NET WinForms и WPF приложений. Тем не менее, работа с WebViewControl и WebView API может быть неизвестна .NET разработчикам, поэтому Microsoft создали дополнительные элементы управления, чтобы упростить опыт работы и предоставить более привычную среду разработки.  Эти элементы управления обертывают WebViewControl, чтобы сделать элемент управления больше похожим на .NET WinForms или элемент WPF управления, а также предоставить подмножество членов этого класса.

На сегодняшний день WinForms и WPF элементы управления доступны в Microsoft.Toolkit.Win32.UI.Controls пакете. Это означает, что переход с Trident-powered WebBrowser на EdgeHTML-powered WebView в Вашем WinForms или WPF приложение может быть таким же простым, как перетаскивание нового элемента управления из панели инструментов.

Прочтите эти документы и ознакомтесь с полной документацией.

Новая Gaze Interaction Library с интеграцией отслеживания глаз в XAML приложениях

Gaze input - это мощный инструмент с технологией отслеживания глаз и использования Windows и UWP приложений, эта технологния особенно полезна для пользователей с нейро-мышечными заболеваниями (такими как БАС) и другими нарушениями, связанными с атрофией мышц или центральной нервной системы. Обновление Windows 10 April 2018 Update теперь поддерживает Windows технологию отслеживания глаз по API. Чтобы разработчики использовали эти API в своих XAML приложениях, Microsoft добавили Gaze Interaction Library в пакет Microsoft.Toolkit.Uwp.Input.GazeInteraction. Например, для того чтобы включить технологию отслеживания глаз на Вашей xaml странице, добавьте следующее свойство:

 

xmlns:gaze="using:Microsoft.Toolkit.Uwp.Input.GazeInteraction"
        gaze:GazeInput.Interaction="Enabled"

 

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

Platform Specific Analyzer

При написании адаптивного кода платформы разработчики должны убедиться, что код проверяет наличие API перед его вызовом. Специфичный анализатор платформы, доступный в Microsoft.Toolkit.Uwp.PlatformSpecificAnalyzer nuget пакете, представляет собой Roslyn анализатор для C# и Visual Basic, который может обнаруживать, когда Вы используете API, которые теперь стали доступны для всех Windows 10 версий и помогут Вам добавить соответствующие проверки кода.

Просто добавьте nuget пакет в Ваше приложение, и анализатор автоматически проверит Ваш код в процессе разработки.

Элементы управления Microsoft Graph

В новом Microsoft.Toolkit.Uwp.UI.Controls.Graph пакете Microsoft добавили четыре новых элемента управления, чтобы предоставить разработчикам доступ к Microsoft Graph в их XAML приложениях.

ProfileCard и AadLogin

Элемент управления ProfileCard - это простой способ отображения пользователя в нескольких разных форматах с использованием комбинации имени, изображения и электронной почты. Элемент управления AadLogin использует службу Microsoft Graph для включения процесса входа в Azure Active Directory (AAD) систему.

PeoplePicker

Элемент управления People Picker позволяет выбирать одного или нескольких пользователей из организационного AD.

SharePointFileList

Элемент управления SharePointFileList позволяет пользователю перемещаться по папке и файлам и отображает простой список SharePoint файлов.

Новые элементы управления и помощники

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

CameraHelper и CameraPreview

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

Элемент управления CameraPreview XAML использует CameraHelper для удобного просмотра видеофрагментов в Ваших приложениях.

В xaml:

 

<controls:CameraPreview x:Name="CameraPreviewControl" /> 

 

В С#:

 

await CameraPreviewControl.StartAsync(); 
CameraPreviewControl.CameraHelper.FrameArrived += CameraPreviewControl_FrameArrived;

 

 

Прочтите эти документы и ознакомтесь с полной документацией.

UniformGrid

Элемент управления UniformGrid - это гибкий элемент управления макетами, который упорядочивает элементы в равномерно распределенном наборе строк или столбцов, чтобы заполнить общее доступное пространство дисплея. Каждая ячейка в сетке будет одинакового размера по умолчанию. Если Вы перемещаете UniformGrid XAML из WPF, просто добавьте префикс пространства имен в инструментарий.

      
   <controls:UniformGrid>
      <Border Background="AliceBlue" Grid.Row="1" Grid.Column="1"><TextBlock Text="1"/></Border>
      <Border Background="Cornsilk"><TextBlock Text="2"/></Border>
      <Border Background="DarkSalmon"><TextBlock Text="3"/></Border>
      <Border Background="Gainsboro"><TextBlock Text="4"/></Border>
      <Border Background="LightBlue"><TextBlock Text="5"/></Border>
      <Border Background="MediumAquamarine"><TextBlock Text="6"/></Border>
      <Border Background="MistyRose"><TextBlock Text="7"/></Border>
    </controls:UniformGrid>   
    

Прочтите эти документы и ознакомтесь с полной документацией.

InfiniteCanvas

Элемент управления InfiniteCanvas представляет собой новый canvas, который поддерживает бесконечную прокрутку, inking, форматирование текста, масштабирование, отмену и повтор, а также экспорт и импорт canvas данных.

Прочтите эти документы и ознакомтесь с полной документацией.

И еще...

Обязательно просмотрите информацию о выпуске, чтобы изучить полный список обновлений в этой версии. Сообщество Windows Community Toolkit продолжает работать над улучшениями, чтобы предоставить лучшие функции для всех Windows разработчиков, и, на данный момент, версия 3.0 - это самое большое обновление. Новый инструментарий был бы невозможен без Вашего участия и вклада в проект.

Напоминаем, что Вы можете начать работу, следуя этому руководству, или изучить новые  функции, установив UWP Community Toolkit Sample App приложение из Microsoft Store. Если Вы хотите внести Ваш вклад, присоединяйтесь к Windows Community Toolkit на GitHub! Чтобы присоединиться к беседе в Twitter, используйте хэштег #windowstoolkit.

Источник



Exception: Object reference not set to an instance of an object.
Posted on 28. May 2018

Технология отслеживания глаз по API

Создание приложений и захватывающих игр совместимых с технологией отслеживания глаз по API

В прошлом году, вместе с обновлением Windows 10 Fall Creators Update, Microsoft представили функцию Eye Control, которая позволяет пользователям управлять Windows устройствами с помощью глаз. Microsoft продолжает разрабатывать еще больше функций для людей с ограниченными возможностями, таких как Стив Глисон, чтобы предоставить им перемены в лучшую сторону. Однако команда Microsoft понимает, что выполнение миссии - «предоставить возможности каждому человеку и организации на планете достичь большего» - выходит за рамки одного продукта. Все начинается с чего-то более фундаментального: создание платформы, позволяющей всем разработчикам создавать продукты, которые помогут улучшить жизнь людей и оказать положительное влияние.

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

Давайте изучим все детали.

Новые функции в Eye Control

С момента выпуска функции Eye Control, команда Microsoft продолжала работать с Microsoft Research и людьми, с заболеванием БАС (боковой амиотрофический склероз) или ЗДН (заболевание двигательных нейронов). Microsoft тщательно изучили отзывы людей с заболеванием БАС, а также пользователей, которые хотят управлять Windows устройствами с помощью глаз. Эти отзывы значительно повлияли на выбор набора функций, которые были недавно добавлены в Eye Control, и которые сделали еще один шаг на пути к полному управлению компьютеров с помощью оптической оси глазного яблока. Вот три области, которые были улучшены на основе отзывов и сотрудничества с людьми с ограниченными возможностями:
  • Более легкая навигация: Microsoft добавили больше возможностей управления мышью, например, скроллинга любого приложения или веб-сайта, а также ускоренный клик по контенту. 
  • Ускоренное перемещение: Более быстрый доступ к меню Start, Task View, калибровке устройства и настройкам Eye Control, которые теперь доступны с панели управления Eye Control.
  • Возможность поставить на паузу в любой момент: Приостановка панели управления при просмотре фильма, чтении или просто перерыве во избежания случайных взаимодействий с глазами.

Панель управления Eye Control в Обновлении Windows 10 April 2018 Update

Функция Eye Control еще находится в режиме предварительного просмотра, и Ваши отзывы помогут сделать ее намного лучше. Если у Вас есть какие-либо пожелания по улучшению продуктов и услуг, Вы можете оставить их на форуме Accessibility User Voice Forum или Windows Feedback Hub. Если у Вас возникли трудности с использованием Eye Control, свяжитесь с Disability Answer Desk.

Расширенная поддержка аппаратуры для отслеживания глаз

В прошлом году, команда Microsoft объявила о сотрудничестве с компанией Tobii для расширения количества аппаратных средств и игровых трекеров под управлением Windows, которые будут поддерживать отслеживание глаз. В этом году, Microsoft представили своего второго партнера - компанию EyeTech.

Главная цель - поддерживать максимальное количество оборудования для отслеживания глаз на Windows платформе, чтобы позволить клиентам выбирать устройство, которое лучше всего подходит для их потребностей и предпочтений. Все эти устройства отслеживания глаз будут работать с Eye Control и Windows API по отслеживанию глаз, чтобы разработчики могли создавать приложения, которые в будущем будут работать на всех поддерживаемых устройствах. Microsoft продолжает работать над аппаратной экосистемой и надеется, что в этом году у них появится больше партнеров.

Новые Windows технологии отслеживания глаз по API

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

Обновление Windows 10 April 2018 Update включает в себя Windows API отслеживания глаз - такой же набор API, который был использован для создания Eye Control. Эти API предоставляют поток данных отслеживания глаз, который указывает, куда именно смотрит пользователь в окне приложения. Microsoft также выпустили Gaze Interaction Library с открытым исходным кодом в Windows Community Toolkit, чтобы упростить интеграцию взаимодействий взгляда в Ваших UWP приложениях. Microsoft начинает сотрудничать с такими компаниями, как Tobii и EyeTech, чтобы работать над улучшениями этой библиотеки с открытым исходным кодом, и если у Вас есть какие-либо рекоммендации, сделайте Ваш вклад в сообществе разработчиков, ориентированных на возможности отслеживания глаз.

Команда Microsoft уже видит результаты того, как их партнеры используют Windows API и делают приложения с технологией отслеживания глаз общедоступными. Одним из лучших примеров является Snap + Core First by Tobii Dynavox, коммуникационное приложение на основе символов, которое помогает людям легко общаться друг с другом. Microsoft также видит, что взаимодействие с отслеживанием глаз создает более захватывающий игровой опыт. И при поддержке UWP интеграции с Unity, Вы можете использовать эти API в Вашей новой или уже существующей UWP Unity игре.

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

Начните разрабатывать!

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

Документация
API Ссылки / Код
Новые API технологии по отслеживанию глаз, оборудывание, Eye Control, опыт работы с приложениями также были представлены на ежегодной бизнес-конференции Build. Если Вы хотите узнать больше, пожалуйста, посетите www.microsoft.com/accessibility.


Exception: Object reference not set to an instance of an object.
Posted on 3. May 2018

Новое имя UWP Community Toolkit: Windows Community Toolkit

Уже в следующем обновлении UWP Community Toolkit будет переименован на Windows Community Toolkit. Это действительно большой шаг в развитии инструментария и сообщества.

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

UWP Community Toolkit Sample App (версия 1.0)

UWP Community Toolkit Sample App (версия 2.0)

Когда Microsoft выпустили UWP Community Toolkit, было много отзывов о добавление возможности для разработчиков, поделиться компонентами инструментария с другими инфраструктурами, такими как WPF, WinForms, Xamarin, .NET Core и другими. С помощью сообщества, в версии 2.0 Microsoft идентифицировали компоненты, которые могли быть учтены в библиотеках .NET Standard, и создали новые пакеты .NET Standard для того, чтобы все разработчики могли воспользоваться преимуществами работы сообщества. Сегодня многие из сервисов, помощников и парсеров являются кросс-платформенными и могут использоваться везде. Более того, Microsoft продолжает работать над тем, чтобы добавить еще больше преимуществ.

 

Главная цель сообщества - привлечение большего количества разработчиков, поэтому, начиная со следующей версии Windows Community Toolkit, Microsoft предоставят возможность другим Windows разработчикам, работающим на Windows 10 платформе, использовать все преимущества компонентов инструментария. Таким образом, новое имя привлечет всех Windows разработчиков.

Microsoft с энтузиазмом работает над следующим обновлением инструментария, которое планируется на конец мая. Работа над обновлением доступна для всех, и Microsoft приглашает всех разработчиков принять участие и внести свой вклад. Чтобы начать работу с самым грандиозным обновлением уже сегодня, посетите GitHub репозиторий и погрузитесь в код. Или, если Вы предпочитаете работать с NuGet пакетами, они будут опубликованы для предварительного просмотра в NuGet перед конференцией Microsoft Build. Microsoft будет обновлять документацию и пример приложения одновременно, пожалуйста, обратите внимание, что это пакеты предварительного выпуска, и они могут измениться в окончательной версии. 

Чтобы присоединиться к беседе в Twitter, используйте хэштег #windowstoolkit. Microsoft также будут рады видеть Вас на конференции Microsoft Build 2018!



Exception: Object reference not set to an instance of an object.
Posted on 26. April 2018

Windows Template Studio 2.0

Windows Template Studio обновлен к новой версии 2.0. Команда Microsoft с нетерпением ждет, когда Вы начнете создавать замечательные приложения, используя новую версию. Template Studio - это проект с открытым исходным кодом, главная цель которого - ускорить создание приложений с использованием передовых методов и надежной исходной базой кода.

Microsoft благодарны всем за участие в проекте, основанном на сообществах, огромным вкладам / партнерским отношениям, которые были осуществлены в течение прошедшего года с начала выпуска проекта.

Как получить обновление?

Есть две возможности обновления к новейшей сборке.

Уже установлено: Visual Studio автоматически обновляет расширение. Для принудительного обновления, откройте «Инструменты» -> «Расширения и обновления». Затем перейдите на вкладку слева «Обновление расширителя», и Вы увидите Windows Template Studio, после чего нажмите «Обновить».

Не установлено: Перейдите на https://aka.ms/wtsinstall, нажмите «загрузить» и дважды щелкните по VSIX установщику.

Что нового?

Microsoft много работали над улучшением пользовательского интерфейса и уверены, что теперь проект доступен для всех разработчиков.  Благодаря партнерству с командой Visual Studio был значительно улучшен интерфейс, что сделало его еще быстрее и доступнее. Также был улучшен процесс обновления шаблонов, фактические шаблоны и многое другое. Теперь Wizard может распознавать темные, светлые и высококонтрастные режимы Visual Studio.

К тому же, после того, как будет выпущено следующее Windows 10 обновление, будет добавлен навигационный контроль (NavigationView) для платформы UWP Community Toolkit с потрясающим гамбургер меню контролем, который обеспечит удобный переход между классической и контрольной платформами. На данный момент Microsoft работает над документацией, чтобы упростить переход между существующим контролем и новой платформой.

Документация 

Microsoft активно улучшает документацию. В будущем большинство документаций будут перенесены на docs.microsoft.com, которые охватят шаблоны и будут использовать актуальный wizard. Документация, которая останется на WTS GitHub, будет относиться к документации по модификации движка или созданию шаблонов для использования wizard. 

Будущее развитие, обновление и взаимодействие с сообществом

Двигаясь вперед, Microsoft продолжит улучшать и добавлять новые функции и шаблоны.
Большинство самых значимых пожеланий, замечаний об ошибках и лучших идей было предоставлено вами, участниками сообщества. Команда WTS чрезвычайно рада тому, что была частью этого проекта и благодарна всем, кто подал заявку и проявил участие. Если у Вас есть ошибки или идеи по добавлению новых функций, пожалуйста, отправьте Ваш запрос на GitHub --> https://aka.ms/wts 

Анонс в блоге команды Майкрософт


Exception: Object reference not set to an instance of an object.
Posted on 27. February 2018

Новые направления и обновления в рекламной монетизации

Microsoft объявляет о новой политике в области эксплуатации рекламных блоков, обновлении пользовательского опыта для управления активными / неактивными рекламными блоками, политики в области включения рекламной сети по умолчанию и изменениях методологии показа объявлений в Windows приложениях. Если Вы используете объявления в Вашем Windows приложении с помощью Microsoft Advertising SDK (UWP или 8.x приложений), новая политика монетизации может принести Вам ущерб.

1) Автоматическое включение новых рекламных сетей для ручных рекламных блоков в UWP приложениях

Microsoft продолжает оценивать и внедрять новые рекламные сети для повышения доходности и предлагает более широкий спектр спроса для разработчиков (форматы, конкретные рынки спроса). Когда Microsoft добавили новую рекламную сеть в систему, рекламные UWP блоки, настроенные с параметром «Ручная настройка», не пользуются этими сетями, так как они автоматически не включены для ручных рекламных блоков. В будущем будут добавлены изменения для включения всех рекламных сетей по умолчанию для всех рекламных UWP блоков независимо от ручной или автоматической конфигурации. Для рекламных блоков с ручными настройками эти рекламные сети будут добавлены в конец каскадного заказа, поскольку каскадная конфигурация рекламной сети определяется владельцем приложения. Затем владелец может внести необходимые изменения, чтобы изменить порядок или отказаться от рекламных сетей по мере необходимости. Рекомендация Microsoft состоит в том, чтобы выбирать «Автоматическую» конфигурацию рекламного блока, чтобы максимально использовать возможности увеличения доходности.

2) Обновления политики при прекращении эксплуатации рекламных блоков

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

Наряду с этим объявлением политики, Microsoft вносит изменения в панель инструментов Windows Dev Center, чтобы упростить просмотр активных и неактивных рекламных блоков. Состояние рекламного блока идентифицируется в отдельном столбце; кроме того, Вы можете выбрать только активные или только неактивные рекламные блоки, поставив соответствующий фильтр в верхней части страницы.

3) Переход на стандартное измерение показа объявлений

Стандартное измерение показа объявлений требует, чтобы «объявление было загруженным и, как минимум, уже начало воспроизводиться», в таком случае оно будет считаться действительным. Для рекламных сетей, которые полагаются на другие методы, такие как подсчет показов на основе сервера, Microsoft вносит изменения в постепенную миграцию всех рекламных блоков для Windows приложений ближе к стандартным измерениям. Более конкретно, подсчет показов будет опираться на такие методы, как запуск маяка показа рекламной сети, после показа объявления пользователю. Это делается для того, чтобы лучше придерживаться IAB стандартов при подсчете показа объявлений и быть справедливыми по отношению к рекламодателям. Это также принесет пользу приложениям, которые стремятся сделать все правильно, убедившись, что объявления отображаются пользователям и доступны для просмотра.

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

Если у Вас есть вопросы или комментарии, пишите по этому адресу aiacare@microsoft.com Спасибо!



Exception: Object reference not set to an instance of an object.