在UWP应用中调用Windows 10 Feedback Hub发送用户反馈

我们的应用上架后,有非常多的途径可以让用户发送反馈,比如留下邮箱、商店评论,甚至自己写个API来收集反馈。但其实,Windows 10的Feedback Hub也是可以为我们所用的。

熟悉Windows Insider的朋友都知道,Windows 10安装完成后,系统自带一个Feedback Hub,这里面通常都是用户对Windows这一款产品的的反馈。其实,现在这个Feedback Hub也可以给开发者用来收集用户的意见。

那么,在UWP里如何调用这个Feedback Hub呢?首先,你需要安装微软官方的Engagement SDK,方法如下:

1. 在NuGet中为你工程安装这个包:Microsoft.Services.Store.Engagement

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

2. 如果你的工程Reference里没有出现"Microsoft Engagement SDK"字样,如下图,那就需要进行额外的一步手工操作。(很重要,这点官网文档里没有提)

方法是,编辑你的工程文件(csproj),在管理PackageReference的那个ItemGroup下面加入一项SDKReference,内容为:

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

保存工程文件,重启VS加载你的工程,应该就好了。

3. 在你的App里加入反馈链接

以MVVM模式的工程为例,XAML里加入一个HyperLink即可:

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

创建对应的Command属性

public RelayCommand CommandFeedback { get; set; }

具体Command的实现是

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

如果你的App需要target Build 14271以下的Windows 10的话,还需要判断一下SDK是否支持,可以用这个方法判断:

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

我的这个App因为已经target了Build 16299的系统,所以不需要加这个判断,现在已经可以跑了:

调用的Feedback Hub如下:

原文发布于微信公众号 - 汪宇杰博客(ediwangblog)

原文发表时间:2018-06-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券