【问题标题】:How to tell if the user already rated my UWP app?如何判断用户是否已经评价了我的 UWP 应用?
【发布时间】:2020-05-31 07:17:46
【问题描述】:

Windows 10 应用商店 UWP 应用可以使用StoreContext.RequestRateAndReviewAppAsync 函数,或者只是一个类似ms-windows-store://review/?ProductId=9WZDNCRFHVJL 的 URL,来显示应用的用户评分窗口:

我更喜欢 URL 方法,因为我可以通过 ShellExecute 方法简单地调用它。

但我的问题是如何确定用户是否已经对我的应用进行了评分,以便我不再显示该评分窗口?

【问题讨论】:

    标签: c++ uwp windows-store-apps windows-store


    【解决方案1】:

    很遗憾,这是不可能的,但它可能有一个很好的理由 - 如果开发人员能够以编程方式检查这一点,他们可以通过为评价应用程序的用户提供一些奖励/津贴来“欺骗系统”。

    【讨论】:

    • 不幸的是,据我所知,任何其他移动平台都是如此。您可以在本地存储标志,但它不适用于跨设备。漫游设置可以为您做到这一点,但它们显然会在未来的版本中被删除。
    • 真的吗?他们正在取消漫游配置文件吗?这是你的意思,还是我混淆了术语?
    【解决方案2】:

    目前还没有这样的 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 格式检索客户的评分和评论。更多详情可以参考这个document

    【讨论】:

    • 是的,但用户可以使用其 Microsoft 帐户在漫游配置文件未涵盖的完全不同的设备上安装应用程序。然后什么?当 MSFT 试图向开发人员隐藏它时,这真是太愚蠢了。因为功能在那里。 Store App 知道并使用它。那么是什么阻止我对它进行逆向工程并调用他们保密的同一个 API 端点呢?只是没有意义。更多的安全性 BS。
    • 评分不是需要限制的类型,允许用户多次评分。如果要限制评论,则需要手动实现该功能。如果使用不开启漫游数据,则只能考虑将数据存储在本地。
    • 如果你想获得这个功能,你可以去反馈中心(开始菜单->反馈中心)提交你的功能请求。
    • 不幸的是,漫游设置显然正在消失 :-( ...但请注意,其他平台也有同样的问题 - 您无法判断用户是否已经评分。
    • 您在哪里看到漫游设置被取消了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 2017-03-29
    相关资源
    最近更新 更多