有没有办法检查用户是否真的为您的应用评分?

时间:2011-11-28 00:11:20

标签: windows-phone-7

我正在编写一个WP7应用程序,我有代码要求用户每五次运行一次市场评论,并且指数退回,这样就不那么烦人了。如果用户在我的“您要查看”消息框中单击“确定”,我会启动审阅任务,并存储用户已审阅该应用程序,因此我不再询问。

var marketplaceReviewTask = new MarketplaceReviewTask();
marketplaceReviewTask.Show();
IsolatedStorageSettings.ApplicationSettings["HasReviewed"] = true;

然而,虽然可能他们确实对应用程序进行了评分,但实际上我并不是100%肯定他们做了。有没有办法检查当前用户是否真的写过评论? MarketplaceReviewTask()是否具有返回值?我找不到任何表明我能听的东西。

2 个答案:

答案 0 :(得分:3)

不,MarketplaceReviewTask没有任何返回值的事件。大多数Launcher任务的案例。 Chooser个任务有事件来收集信息。就像@willmel在评论中所说,它看起来像是对隐私的侵犯。

答案 1 :(得分:0)

如果用户之前已经对应用程序进行了评级,您可以创建一个本地检查的检查。看看下面的代码:

public void reviewfunction()
    {
        //For Windows phone 8 app
        var settings = IsolatedStorageSettings.ApplicationSettings;

        //For windows phone 8.1 app or universal app use the following line of code
        //var settings = Windows.Storage.ApplicationData.Current.LocalSettings;

        //set the app name
        string Appname = "My app";

        if (!settings.Contains("review"))
        {
            settings.Add("review", 1);
            settings.Add("rcheck", 0);
        }
        else
        {
            int no = Convert.ToInt32(settings["review"]);
            int check = Convert.ToInt32(settings["rcheck"]);
            no++;
            if ((no == 4 || no == 7 || no % 10 == 0) && check == 0)
            {
                settings["review"] = no;
                MessageBoxResult mm = MessageBox.Show("Thank you for using this application.\nWould you like to give some time to rate and review this application to help us improve", Appname, MessageBoxButton.OKCancel);
                if (mm == MessageBoxResult.OK)
                {
                    settings["rcheck"] = 1;
                    MarketplaceReviewTask rr = new MarketplaceReviewTask();
                    rr.Show();
                }
            }
            else
            {
                settings["review"] = no;
            }
        }
    }

希望这会对你有所帮助。源代码可以从here下载。