Posted on 7. March 2019

Обновленное соглашение о разработке приложений для Microsoft Store: новая доля прибыли

 

5 марта команда Microsoft Store обновила Соглашение о разработке приложений для Microsoft Store (ADA). В следующий раз, когда Вы войдете в Вашу панель управления (Partner Center), Вам будет предложено повторно принять соглашение о разработке, прежде чем Вы сможете продолжить работу с панелью.

Обновленное соглашение содержит новую структуру платежей в Microsoft Store, которая обеспечивает до 95 процентов дохода для разработчиков потребительских приложений. Чтобы получить полный 95-процентный доход, обязательно указывайте СИД в Ваших ссылках трафика.

Когда Microsoft приносит Вам новых пользователей с помощью других методов (отслеживаемых по СИД), например, когда пользователь устанавливает Ваше приложение с коллекции Microsoft Store, с помощью поиска в Microsoft Store или с помощью любых других опций, принадлежащих Microsoft, Вы получите 85 процентов дохода от этой покупки.

Если покупка не содержит СИД-идентификатор, в случае установки приложения с помощью веб-поиска, Вы получаете 95-процентный доход.

Новая структура оплаты применяется к покупкам приложений на всех ПК под управленим Windows 10, Windows Mixed Reality, Мобильных и Surface Hub устройствах. Новая структура не относится ко всем играм и любым покупкам на Xbox консолях.

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

Источник



Exception: Object reference not set to an instance of an object.
Posted on 20. December 2018

Упаковка .NET Core приложения с помощью Desktop Bridge

Windows Desktop Bridge - это способ упаковки десктопных приложений для отправки в Microsoft Store или загрузки с любого ресурса. Это один из путей создания MSIX пакета. Вкратце: пользуйтесь им, как современным ClickOnce. Это формат упаковки с поддержкой автоматического обновления и пользователи уверены, что он не нанесет вред их системе и не загрязнит реестр.

Ранее Microsoft объявили о первых предварительных .NET Core 3 и Visual Studio 2019 версиях. Эти пробные варианты поддерживают создание графических ПК приложений с помощью .NET Core с использованием WPF и Windows Forms. Можно перенести существующее приложение из .NET Framework в .NET Core 3. Приложение, которое уже переключилось, – это NuGet Package Explorer; его открытый исходный код уже доступен на GitHub и служит отличным примером.

Если у Вас есть приложение, ориентированное на .NET Core 3, то у Вас могут возникнуть вопросы: «Как мне поделиться этим с моими пользователями?», «.NET Core 3 совершенно новый, у моих пользователей этого не будет!» «Мой IT-отдел не будет выпускать .NET Core 3 в течение года!»

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

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

Вначале

Вам понадобится Visual Studio 2017 15.9 или, еще лучше, новый выпуск Visual Studio 2019 Preview. В настройках обязательно выберите рабочую нагрузку UWP для установки инструментов проекта упаковки. Загрузите .NET Core 3 Preview и создайте в нем первое WPF .NET Core приложение.

Подробно

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

Здесь Вы можете ознакомиться с готовым продуктом. Различия, показывающие определенные изменения, здесь.

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

 

  1. Основной проект приложения, пример NetCoreDesktopBridgeApp.csproj.
  2. Проект упаковки, пример NetCoreDesktopBridgeApp.Package.wapproj.

 

Проект приложения

Начнем с основного проекта приложения, .csproj или .vbproj файла. Добавьте <RuntimeIdentifiers>win-x86</RuntimeIdentifiers> к первой <PropertyGroup>. Это гарантирует, что восстановление NuGet предоставит ресурсы, специфичные для среды выполнения, и поместит их в project.assets.json файл. Затем вставьте следующее:

 

<Target Name="__GetPublishItems" DependsOnTargets="ComputeFilesToPublish" Returns="@(_PublishItem)">
  <ItemGroup>
    <_PublishItem Include="@(ResolvedFileToPublish->'%(FullPath)')" TargetPath="%(ResolvedFileToPublish.RelativePath)" OutputGroup="__GetPublishItems"></_PublishItem>
    <_PublishItem Include="$(ProjectDepsFilePath)" TargetPath="$(ProjectDepsFileName)"></_PublishItem>
    <_PublishItem Include="$(ProjectRuntimeConfigFilePath)" TargetPath="$(ProjectRuntimeConfigFileName)"></_PublishItem>
  </ItemGroup>
</Target>

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

 

  
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>

    <!-- Use RuntimeIdentifiers so that the restore calculates things correctly
         We'll pass RuntimeIdentifier=win-x86 in the reference from the Packaging Project 
    -->
    <RuntimeIdentifiers>win-x86</RuntimeIdentifiers>
  </PropertyGroup>

  <!-- Add the results of the publish into the output for the package -->
  <Target Name="__GetPublishItems" DependsOnTargets="ComputeFilesToPublish" Returns="@(_PublishItem)">
    <ItemGroup>
      <_PublishItem Include="@(ResolvedFileToPublish->'%(FullPath)')" TargetPath="%(ResolvedFileToPublish.RelativePath)" OutputGroup="__GetPublishItems"></_PublishItem>
    <_PublishItem Include="$(ProjectDepsFilePath)" TargetPath="$(ProjectDepsFileName)"></_PublishItem>
    <_PublishItem Include="$(ProjectRuntimeConfigFilePath)" TargetPath="$(ProjectRuntimeConfigFileName)"></_PublishItem>
    </ItemGroup>
  </Target>
</Project>

Проект упаковки

Далее нужно добавить в (.wapproj) проект упаковки следующее, еще одно свойство:

<DebuggerType> CoreClr</ DebuggerType>

в <PropertyGroup>, которая включает DefaultLanguage и EntryPointProjectUniqueName. Так Visual Studio говорит применять .NET Core отладчик. Примечание: чтобы использовать этот параметр, после установки Вам, возможно, нужно будет разгрузить / перезагрузить проект для VS. Если после изменения этого свойства система выдаст странную ошибку отладки, перезапустите VS, загрузите решение, и все должно заработать.

 

Затем найдите <ProjectReference ... элемент. Если его нет, щелкните правой кнопкой мыши на Application node и добавьте ссылку на приложение в Ваш основной проект. Добавьте следующие атрибуты: SkipGetTargetFrameworkProperties = "true" Properties = "RuntimeIdentifier = win-x86; SelfContained = true". Полная ItemGroup должна выглядеть примерно так:

 

<ItemGroup>
  <!-- Added Properties to build the RID-specific version and be self-contained -->
  <ProjectReference
    Include="..\NetCoreDesktopBridgeApp\NetCoreDesktopBridgeApp.csproj"
    SkipGetTargetFrameworkProperties="true"
    Properties="RuntimeIdentifier=win-x86;SelfContained=true"></ProjectReference>
</ItemGroup>

 

Наконец, когда проект почти закончен, добавьте следующий фрагмент после строки <Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets"/>:

 

<!-- Additions for .NET Core 3 target -->
<PropertyGroup>
  <PackageOutputGroups>@(PackageOutputGroups);__GetPublishItems

 

В этом фрагменте измените NetCoreDesktopBridgeApp\NetCoreDesktopBridgeApp.exe, чтобы он соответствовал имени и исполняемому файлу Вашего основного проекта.

Обходное решение VCRedist

В качестве контрольной точки Вам нужно указать зависимость пакета от VCRedist в Package.appxmanifest файле. Добавьте в <Dependencies> элемент следующее:

<PackageDependency Publisher = "CN = Microsoft Corporation, O = Microsoft Corporation, L = Редмонд, S = Вашингтон, C = US" Имя = "Microsoft.VCLibs.140.00.UWPDesktop" MinVersion = "14.0.26905.0" />
. Когда пользователи установят Ваше приложение, Windows автоматически подтянет эту зависимость из хранилища.

 

Сборка и отладка

С указанными выше компонентами, Вы можете установить проект упаковки в качестве стартапа и выполнить отладку в обычном режиме. Он создаст программу и развернет его в локальном приложении. Выходные данные можно увидеть в bin\AnyCPU\<configuration>\AppX каталоге Вашего проекта упаковки. Он должен содержать больше файлов, чем в вашем главном приложении, поскольку в нем будет автономная .NET Core среда выполнения.

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

Развертывание приложения

Существует два основных варианта развертывания пакета:

 

  1. Загрузка с помощью AppInstaller файла. Это замена ClickOnce.
  2. Microsoft Store. Пакет может быть отправлен в Store для распространения.

 

Двойная загрузка

Начиная с Windows 10 1803, загруженные приложения могут автоматически обновляться с помощью .appinstaller файла. AppInstaller является альтернативой ClickOnce для большинства сценариев. В документации описывается, как создать этот файл при публикации и поместить его в UNC-путь, общую папку или HTTPS-папку.

Если Вы загружаете контент, то нужно использовать сертификат подписи кода, которому доверяют Ваши пользователи. Для предприятия это может быть документ внутреннего центра сертификации, для общественности он должно быть получен в государственном органе. У DigiCert есть отличное предложение для сертификатов подписи кода, $ 74 / год для обычного и $ 104 / год для EV по специальной ссылке. После получения сертификата Вам необходимо обновить Package.appxmanifest, чтобы использовать его. В данной статье нет информации об автоматической подписи кода, но Вы можете ознакомиться с проектом службы подписи кода здесь.

Microsoft Store

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

 

Источник



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 2. June 2018

Собственные объявления на Microsoft Ad Monetization платформе

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

Собственные объявления - это формат объявлений на основе компонентов, ориентированных на предоставление гибкости в размещении отдельных компонентов рекламы (текста, изображения, логотипа, описания, призыва к действию) чтобы обеспечить наилучшее соответствие внешнему и внутреннему виду приложения. Это позволяет разработчикам самостоятельно использовать шрифты, цвета и анимации для создания более естественного и менее навязчивого рекламного обращения в их приложениях. Для рекламодателей это также предоставляет прибыльные места размещения, поскольку естественная реклама плотно «встроена» в основной контент приложения, и пользователи более склонны к взаимодействию со спонсируемым контентом. Показатель кликабельности (CTR) у Собственной Рекламы, как правило, выше, чем у других объявлений, что приводит к лучшей монетизации по сравнению с традиционной рекламой, такой как Баннерные Объявления.

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

Что нового в Собственных объявлениях?

С момента выпуска пробной версии, Microsoft работали над повышением стабильности и улучшением опыта от собственных объявлений. Microsoft добавили несколько партнеров в программу собственных объявлений, таких как AppNexus, а также объявления для установки Microsoft приложений и Revcontent для обслуживания ресурсов собственного контента. По состоянию на текущий момент Microsoft активно работает над привлечением дополнительных партнеров, таких как MSN Content Recommendations и Taboola.

С чего начать?

 

Чтобы начать работу и включить собственные объявления в Ваших UWP приложениях, Вам нужно установить последнюю версию Microsoft Advertising SDK. Если Вы еще не работали с Microsoft Advertising SDK пакетом, ознакомьтесь с руководством по началу работы. Кроме того, пожалуйста, ознакомьтесь с нашим руководством и примером кода в MSDN, чтобы быстро включить собственные объявления в Вашем приложение.

Примеры интеграции собственных объявлений:

PicsArt, участник предварительного просмотра программы собственных объявлений, смог легко интегрировать собственные объявления в свое приложение «Photo Studio» и предоставить пользователям захватывающий опыт рекламы.

«Реализация собственных объявлений была гладкой и бесперебойной. Создание рекламного блока и его реализация были легкими благодаря обширной документации Microsoft» - PicsArt

Рисунок 1 Собственные объявления в приложении PicsArt «PicsArt Photo Studio»

Good2Create, еще один участник предварительного просмотра, добавил собственные объявления, которые прекрасно сочетаются с их приложением «Wallpaper Studio».

Рисунок 2 Собственные объявления в приложении Good2Create «Wallpaper Studio 10»

Что будет добавлено в будующих объявлениях?

Microsoft продолжит работать над улучшениями собственных объявлений с партнерами Native Ad Adwords, добавив еще больше для собственных объявлений и предложит расширенный творческий опыт, чтобы помочь разработчикам увеличить монетизацию собственных объявлений. Если у Вас есть какие-либо вопросы или комментарии, пожалуйста, напишите на ataiacare@microsoft.com.



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

Предварительный просмотр поддержки Visual Studio при ARM разработке на Windows 10

Microsoft рады сообщить, что Visual Studio 15.8 Preview 1 включает в себя предварительный просмотр SDK и инструменты, позволяющие создавать 64-разрядные ARM-приложения (ARM64). Эти инструменты помогут многим разработчикам и сделают следующий шаг в разработке для так называемых Always Connected PC под управлением Windows 10 на ARM.

В начале этого года партнеры Microsoft уже успели представить первые ПК из новой категории Always Connected PC с процессорами Qualcomm Snapdragon 835. Эти устройства обладают такими преимуществами как тонкость, легкость, быстрое, спроектированное и мгновенное 4G LTE подключение и продолжительность работы батареи питания, которая теперь измереятся не в часах, а в днях и неделях. Благодаря x86 уровню эмуляции эти компьютеры также позволяют использовать обширную экосистему и все Windows приложения.

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

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

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

В этой статье подробно рассматривается, как настроить среду для создания ARM64 приложений, независимо от того, создаете ли Вы Universal Windows Platform (UWP) или C ++ Win32 приложения.

Инструкции для создания UWP C ++ приложений

Чтобы начать создавать UWP ARM64 приложения на C ++ основе, настройте среду разработки:

1) Скачайте последнюю версию Visual Studio на https://www.visualstudio.com/vs/

2) Выберите нагрузку «Universal Windows Platform development»

3) Выберите опцию «C++ Universal Windows Platform tools»

4) В разделе «Отдельные компоненты» выберите «C++ Universal Windows Platform tools for ARM64»

Установщик Visual Studio должен выглядеть так:

После установки, Вы можете начать работу над Вашим приложением:

5) Откройте проект C ++ в Visual Studio или создайте новый проект

6) Щелкните правой кнопкой мыши по Вашему Решению и выберите «Свойства», затем перейдите в «Свойства конфигурации» и выберите «Configuration Manager»

7) В разделе «Active solution platform»: выберите «<Создать...>» и назовите этот проект ARM64. Скопируйте настройки из «ARM» и проверьте все перед тем, как начать создавать новые проектные платформы

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

9) Затем сохраните все изменения

Теперь ARM64 будет доступна как конфигурация для проекта. Обратите внимание, что в настоящее время для ARM64 поддерживаются только отладочные сборки. Вы можете создать пакет для загрузки неопубликованных приложений или использовать удаленную отладку (см. Инструкции) для запуска приложения на ARM ПК под управлением Windows 10.

.NET Native инструкции для UWP приложений

Для создания UWP ARM64 приложений, которые основываются на .NET Native, начните с настройки Вашей среды разработки.

1) Загрузите последнюю версию Visual Studio с https://www.visualstudio.com/vs/preview/

2) Выберите нагрузку «Universal Windows Platform development»

3) Откройте Ваш проект или создайте новый. Обратите внимание: минимальная Target Platform версия должна быть как минимум «Windows 10 Fall Creators Update (Build 16299)»

4) Откройте файл проекта в Вашем любимом редакторе и добавьте группу свойств, ориентированную на ARM64. Вы можете скопировать уже существующую группу свойств, такую как Debug|ARM, и добавить некоторые изменения для ARM64 поддержки:

UseDotNetNativeToolchain свойство обязательно для включения инструментария .NET Native.

5) Сохраните файл проекта и перезагрузите его в Visual Studio

6) Щелкните правой кнопкой мыши по Вашему Решению и выберите «Свойства», затем перейдите в «Свойства конфигурации» и выберите «Configuration Manager»

7) В разделе «Active solution platform»: выберите «<Создать...>» и назовите этот проект ARM64. Скопируйте настройки из «ARM» и проверьте все перед тем, как начать создавать новые проектные платформы

8) Обновите последнюю версию ARM64 инструментария:

а. Щелкните правой кнопкой мыши по Вашему проекту и выберите «Manage NuGet Packages…».

б. Убедитесь, что включена опция «Include Prerelease»

с. Выберите пакет Microsoft.NETCore.UniversalWindowsPlatform

д. Обновитесь до следующей версии: 6.2.0-Preview1-26502-02

Теперь ARM64 будет доступна как конфигурация для проекта. Обратите внимание, что в настоящее время для ARM64 поддерживаются только отладочные сборки. Вы можете создать пакет для боковой загрузки или использовать удаленную отладку (см. Инструкции) для запуска приложения на ARM ПК под управлением Windows 10.

Инструкции для C ++ Win32 приложений

Visual Studio 15.8 Preview 1 также включает в себя начальный уровень поддержки для пересборки Ваших C ++ Win32 приложений в качестве ARM64 для запуска в Windows 10 на ARM.

1) Скачайте последнюю версию Visual Studio с https://www.visualstudio.com/vs/preview/

2) Выберите нагрузку «Desktop development with C ++»

3) В разделе «Individual Components» выберите «Visual C++ compilers and libraries for ARM64»

4) Откройте Ваш проект в Visual Studio или создайте новый

5) Щелкните правой кнопкой мыши по Вашему Решению и выберите «Свойства», затем перейдите в «Свойства конфигурации» и выберите «Configuration Manager»

6) В разделе «Active solution platform»: выберите «<Создать ...>» и назовите этот проект ARM64. Скопируйте настройки из «ARM» и проверьте все перед тем, как начать создавать новые проектные платформы

7) Сохраните все изменения

8) Откройте файл проекта в Вашем любимом редакторе. Укажите поддержку ARM64 в разделе <PropertyGroup Label=”Globals”>, добавив WindowsSDKDesktopARM64Support, как показано ниже:

 

9) Сохраните и перезагрузите проект

Теперь Вы сможете собирать проект в качестве ARM64, и либо использовать удаленную отладку на ARM ПК под управлением Windows 10, или копировать EXE файлы и запускать их напрямую.

Вы также можете использовать Desktop Bridge (см. Инструкции), чтобы упаковать встроенные двоичные ARM64 файлы в пакет Windows приложений, который можно установить на Windows 10 ARM ПК.

В заключении

Microsoft рады предоставить разработчикам возможность собирать отличные приложения, собранные изначально для оригинальной Windows 10 платформы, на платформу ARM.

Visual Studio 15.8 Preview 1 открывает для Вас ранний предварительный просмотр полной поддержки, которая будет выпущена позже в этом году. В будущем ожидается больше обновлений, перед тем как эти инструменты добавятся в официальный выпуск и будет добавлена возможность публиковать ARM64 пакеты в Microsoft Store.

Команда Microsoft надеется, что Вы испробуете эти инструменты и оцените их по достоинству. Если у Вас возникнут какие-либо трудности или вопросы, или Вы захотите поделиться Вашим мнением, перейдите на страницу Windows 10 ARM разработки - http://aka.ms/Win10onARM или оставьте Ваш комментарий ниже.

Источник




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

Новая доля дохода от Microsoft Store

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

Лучшая доля дохода для разработчиков

Уже в этом году потребительские приложения (не включая игры), проданные в Microsoft Store, предоставят разработчикам 95% дохода, полученного от приобретения Вашего приложения или от внутренних покупок в Вашем приложении, которые были осуществлены с помощью перехода по внешним гиперссылкам. В случае, если Microsoft поставляет Вам клиента посредством любого другого метода, например, из раздела Collections в Microsoft Store или любых других объектов, принадлежащих Microsoft, Вы получаете 85% дохода от покупки приобретения Вашего приложения или от внутренних покупок в нем.

Новая структура взимаемой платы применима к покупкам с Windows 10 компьютеров, Windows Mixed Reality, Windows Phone и Surface Hub, за исключением Xbox консолей.

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

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

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

Для каких приложений будет применяться новая структура взимаемой платы?

Новая структура будет применяться к любому потребительскому приложению, за исключением игр, которое опубликовано в Microsoft Store для ПК, Windows Mixed Reality, Windows Phone или Surface Hub.

Когда новая структура взимаемой платы вступает в силу?

Новая структура взимаемой платы вступает в силу уже в этом (2018) году. Microsoft предложит Вам принять новую версию App Developer Agreement, в котором будет подробно описана структура платы в Microsoft Store. Новая структура взимаемой платы будет применяться к покупкам, сделанным после даты, указанной в App Developer Agreement.

Будет ли новая структура взимаемой платы применяться к играм или игровым подпискам?

Нет, не будет. Новая структура взимаемой платы будет применяться только к потребительским приложениям для ПК, Windows Mixed Reality, Windows Phone или Surface Hub. Приложения, классифицированные как Игры в Microsoft Store, не будут применимы к новой структуре, даже если они доступны для этих устройств.

Как будет распространяться взимаемая плата за подписки и покупки внутри приложения в Microsoft Store?

Новая структура взимаемой платы будет применяться к не-игровым подпискам и покупкам внутри потребительских приложений. Плата, взимаемая с этих покупок, будет определяться тем, как пользователь первоначально приобрел приложение. Новая взимаемая плата в размере 5% будет применяться ко всем транзакциям на торговой платформе Microsoft, и если Ваш клиент использовал внешнюю гиперссылку для приобретения Вашего приложения, с Вас будет взиматься только 5% от его общей стоимости. Дополнительная 10% взимаемая плата будут применяться в том случае, если Microsoft поставляет Вам клиента посредством любых других методв, например, из раздела Collections в Microsoft Store или любых других разделов, принадлежащих Microsoft.

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

Будет ли новая структура взимаемой платы применяться к покупкам, сделанным в Microsoft Store for Business и Microsoft Store for Education?

Нет. Новая структура взимаемой платы будет распространяться только на частные приобретения потребительских приложений для ПК, Windows Mixed Reality, Windows Phone или Surface Hub. Если Вы разрешаете распространение Вашего приложения через организационное лицензирование в Microsoft Store for Business и / или Microsoft Store for Education, текущий налог в магазине будет продолжать применяться к этим покупкам.

Что касается приложений (не игр), которые доступны на Xbox?

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

Что касается приложений, которые доступны как в Microsoft Store for Windows 10 PC, так и в Microsoft Store for Xbox One?

Новая структура взимаемой платы будет применяться к приобретению не-игровых потребительских приложений частными лицами в Microsoft Store for Windows 10 PC (и других устройствах, упомянутых выше). Текущая структура платы останется прежней к приобретениям в Microsoft Store for Xbox One устройств.

Какой будет структура взимаемой платы для приложений, доступных для более ранних версий ОС (Windows 8.x и / или Windows Phone 8.x)?

Новая структура взимаемой платы будет также применяться к приложениям, доступным в Microsoft Store, для более ранних версий ОС (Windows 8.x и / или Windows Phone 8.x).






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 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.