c++ - 如何判断用户是否已经评价了我的 UWP 应用?
问题描述
Windows 10 商店 UWP 应用程序可以使用StoreContext.RequestRateAndReviewAppAsync
函数,或者只是这样的 URLms-windows-store://review/?ProductId=9WZDNCRFHVJL
来显示应用程序的用户评分窗口:
我更喜欢 URL 方法,因为我可以简单地通过ShellExecute
方法调用它。
但我的问题是如何确定用户是否已经对我的应用进行了评分,以便我不再显示该评分窗口?
解决方案
目前没有这样的 api 可以直接判断用户是否已经对 UWP 应用程序进行了评分,但是您可以在应用程序中使用漫游数据,从而使您的应用程序的应用程序数据在多个设备之间保持同步。
如果用户对您的应用进行了评分,您可以在 RoamingSettings 中设置“是”,如果 RoamingSettings 中的值为“否”,您可以再次显示该评分窗口。您可以确定评分是否成功,例如在StoreContext.RequestRateAndReviewAppAsync
方法中,StoreRateAndReviewResult 类的ExtendedJsonData属性包含一个 JSON 格式的字符串,指示评分请求是否成功。通过 ExtendedJsonData 属性可以知道评分是否成功,然后在 RoamingSettings 中将值设置为“是”。
private async void Button_Click(object sender, RoutedEventArgs e)
{
ApplicationDataContainer RatingSettings = ApplicationData.Current.RoamingSettings;
//initialization
if (RatingSettings.Values["isRated"] == null)
{
RatingSettings.Values["isRated"] = "No";
}
var isRatedStr = RatingSettings.Values["isRated"].ToString();
if (isRatedStr == "No")
{
//display the rate windows
if (//if rated successfully)
{
RatingSettings.Values["isRated"] = "Yes";
}
}
}
或者,您可以使用商店分析 API 中的获取应用评分和获取应用评论方法以编程方式以 JSON 格式检索客户的评分和评论。更多详细信息,您可以参考此文档。
推荐阅读
- java - 泛型类:引用类型特定的方法
- android - 向左和向右增加相对布局宽度
- reactjs - 如何设计系统以在移动应用程序和 Web 上共享相同的内容?
- android - 如何使用 Groupie RecyclerView 删除项目
- pyspark - 带有参数的pyspark udf
- regex - 如何通过在 Hive 中添加冒号来拆分字符串?
- python - 对象检测标签映射项目'str'对象没有属性'item'
- vue.js - 使Vuetify v-data-table列按降序排序,然后按升序排序?
- javascript - 当我开始使用文件夹时,Chrome 扩展弹出窗口停止工作
- python - 使用 python 和 pylibdmtx 库通过网络摄像头解码 DM 代码