我正在编写一个WP7应用程序,我有代码要求用户每五次运行一次市场评论,并且指数退回,这样就不那么烦人了。如果用户在我的“您要查看”消息框中单击“确定”,我会启动审阅任务,并存储用户已审阅该应用程序,因此我不再询问。
var marketplaceReviewTask = new MarketplaceReviewTask();
marketplaceReviewTask.Show();
IsolatedStorageSettings.ApplicationSettings["HasReviewed"] = true;
然而,虽然可能他们确实对应用程序进行了评分,但实际上我并不是100%肯定他们做了。有没有办法检查当前用户是否真的写过评论? MarketplaceReviewTask()是否具有返回值?我找不到任何表明我能听的东西。
答案 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下载。