After our app has been put on Microsoft Store, there are a lot of ways to get users to send feedback, such as email, store reviews, or even write our own API collect feedback. But in fact, Windows 10 Feedback Hub can also be used to send feedbacks for our own Apps.

Those who are familiar with Windows Insider know that when Windows 10 is installed, the system has a Feedback Hub, which is usually used for the user's feedback on the product of Windows itself. In fact, the feedback hub can also be used by developers to collect users ' opinions.

So, how do you call this feedback hub in UWP? First, you need to install the Microsoft Official engagement SDK as follows:

1. Install this package in NuGet:Microsoft.Services.Store.Engagement

PM> Install-Package Microsoft.Services.Store.Engagement

2. If the "Microsoft Engagement SDK" does not show up in the project' Reference, like this, it means you will need some manual steps to get it working. This is important and it is missing in the official document.

The way is to edit your project file (csproj) and add an SDKReference below the ItemGroup of the PackageReference, which is:

<SDKReference Include="Microsoft.Services.Store.Engagement, Version=10.0">
  <Name>Microsoft Engagement Framework</Name>
</SDKReference>

Save the project file and restart VS, you should be good to go.

3. Add a feedback link to your App

Take MVVM pattern as example, just add a HyperLinkButton in your XAML:

<HyperlinkButton Content="Feedback" Command="{Binding CommandFeedback}" />

And create the corresponding RelayCommand:

public RelayCommand CommandFeedback { get; set; }

The implement of this Command will be:

CommandFeedback = new RelayCommand(async () =>
{
    var launcher = Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.GetDefault();
    await launcher.LaunchAsync();
});

If your App needs to target Windows 10 below build 14271, you have to check if the SDK supports it first, by this method: 

Microsoft.Services.Store.Engagement.StoreServicesFeedbackLauncher.IsSupported()

Because my App is targeting system build 16299, so I don't have to check the SDK support, it can run directly now:

This is how the Feedback Hub is invoked: