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.
Posted on 12. February 2018

Новая Функция: свободная форма оплаты в Dev Center

Новая Функция: свободная форма оплаты в Dev Center

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

Каждый знает, что число 7 – счастливое число. Привлекайте удачу и меняйте цену Вашей игры в США до 7,77 USD. Хотите добавить специальное дополнение ко дню холостяков в Китае? Вы можете установить китайскую цену для Вашего дополнительного товара в CNY ¥ 11.11.

Возможности ценообразования бесконечны, в пределах такого же допустимого диапазона, как и уровни цен (0,99-1,999,99 USD). Обратите внимание, что цена свободной формы может использоваться только для переопределения базовой цены на одном рынке. (Для групп рынков Вы все равно можете переопределить базовую цену, но уже другим ценовым уровнем).

Использование свободных форм ценообразования

Начните с раздела «Цены» на странице «Цены и доступность Вашего продукта в Dev Center». Находясь на этой странице, Вы можете использовать функцию ценообразования свободной формы в 2 простых шага:

1) Выберите рынок, для которого Вы хотите изменить базовую цену с помощью новой формы ценообразования

  • Нажмите «Выбрать рынки для изменения базовой цены», выберите нужный рынок и нажмите «Создать».

2) Отмените базовую цену

  • В выпадающем меню выберите «Свободная форма» и введите Вашу новую цену.

  • Введенная в свободной форме цена должна находиться в допустимом диапазоне (например, в долларах США диапазон составляет 0,99 - 1,999,99 USD) и должен быть в правильном формате этой валюты. Предупреждения о валидации предупреждают Вас о любых ошибках в Вашей заполненной форме.

Это так просто! Для изучения подробной документации, перейдите на эту страницу.



Exception: Object reference not set to an instance of an object.
Posted on 31. January 2018

Target Surface Hub и Windows 10 S с процессором Snapdragon для Ваших UWP приложений

Когда Вы отправляете Ваше UWP приложение или игру на сертификацию в Microsoft Store через Dev Center, у Вас есть возможность, выбирать семейства устройств, на которые пользователи могут устанавливать Ваше приложение. Приложение или игра будут доступны для всех поддерживаемых семейств устройств по умолчанию (кроме Xbox, где Вы можете выбирать по желанию, если это поддерживается Вашими пакетами). Это позволяет Вашим приложениям и играм увеличивать количество потенциальных клиентов. 

Недавно Microsoft добавили новые опции, которые позволяют публиковать продукты на Surface Hub. Теперь Вы можете предлагать ARM пакеты для Windows 10 S на процессоре Snapdragon категории постоянно подключенных ПК (Always Connected PCs).

Чтобы настроить Surface Hub при отправке Вашего UWP приложения в Microsoft Store, убедитесь, что присутствует флажок для семейства устройств Windows 10 Team. Обычно это происходит, если Вы загружаете пакеты, ориентированные на Universal или Team семейства устройств.

Если Вы включаете ARM пакет в Ваше приложение, предназначенное для универсального или настольного устройства, этот пакет будет доступен для Windows 10 S устройств на Snapdragon процессоре (постоянно подключенных ПК) до тех пор, пока проверяется семейство Windows 10 Desktop устройств.

В приведенном выше примере показаны три пакета, предназначенные для универсального семейства устройств x64, ARM и x86. Выбраны колонки для Windows 10 Desktop, Windows 10 Mobile, Windows 10 Xbox, Windows 10 Team и Windows 10 Holographic. Это означает, что клиенты могут устанавливать Ваш продукт на любое из этих типов устройств.

Дополнительную информацию о выборе семейства устройств смотрите в этой документации.

Упаковка и тестирование приложений

Пакеты приложений настроены для работы на определенной архитектуре процессора. Команда Microsoft настоятельно рекомендует собирать пакеты Ваших приложений для всех архитектур, чтобы Ваше приложение работало бесперебойно на всех типах Windows 10 устройств. Чтобы узнать больше, ознакомьтесь с документацией по архитектуре пакета приложений.

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



Exception: Object reference not set to an instance of an object.
Posted on 25. January 2018

Windows Desktop Program для Desktop Application Analytics

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

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

После регистрации в программе Windows Desktop Application Program и регистрации Ваших сертификатов, Вы сможете использовать аналитические отчеты для:

  • Просмотра общей суммы всех типов сбоев, отсортированных по количеству падений
  • Изучения каждого сбоя, загрузки трассировки стека и CAB файлов для быстрой отладки проблемы
  • Сравнения состояния работоспособности и принятие недавно выпущенной версии Вашего приложения к предыдущим выпускам
  • Просмотра данных о работоспособности в целом или по регионам, что позволит устранять проблемы, характерные для региона
  • Сравнения производительности и принятие настольных приложений разными Windows версиями, такими как последние версии Windows 10 или Windows Insider.

 

Для просмотра аналитики Ваших приложений:
  1. Зарегистрируйтесь в приложении Windows Desktop Application Program. Если у Вас уже есть учетная запись в Windows Dev Center, Вы можете открыть эту программу на странице «Программы» в настройках Учетной записи. В противном случае Вы можете зарегистрироваться здесь.
  2. Следуйте инструкциям по загрузке неподписанного файла, привяжите его к тому же сертификату подписи кода, который использует Ваша компания для подписания настольных приложений, и затем загрузите вновь подписанный файл через портал.
  3. Вуаля! Microsoft возьмет подписанный файл, который Вы только что загрузили, и сопоставит его с телеметрией, которая собирается во всех приложениях с тем же сертификатом, чтобы показать Вам данные Вашей аналитики. Чтобы узнать больше, ознакомьтесь с данной документацией.

Чтобы узнать больше о программе Windows Desktop Application Program, ознакомьтесь с одним из видео выпусков Microsoft Windows Developer.



Exception: Object reference not set to an instance of an object.
Posted on 6. December 2017

Visual Studio Application Packaging Project

Visual Studio 2017 15.4 представил новый проект Windows Application Packaging, который поможет Вам модернизировать Ваше приложение с помощью нового стека развертывания Windows 10 приложений (Windows 10 App Deployment Stack).

Microsoft рассказывали об этом в предыдущей статье: Visual Studio 2017 Update 4 упрощает модернизацию Вашего приложения и делает его готовым к публикации, и сегодня Microsoft представит Вам новые возможности Visual Studio 2017 15.5, которые позволяют создавать новые сценарии для проекта упаковки Windows приложений с использованием всех преимуществ Windows 10 функций в Ваших приложениях.

В этой статье будут рассматриватся три примера, которые подчеркнут новые возможности, добавленные в проект упаковки, чтобы обеспечить упаковку не только для Win32 приложений, но и для приложений и UWP компонентов:

  1. Фоновое выполнение с использованием фоновых задач UWP.
  2. Интеграция Windows Shell с использованием соглашения о совместном использовании.
  3. Добавление инвестиций Win32 кода в пакеты UWP приложений.

Первые два примера это уже существующие WPF приложения, упакованные как APPX с расширенным функционалом, который реализован как UWP компоненты. Первое приложение добавляет фоновое исполнение на основе фоновых UWP задач, а второе приложение показывает, как активно внедрять приложение с Windows 10 оболочкой, используя функцию в виде соглашения о совместном использовании (Share contracts). В заключение, последнее приложение - это точка входа в UWP, вызывающая классический Win32 процесс, который взаимодействует с Excel.

Обратите внимание: Поскольку UWP компоненты необходимо скомпилировать для определенной платформы: x86 или x64, конфигурация любого конфигурационного решения для любого процессора не будет работать ни в одном из этих образцов.

Все образцы доступны в отчетах на GitHub, разделе Windows-Packaging-Samples. Для этих образцов требуется Visual Studio 2017 15.5 Preview 4 или выше, доступный для загрузки с https://www.visualstudio.com/downloads.

  1. WPF с Фоновыми Задачами

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

Чтобы показать, как использовать эту функцию в Ваших Win32 приложениях, Microsoft собирается реализовать небольшую утилиту, которая сделает HTTP-запрос к URL-адресу, настроенному пользователем, и покажет прошедшие миллисекунды в всплывающих уведомлениях (Toast Notification).

Microsoft создадаст WPF приложение, чтобы пользователь мог указывать URL-адрес для проверки и включения / выключения фоновых задач. Фоновая задача будет реализована как Windows Runtime Component (WINMD). Чтобы включить этот компонент в пакет, нужно создать UWP приложение, которое использует этот компонент, и, наконец, добавить WPF и UWP проекты в качестве ссылок на проект упаковки. Ниже приведен список необходимых шагов.

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

  1. Упакуйте Ваше настольное приложение, используя проект упаковки
  2. Добавьте Runtime Windows компонент для выполнения фоновой задачи
  3. Добавьте UWP приложение, которое ссылается на компонент времени выполнения
  4. Добавить ссылку на UWP приложение из проекта упаковки
  5. Настройте Фоновую задачу в манифесте
  6. Зарегистрируйте фоновую задачу из Настольного приложения

После завершения 1-4 шагов, у Вас должно быть решение для проектов, как показано на рисунке ниже:

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

Реализация Фоновых Задач

Фоновая задача - это класс C#, который реализует интерфейс IBackgroundTask. Этот интерфейс определяет Run метод, который будет вызываться, когда система запустит задачу.

public sealed class SiteVerifier : IBackgroundTask
{
    public async void Run(IBackgroundTaskInstance taskInstance)
    {
 
        taskInstance.Canceled += TaskInstance_Canceled;
        BackgroundTaskDeferral deferral = taskInstance.GetDeferral();
        var msg = await MeasureRequestTime();
        ShowToast(msg);
        deferral.Complete();
    }
 
    private async Task MeasureRequestTime()
    {
        string msg;
        try
        {
            var url = ApplicationData.Current.LocalSettings.Values["UrlToVerify"] as string;
            var http = new HttpClient();
            Stopwatch clock = Stopwatch.StartNew();
            var response = await http.GetAsync(new Uri(url));
            response.EnsureSuccessStatusCode();
            var elapsed = clock.ElapsedMilliseconds;
            clock.Stop();
            msg = $"{url} took {elapsed.ToString()} ms";
        }
        catch (Exception ex)
        {
            msg = ex.Message;
        }
        return msg;
}

 

Обратите внимание, как используется LocalSettings в ApplicationData для обмена информацией между WPF приложением и фоновой UWP задачей.

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

Для регистрации фоновой задачи в системе, Вам нужно вызвать Windows 10 API из WPF приложения. Этот API доступен в Windows 10 SDK, и для его использования с .NET необходимо добавить ссылки, объясненные здесь. После того, как Вы получили доступ к Windows 10 API, Вы можете использовать класс BackgroundTaskRegistration для настройки фоновой задачи, как показано в приведенном ниже коде:

 

public void RegisterBackgroundTask(String triggerName)
{
    var current = BackgroundTaskRegistration.AllTasks
        .Where(b => b.Value.Name == triggerName).FirstOrDefault().Value;
 
    if (current is null)
    {
        BackgroundTaskBuilder builder = new BackgroundTaskBuilder();
        builder.Name = triggerName;
        builder.SetTrigger(new MaintenanceTrigger(15, false));
        builder.TaskEntryPoint = "HttpPing.SiteVerifier";
        builder.Register();
        System.Diagnostics.Debug.WriteLine("BGTask registered:" + triggerName);
    }
    else
    {
        System.Diagnostics.Debug.WriteLine("Task already:" + triggerName);
    }
}

 

Для регистрирации фоновой задачи, убедитесь, что задача не была зарегистрирована ранее, а затем используйте BackgroundTaskBuilder для настройки имени и Триггера, в этом случае используется MainteinanceTrigger.

2. Зарегистрируйте Ваше приложение в качестве Share Target

Совместные контракты - это Windows 10 функция, которая позволяет осуществлять обмен информацией между двумя приложениями, отправителем и получателем. Благодаря Desktop Bridge, Вы можете зарегистрировать UWP приложение в качестве общего получателя, а затем интегрировать с Win32 приложением. После регистрации приложения, оно будет отображаться каждый раз, когда пользователь вызывает функцию совместного использования, как показано ниже:

В этом примере, WPF приложение расширяется с добавлением функции совместного использования, где пользователи могут отправлять изображения из других приложений, таких как Photos, Edge, Shell в наше WPF приложение. Microsoft использует проект упаковки, который включает не только WPF, но и UWP приложение, которое позволяет UWP-интерфейсу получать контент из целевого ресурса. Ниже Вы можете увидеть исследователь решений с проектом упаковки, ссылающимся на WPF и UWP проекты.

Пакет должен обозначить цель о совместном использовании (Share Target), включая имя UWP приложения:

При активации, приложение получает информацию о целевом ресурсе из параметра ShareOperation. Ниже приведен пример фрагмента кода:

protected async override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    operation = (ShareOperation)e.Parameter;
    if (operation.Data.Contains(StandardDataFormats.StorageItems))
    {
        var items = await operation.Data.GetStorageItemsAsync();
        file = items[0] as StorageFile;
        IRandomAccessStreamWithContentType stream = await file.OpenReadAsync();
 
        await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
        {
            BitmapImage image = new BitmapImage();
            this.img.Source = image;
            await image.SetSourceAsync(stream);
        });
    }
}

 

Теперь каждый раз, когда пользователь делится изображением и выбирает данное приложение, запускается Share UI приложение и затем отображается UWP-интерфейс.

После нажатия кнопки «Поделиться в WPF приложение», UWP вызывает обработчик событий и копирует изображение в папку ApplicationData, и затем запускает Win32 приложение с помощью FullTrustProcessLauncher.

private async void ShareBtn_Click(object sender, RoutedEventArgs e)
{
    await file.CopyAsync(ApplicationData.Current.LocalFolder);
    operation.ReportCompleted();
    await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();
}

Для использования FullTrustProcessLauncher, применяется Desktop расширение для UWP, это расширение доступно в виде SDK ссылки, которая доступна в диалоговом окне UWP приложения «Add References»:

И, наконец, зарегистрируйте настольное расширение и целевой выполняемый файл в манифесте:

 

<... >

 

3. Добавьте Office взаимодействие из UWP приложения

Одной из ключевых особенностей Desktop Bridge является возможность добавлять исполняемые Win32 файлы в Ваш пакет приложений и запускать их как цельный процесс из UWP приложения. Теперь, с проектом Windows Application Packaging, Вы можете создавать пакеты, содержащие двоичные UWP, так и Win32 файлы.

Дополнительно к диспетчеру процессов, есть расширение App Service, которое поможет Вам установить канал связи между Вашим UWP приложением и Win32 процессом.

В этом примере показан способ добавления Win32 процесса (приложение командной строки) для управления Excel листом с использованием офисного взаимодействия.

Microsoft начинает с UWP приложения, которое использует сетку данных Telerik для отображения некоторых табличных данных, также будет добавлена  кнопка для экспорта одних и тех же данных в Excel, как показано ниже:

Исследователь решений этого примера очень похож на предыдущий пример с тремя проектами в решении: UWP приложение, командная Win32 строка и проект упаковки со ссылкой на оба проекта. Тем не менее, обратите внимание, что в этом случае точкой входа приложения (выделенной жирным шрифтом) является UWP проект:

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

Для открытия канала связи в Win32 процессе, добавьте ссылку на Windows API, как описано здесь:

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

 

Connection = new AppServiceConnection();
connection.AppServiceName = "ExcelInteropService";
connection.PackageFamilyName = Windows.ApplicationModel.Package.Current.Id.FamilyName;
connection.RequestReceived += Connection_RequestReceived;
connection.ServiceClosed += Connection_ServiceClosed;

 

Заключая данную статью

Новые функции, добавленные в проект упаковки в Visual Studio 2017, помогут Вам модернизировать существующие настольные приложения для получения максимального результата от UWP и Win32 в одном пакете. Этот новый проект поможет Вам настроить Ваш пакет с помощью конструктора манифеста, отладить Ваше приложение в контексте Desktop Bridge и, наконец, поможет подготовить пакеты для отправки в Microsoft Store или на другие ресурсы. Для получения дополнительной информации изучите:

 



Exception: Object reference not set to an instance of an object.
Posted on 20. October 2017

Windows 10 IoT предоставляет полный жизненный цикл IoT

Команда Microsoft выпустила общедоступный предварительный просмотр Azure IoT Hub Device Provisioning Service (Службу подготовки устройств для Центра Интернета вещей Azure). Device Provisioning Service - это новая служба, которая работает с Azure IoT концентратором для включения настройки устройства с нулевым прикосновением в IoT концентратор. Используя эту службу, устройства могут быть созданы с общим изображением, а при первоначальной загрузке в поле Device Provisioning Service автоматически будет предоставляться информация о конкретном устройстве, в том числе правильное местоположение и идентификатор Azure IoT концентратора, где устройство может быть дополнительно подготовлено и настроено с помощью управления устройствами Azure. Служба Device Provisioning Service предназначена для поддержки высоких объемов устройств, обеспечивая надежную и масштабируемую передачу миллионов устройств, автоматизируя то, что исторически было сложным и трудоемким процессом для клиентов, управляющих большими объемами подключенных IoT устройств. Подробнее о Настройке устройств для подготовки с помощью службы подготовки устройств для Центра Интернета вещей можно почитать в этом блог посте и в центре документации по настройке устройств.

Служба Azure IoT Hub Device Provisioning Service отлично работает со сценариями и функциями Windows 10 IoT устройств. Наряду с общедоступным предварительным просмотром службы Device Provisioning Service команда Microsoft также предоставляет источники для Windows 10 IoT пользователей, которые реализуют клиентскую службу с требуемой функциональностью, чтобы быстро подключить устройство для использования службы Device Provisioning Service, требующей минимальных сведений о конфигурации. При использовании в сочетании с существующим Windows 10 IoT Azure Device Management клиентом, создается полное решение по обеспечению и управлению устройствами, охватывающее все жизненные потребности IoT устройств.

Клиент инициализации Windows 10 IoT устройств предоставляется как источник, который может использоваться в качестве обеспечения базовой функциональности сценария или настраиваться по необходимости. Для осуществления предусмотренного требуется поддерживаемый Windows 10 IoT TPM, который используется для безопасного хранения информации об идентификаторе и аутентификации устройства. Идентичная информация о конфигурации используется как при настройке устройства, так и для клиентских образцов управления устройством, что позволяет взаимодействовать друг с другом.

Документация по службе подготовки устройств для Центра Интернета вещей Azure расположена на https://github.com/ms-iot/iot-azure-dps-client, включая пошаговый процесс создания и использования клиентского сервиса с помощью Предварительного просмотра Azure IoT Device Provisioning Service.

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



Exception: Object reference not set to an instance of an object.
Posted on 14. October 2017

Новые функции управления картами в Windows 10 Fall Creators Update

Команда разработчиков приложения Maps усердно работала над улучшением и добавлением новых функций для Maps платформы в Windows 10 Fall Creators Update. В дополнение к производительности и визуальным 3D улучшениям были добавлены, предложенные пользователями, функции, такие как возможность импорта 3D-моделей на карту и поддержка слоев и объединения элементов на карте. Также был улучшен API-интерфейс, чтобы пользователи могли указывать стили базовой карты и визуальные эффекты для добавленных на карту элементов. И вот, добавлена API функция для мест, чтобы просматривать соответствующую информацию о месте прямо в текущем контексте приложения.

Ознакомьтесь с основными улучшениями ниже и поддержите сообщество Maps хорошим отзывом!

3D-Здания

Возможно, Вы помните, что в предыдущем выпуске отсутствовали 3D-Здания. В этом обновлении команда Maps приложила все усилия для их возвращения (и улучшила те, которые не выглядели правильно). Следите за улучшениями 3D-зданий в ближайшие несколько месяцев!

3D-Объекты

Также был добавлен новый MapElement, под названием MapElement3D. Вместе с MapModel3D новый API можно использовать для удобного импорта и отображения 3D-объектов. Только представьте фантастические 3D шпили, машины, самолеты и многое другое. Ваши возможности бесконечны!

Вот несколько отличных MapElement3D примеров, отображающих 3D-модели в определенном месте, ориентации и масштабах на Windows 10 Map Control:

Аватары

Машины

Облака

API Наслоения Карт

Также был добавлен новый MapLayer класс, первым источником которого является MapElementsLayer. В отличие от уже существующего API MapControl.MapElements, он может использоваться для управления группами элементов независимо как единое целое или для выполнения совместной цели.

Прикрепляйте Ваши данные к карте с помощью MapControl.Layers

Вы можете привязывать элементы на карте к собственным коллекциям бизнес-объектов с помощью API Map Control.Layers.

Смотрите: Как искать интересующие Вас объекты на карте.

API Расширения Моделирования Карт

На данный момент расширяется текущий набор API-интерфейсов для компоновки карт на Windows 10 Map Control. В предыдущем выпуске были добавлены API MapStylesheet, чтобы Вы могли динамично изменять внешний вид карты в режиме реального времени. В этом выпуске команда Maps добавляет поддержку двух новых свойств в MapElement: MapStyleSheetEntry и MapStyleSheetEntryState, которые могут использоваться для более обширной настройки внешнего вида элементов на Вашей карте с помощью одного из элементов по умолчанию.

Смотрите также: Как настроить Ваши элементы на карте.

Ниже приведены примеры настроек, которые могут взаимодействовать с элементами на карте с помощью новых расширений стилей в Windows 10 Map Control:

Лучшая интеграция Ваших элементов с базоваой картой с помощью MapStyleSheetEntry

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

Логотип Bing визуализируется с помощью Windows 10 Map Control путем изменения полигона MapStyleSheetEntry на свойство Water.

Реализация структуры Ваших элементов на карте с помощью MapStyleSheetEntryState

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

Bellevue Square, City Center и Meydenbauer POIs отображаются с помощью Windows 10 Map Control, переопределяя масштаб уже существующей UserPoint позиции и изменяя свойство MapStyleSheetEntryState значка карты в пользовательское состояние, которое расширяет существующие состояния позиций Hover и Selected.

Информация о месте

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

https://github.com/Microsoft/Windows-universal-samples/tree/dev/Samples/MapControl

API Обновления и Дополнения

Ниже Вы можете ознакомиться со списком API, которые были добавлены в Windows 10 Creators Update:
Для получения дополнительной информации о всех новых API перейдите в MSDN.



Exception: Object reference not set to an instance of an object.
Posted on 4. September 2017

Лучшие рекомендации по использованию видеорекламы в Windows приложениях

Межстраничные видеоролики - это очень привлекательный вид рекламы, который при правильном использовании имеет более высокий потенциал монетизации по сравнению с традиционными видами объявлений. Промежуточные видеоролики, как правило, длятся от 15 до 60 секунд и занимают весь экран, вовлекая пользователя в рекламу бренда или приложения, а также приводят к значительно лучшим преобразованиям по сравнению со стандартными видами рекламы.

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

Рекомендуется:

  1. В Вашем приложении или игре должен быть определенный пользовательский интерфейс, где будут отображаться видеоролики. Поскольку видеореклама полностью накладывается на экран приложения, она должна использоваться с осторожностью и не должна прерывать пользователя во время игры или использования приложения. Типичные примеры использования межстраничных объявлений находятся между уровнями игры или при переходе на новую вкладку в приложении.
  2. Установите «Автоматическую» конфигурацию рекламного блока. Это позволит Microsoft определять лучшую последовательность рекламных блоков для каждого входящего запроса объявлений, предоставляя разработчикам максимальный потенциал дохода от приложений.
  3. Поддерживайте эффективную видимость видеообъявлений. СМИ Рейтинги определяют эффективную рекламную видимость как: «Не менее 50% пикселей в рекламе находятся на вкладке браузера в фокусе видимого пространства страницы браузера; требование пикселя выполняется в течение как минимум двух или более непрерывных секунд в любой точке рекламы». Для лучшей доходности и предотвращения мошенничества многие рекламодатели платят только тогда, когда впечатление от просмотра действительно эффективное. Убедитесь, что, когда Вы показываете видеоорекламу в Вашем приложении, она воспроизводится полностью и не заслоняется другим экраном в приложении.

 

Не рекомендуется:
  1. Предварительное кэширование на длительный период. Объявление от того же рекламного провайдера, доступное в данный момент, может быть недоступно уже через несколько секунд. Учитывая это, разработчики приложений должны свести к минимуму предварительную выборку объявлений до менее чем 8 секунд, прежде чем они будут готовы к добавлению рекламы в приложение.
  2. Повторять несколько одинаковых запросов. В случае отсутствия ответа на объявление, разработчик не должен постоянно добавлять по несколько рекламных запросов. При запуске нескольких запросов и отсутствии показа рекламы, рекламный блок становится все более низкого качества, что еще больше снижает вероятность получения рекламы в будущем. Сделайте следующий запрос только в том случае, если он будет на ровне с пользовательским потоком в приложении или игре, и Вы будете снова готовы показать объявление.
Microsoft тесно сотрудничает с многими рекламными сетями, чтобы предоставить лучший спрос на Windows приложения и повысить уровень рейтингов и монетизацию для разработчиков. Чтобы узнать больше о добавлении видеообъявлений в Ваши приложения, прочитайте эту статью. Спасибо, что Вы с нами!



Exception: Object reference not set to an instance of an object.
Posted on 2. September 2017

Cognitive Toolkit Model Evaluation для UWP

Microsoft Cognitive Toolkit (CNTK) 2.1 добавила поддержку оценки образцов для UWP приложений. Это означает, что Вы можете оценивать продуктивность Ваших Windows приложений, опубликованных в Windows Store! В этом блоге Вы узнаете, как можно внедрить AI продуктивность в Ваши приложения.

Цикл целенаправленного интеллекта

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

Microsoft ссылается на устройства с нетривиальной вычислительной продуктивностью, которые находятся ближе к источнику данных (таких как устройства «интеллектуальной грани»). Устройства интеллектуальной грани могут сильно отличаться в зависимости от сценария, как показано на рисунке ниже.

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

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

Пример классификации изображений

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

Код для всей системы доступен в CNTK Github реестре.

В настоящее время поддерживаются только C++ CNTK UWP. Однако образец демонстрирует, как решение UWP на основе C# может выполнять оценку модели, ссылаясь на WinRT библиотеку, которая обертывает UWP-совместимые CNTK компоненты, доступные на NuGet.

packages.config определяет NuGet пакеты, используемые библиотекой, и указывает на UWP-совместимый пакет:

 



  

 

Этот NuGet пакет предоставляет UWP-совместимые CNTK компоненты, включая математическую библиотеку OpenBLAS, для оценки модели на основе ЦП. ImageRecognizerLib предоставляет методы Create и RecognizeObjectAsync, используемые для загрузки предварительно обученной модели CNTK и классифицирует указанный вход изображения как множество байтов.

Остальная часть решения представляет собой несколько простых элементов XAML интерфейса для принятия ввода от пользователя. Вот краткое изображение приложения в действии:


Теперь Вы знаете, как использовать недавно добавленную поддержку UWP в CNTK для обеспечения следующего уровня "интеллекта" для Windows приложений. Команда Microsoft ждет новых результатов и потрясающих приложений, разработанных с помощью этой технологии!



Exception: Object reference not set to an instance of an object.
Posted on 16. August 2017

Новые инструменты в Windows Device Portal для Windows 10 Fall Creators Update

Device Portal в Windows 10 Fall Creators Update теперь предлагает несколько новых инструментов для Windows платформы, чтобы помочь Вам провести локальную проверку Вашего UWP, изучить возможности Mixed Reality, создать новое аппаратно-программное оборудование и протестировать новую систему для установки Вашего приложения. В этой статье мы расскажем Вам больше об этих возможностях!

Если Вы не знакомы с Device Portal, Вы можете ознакомиться с его особенностями на Device Portal, или просмотреть новый docs.microsoft.com, чтобы узнать, как его настроить.

Все эти инструменты поддерживаются REST API, поэтому Вы можете использовать его из сценариев или клиентских приложений с помощью Device Portal Wrapper.

Тестирование на основе местоположения

У большинства из нас нет возможности для тестирования приложений по всему миру, но теперь этому есть решение! Инструмент «Местоположения» в Device Portal позволяет легко изменять местоположение, которое Windows привязывает к приложениям. Выбрав «Переопределить», Вы можете изменить местоположение устройства на все, что Вы установили, используя текстовые поля или карты. Обязательно уберите галочку, когда закончите, чтобы Ваше местоположение (и часовой пояс) вернулись в реальную геолокацию...

Рисунок 1: Приложение News актуально и соответсвует местным заголовкам!

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

Примечания о том, что этот инструмент может и не может сделать:
  • Он не именяет локацию вашего ПК! Таким образом, приложение News все еще видит местоположение пользователя EN-US в середине Италии. 
  • Вы можете не видеть все приложения, использующие это местоположение. Некоторые программы не используют Windows API для определения местоположения или имеют специальную логику (например, используя Ваш IP-адрес) для определения Вашего местоположения.
  • Этот инструмент отмечает PositionSource для местоположения данных как «Default». Некоторые приложения могут проверять источник и изменять их поведение на его основе.
USB диагностика

USB диагностика распространяется на всех пользователей аппаратного обеспечения - если Вы уже знакомы с «HLK» или «WDK», это будет очень удобно. USB команда обновила инструмент USBView для работы внутри Device Portal, поэтому разработчики, работающие на новом оборудовании, будут иметь больше возможностей.

Инструмент USB Devices может оказаться немного сложным - для начала, откройте меню в правом верхнем углу и перейдите к разделу «Добавить инструменты в рабочую область». Прокрутите страницу вниз и проверьте раздел «USB-устройства», а затем нажмите «Добавить». В результате, Вы получите полный обзор Ваших USB-узлов, контроллеров и периферийных устройств. Узлы и контроллеры расширяются, чтобы показать отдельные устройства, используя значок + (плюс), и при нажатии на механизм, он будет расширяться, чтобы показать свойства всех элементов.

Инструмент Streaming Install Debugger

Windows 10 Creators Update добавил «потоковую установку» для UWP, которая позволяет пользователю запускать приложение перед его окончательной загрузкой. Для легкой проверки данной функции, команда App Model добавила инструмент Streaming Install Debugger в Device Portal. Чтобы использовать его, разверните приложение с группами контента на Вашем устройстве, а затем откройте Streaming Install Debugger. В нем Вы сможете редактировать состояния групп контента. Для того, чтобы Вы могли протестировать работу Ваших приложений, происходит имитация потоковой установки, и Вы можете удостовериться, что все действия правильно выполняются при отсутствии групп контента.


Для получения дополнительной информации ознакомьтесь с блогом Andy Liu, где рассказывается о новых инструментах App Installer и Streaming Install Debugger.

Mixed Reality (Смешанная реальность)

Одним из прорывов в обновлении Fall Creators Update является добавление поддержки Mixed Reality на Windows Desktop. В рамках этой версии Microsoft включает набор инструментов, помогающих разработчикам создавать потрясающие приложения для Mixed Reality. Два из этих инструментов - 3D View и Framerate counter - уже могут быть знакомы для HoloLens разработчиков. Также добавлен новый вариант запуска приложения, который появляется, когда у Вас установлена необходимая гарнитура для запуска Вашего приложения в Mixed Reality.

Частота смены кадров - важный фактор при создании удобных приложений для смешанной реальности, и разработчикам необходимо оптимизировать производительность, чтобы достичь абсолютной частоты смены кадров в системах, которые они поддерживают. Инструмент Frame Rate в Device Portal помогает, показывая разработчикам как частоту смены кадров их приложения, так и компоновщика системы.

 

3D View помогает при тестировании гарнитуры с эффектом погружения в среду и с реальным миром, отображая его положение, когда оно перемещается по пространству.

 

Что же хорошего в том, если Вы не можете запустить Ваше приложение, подключая гарнитуру с эффектом погружения в иную среду? Теперь, когда у Вас установлена встроенная гарнитура, инструмент «Installed Apps» добавит кнопку, позволяющую запустить приложение в HMD. Не смотря на то, что приложения с эффектом другой реальности всегда будут работать в Mixed Reality, эта новая кнопка также особенно полезна для 2D UWP приложений (или приложений, которые переключаются между 2D и иной реальностью), когда Вы хотите протестировать их в Mixed Reality. 

 

В завершение нашего поста, мы сообщаем, что команда Microsoft будет рады получить Ваши идеи по улучшению Device Portal, которые помогут разрабатывать или отлаживать приложения. Оставьте Ваш комментарий на UserVoice. Если Вы столкнулись со сбоями во время отправки Вашего отзыва, отправьте его через центр обратной связи "Feedback Hub".

Похожие посты:

Использование Device Portal для просмотра журналов отладки для UWP

Использование App File Explorer для просмотра данных Вашего приложения



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