2011-11-28 67 views
6

我正在编写一个WP7应用程序,并且我有代码要求用户每五次运行一次市场回顾,以指数形式返回,这样就不那么讨厌了。如果用户在我的“您想要查看”消息框上单击“确定”,我将启动审查任务,并且我存储该用户已经审查了该应用程序,因此我不再问。有没有办法检查用户是否真的评价过你的应用?

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

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

+0

我想象一下,好像是侵犯了隐私。只要听取他们的意见。谢谢 –

回答

3

不,MarketplaceReviewTask没有任何返回值的事件。大部分Launcher任务的情况。 Chooser任务有事件来收集信息。就像@willmel在评论中所说的那样,它看起来像是侵犯了隐私。

+0

感谢abhinav和@willmenl的回复。 – qhawk

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下载。

相关问题